WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Möchte zwei funktionen ploten

 

int*ptr
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 01.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.05.2011, 23:25     Titel: Möchte zwei funktionen ploten
  Antworten mit Zitat      
Hallo,

ich habe hier eine aufgabe an der ich dran bin und zwar soll ich zwei funktionen ploten in einem intervall von (.955 bis 1.005)

Der Code und die funktionen f(x) und g(x) sind folgende:

Code:

hold on

x= linspace(.995,1.005,100);
n= length(x);

for k=1:n

 fx= (1-x(k))^6;
 gx= (x(k)^6)-(6*x(k)^5)+(15*x(k)^4)-(20*x(k)^3)+(15*x(k)^2)-(6*x(k)+1);

 plot(fx);
 
 pause
end

hold off



 


nun möchte ich das beide Funktionen auf einem Fenster oder ggf auch die andere Funktion in einem weiteren Fenster geöffnet wird.

Ich habes mit zwei plot befehlen und figure schon ausprobiert, jedoch bekomme ich für jeden durchlauf der for schleife ein neues plot fenster angezeigt, was nicht mein Ziel war.

Könnt ihr mir da anregungen geben ?

gruß.
Private Nachricht senden Benutzer-Profile anzeigen


Micha85

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.05.2011, 07:55     Titel:
  Antworten mit Zitat      
Lass die Schleife weg, die braucht man nicht.
Das Ganze könnte so aussehen:

Code:

x= linspace(.995,1.005,100);
fx= (1-x).^6;
gx= (x.^6)-(6*x.^5)+(15*x.^4)-(20*x.^3)+(15*x.^2)-(6*x+1);

plot(x, fx, '-b', x, gx, '-r')
 


Die Punkte im Code stehen für elementweise Operationen von Vektoren. Schau Dir die Ergebnisse mal an. Ich bin mir nicht sicher ob das alles stimmt.

Grüße
Micha
 
Ajax
Forum-Century

Forum-Century


Beiträge: 176
Anmeldedatum: 09.09.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.05.2011, 10:00     Titel:
  Antworten mit Zitat      
Du könntest theoretisch mit
Code:

arbeiten. Aber das ist sicher keine gute Wahl.
Du überschreibst in jedem Durchgang deine Variablen fx und gx. Daher bekommst du beim plotten auch nur einen Punkte angezeigt. Da du die Funktionen willst, solltest du fx(n) = ... und gx(n) = ... verwenden und einmal den plot Befehl nach der Schleife aufrufen. Aber auch das ist nicht optimal, die Schleife ist trotzdem noch sehr langsam. Daher würde ich dir raten den Code von Micha85 noch einmal durch zu gehen und diesen zu verwenden.
mfg
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.