syms x y
z1=@(x,y)(sqrt(x^2-2*x*y));
Abl1x=diff(z1,x);
Abl2x=diff(z1,x,2);
Abl1y=diff(z1,y);
Abl2y=diff(z1,y,2);
Ablxy=diff(diff(z1,x),y);
fprintf('%f',Abl1x)
Disp hatte ich auch probiert, jedoch weiß ich nicht, wie ich gleichzeitig Text und den Wert mehrerer Variablen mit disp ausgeben kann, in der Hilfe und bei doc hab ich nicht viel dazu gefunden.
Ich möchte nämlich Abl1x, Abl2x, Abl1y, Abl2y und Ablxy auf den Bildschirm ausgeben, aber am besten alles mit einem disp Befehl und nicht mit mehreren.
Ah, danke! Genau das habe ich gesucht und gemeint
Allerdings habe ich noch ein kleines Problem. Und zwar zeigt er ein Ergebnis an, obwohl er das gar nicht anzeigen sollte und ich weiß nicht, wieso...
syms x y
z1=sqrt(x^2-2*x*y);
Abl1x=diff(z1,x);
fprintf('Erste Ableitung in Abhängigkeit von x ist: %s\n\n',char(Abl1x))
Abl2x=diff(z1,x,2);
fprintf('Zweite Ableitung in Abhängigkeit von x ist: %s\n\n',char(Abl2x))
Abl1y=diff(z1,y);
fprintf('Erste Ableitung in Abhängigkeit von y ist: %s\n\n',char(Abl1y))
Abl2y=diff(z1,y,2);
fprintf('Zweite Ableitung in Abhängigkeit von y ist: %s\n\n',char(Abl2y))
Ablxy=diff(diff(z1,x),y);
fprintf('Die gemischte Ableitung in Abhängigkeit von x und y: %s\n\n',char(Ablxy))
Das Semikolon hab ich gesetzt, wo es gesetzt werden muss. Aber das Ergebnis wird immer noch ausgegeben. Komischerweise immer das Ergebnis von der 1. Ableitung. Und was meinst du mit keine Argumente zurückgeben?
Also am Semikolon hats nicht gelegen, es lag tatsächlich an den Rückgabeargumenten. Hatte ich die ausgeblendet, zeigte er mir keine doppelten Ergebnisse an. Komisch war nur, dass Matlab mir nur die ersten Ableitungen nach x, y und z angezeigt hatte. Aber okay, die Wege Matlabs sind manchmal unergründlich
Auf jeden Fall funktioniert das jetzt so wie ich wollte, danke für deine Hilfe Harald
Nur noch ne kurze Frage hintenran, kann ich in Matlab ein Boolean Vergleich (Wahr und Falsch) zwischen zwei Werten machen und das dann ausgeben?
Dazu hab ich in den Tuts nicht viel gefunden, nur alles mit while, if oder switch...
Alles klar! Ich habs gleich mit strcmp versucht und es hat geklappt!
=> strcmp(DeltaU,'0')
Und das Ergebnis ist 0, klasse ^^
So und jetzt hab ich noch ne andere klitzekleine Frage zum verschönern des Textes aus fprintf, kann ich die Textfarbe irgendwie ändern?
Ich suche seit einer halben Stunde im Netz, aber ich finde nichts was mir weiterhilft. Anscheinend gabs mal sowas wie cprintf, aber das funktioniert bei mir gar nicht, Matlab kennt den Befehl bei mir gar nicht.
Und mit fprintf(2,'Text') kann ich die Textfarbe nur in rot ändern, aber das wars auch schon...gibts da noch andere Möglichkeiten, wie ich den Text andersfarbig ausgeben könnte?
Ausser fprintf(2, 'Hello') ist in Matlab eine Änderung der Text-Farbe nicht vorgesehen. Yair Altman hat in den FileExchange-Seiten von MathWorks "cprintf" veröffentlicht, mit dem man es trotzdem hinbekommt. Von dort kannst Du es herunterladen.
Schade! Dass mit cprintf hatte ich inzwischen auch gefunden, allerdings ist das ja ein riesen Skript, wenn man bedenkt, dass ich "nur" die Textfarbe ändern möchte ^^
Und "cprintf" kennt mein Matlab nicht, was etwas komisch ist, aber okay.
Aber Danke erstmal.
Wenigstens funktioniert jetzt alles.
Und "cprintf" kennt mein Matlab nicht, was etwas komisch ist, aber okay.
Hast Du cprintf.m runtergeladen und in einem Ordner gespeichert, der im Matlab PATH enthalten ist?
Ist die Tatsache, dass CPRINTF groß ist, irgendwie nachteilig?
^^ nein, cprintf.m hab ich noch nicht runtergeladen, hatte aber mal einen Blick drauf geworfen. Und dafür, dass es eigentlich nur die Farbe des ausgegebenen Textes ändern soll fand ich das Skript ziemlich lang. Aber ich finde das nicht nachteilig, ich hab mich nur gewundert, das ist alles
Und mit "cprintf kennt mein Matlab nicht" sollte nur bedeuten, als ich "cprintf" als Befehl eingegeben hatte, kam eine Fehlermeldung, dass Matlab "cprintf" nicht kennt. Ich hatte in einem anderen Forum mal gelesen, dass man cprintf verwenden sollte, von daher war ich nur etwas überrascht, dass das nicht funktionierte.
Grüße
Ovid
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.