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

Funktion abschnittweise plotten(Föppl)

 

ichhabeeinefrage
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 25.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2012, 20:20     Titel: Funktion abschnittweise plotten(Föppl)
  Antworten mit Zitat      
Moin, ich weiß das Thema "abschnittweise eine funktion plotten" gibt es schon, allerdings kann ich damit nichts anfangen, da ich einfach noch zu neu bin. Ich bin aber gerne bereit zu lernen, bräuchte aber eine gute Erklärung zu meinem Problem. Ich muss eine Biegelinie ausrechnen und mache dies mithilfe von Föppl klammern. Für die, die damit vllt. jetzt gerade nichts anfangen können: Die klammern mit dem (x-"irgend ne zahl") wird erst ausgewertet, wenn sie 0< ist. Um das zu plotten habe ich nun die Funktion einfach mehrmals geplottet und immer einen Therm dann dazu geschrieben. Nun ist es sehr unpraktisch das aneinander zu kopieren(die verschiedenen Graphicken) und ich bin auch nicht sehr zufrieden mit solchen "unschönen" lösungen!
Also hier meine Funktion und wie ich es immer gemacht habe.
Code:

x=1100:1:1200;
w= ((1521/6)*x.^3+(13793/6)*(x-100).^3-(13957/6)*(x-200).^3-(27094/6)*(x-1000).^3+(26906/6)*(x-1100).^3-(520/28800)*x.^4+c*x)*4/(210000*pi*40.^4);
>> plot(x,w)
 

Mit freundlichen Grüßen
Private Nachricht senden Benutzer-Profile anzeigen


dmjr
Forum-Century

Forum-Century


Beiträge: 199
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2012, 20:42     Titel:
  Antworten mit Zitat      
Grundsätzlich:

Du hast deine Abschnitte:
Code:
x1=1:20
x2=21:99
x3=100:200

Dann rechnest du für die jeweiligen Abschnitte die Funktion aus:
Code:
y1=x1.*2
y2=x2.^2
y3=x3.^4

Dann noch die jeweiligen Abschnitte zusammenführen und plotten
Code:
x=[x1 x2 x3]
y=[y1 y2 y3]
plot(x,y)

Musst nur noch deine Funktionen und Bereiche einfügen.
Private Nachricht senden Benutzer-Profile anzeigen
 
ichhabeeinefrage
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 25.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2012, 20:56     Titel: aha ok
  Antworten mit Zitat      
Schon mal vielen Dank für die schnelle Antwort.
Also ich mache folgendes:
Code:

x1=0:1:1200;
x2=100:1:200;
x3=200:1:1000;
x4=1000:1:1100;
x5=1100:1:1200;
 

meine Funktion sieht dann so aus
Code:

w= ((1521/6)*x1.^3+(13793/6)*(x2-100).^3-(13957/6)*(x3-200).^3-(27094/6)*(x4-1000).^3+(26906/6)*(x5-1100).^3-(520/28800)*x1.^4+c*x1)*4/(210000*pi*40.^4);
 

So ich habe das Prinzip noch nicht ganz verstanden. Die Terme mit x1 müssen immer mit geplottet werden in den jeweiligen Abschnitten, weil die von 0-1200 mit durchlaufen. Passiert das hier wirklich?
außerdem bekomme ich folgende Fehlermeldung:
Error using +
Matrix dimensions must agree.
Das versteh ich schon ein Mal garnicht, da ich doch nur die Variablennamen geändert habe. Ich hoffe ihr könnt mir helfen! Smile

Mit freundlichen Grüßen
Private Nachricht senden Benutzer-Profile anzeigen
 
dmjr
Forum-Century

Forum-Century


Beiträge: 199
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2012, 21:00     Titel:
  Antworten mit Zitat      
ich dachte das w ist nur die Definition für einen Abschnitt.

Wie sieht deine Funktion denn aus?
Private Nachricht senden Benutzer-Profile anzeigen
 
ichhabeeinefrage
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 25.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2012, 21:05     Titel:
  Antworten mit Zitat      
Naja meine Funktion ist w.Smile also:
Code:

w= ((1521/6)*x.^3+(13793/6)*(x-100).^3-(13957/6)*(x-200).^3-(27094/6)*(x-1000).^3+(26906/6)*(x-1100).^3-(520/28800)*x.^4+c*x)*4/(210000*pi*40.^4);
 

und die einzelnen Abschnitte wären:
1.
Code:

>> x=0:1:100;
w= ((1521/6)*x.^3-(520/28800)*x.^4+c*x)*4/(210000*pi*40.^4);
 

2.
Code:

x=100:1:200;
>> w= ((1521/6)*x.^3+(13793/6)*(x-100).^3-(520/28800)*x.^4+c*x)*4/(210000*pi*40.^4);
 

3.
Code:

>> x=200:1:1000;
>> w= ((1521/6)*x.^3+(13793/6)*(x-100).^3-(13957/6)*(x-200).^3-(520/28800)*x.^4+c*x)*4/(210000*pi*40.^4);
 

4.
Code:

>> x=1000:1:1100;
>> w= ((1521/6)*x.^3+(13793/6)*(x-100).^3-(13957/6)*(x-200).^3-(27094/6)*(x-1000).^3-(520/28800)*x.^4+c*x)*4/(210000*pi*40.^4);
 

5.
Code:

>> x=1100:1:1200;
>> w= ((1521/6)*x.^3+(13793/6)*(x-100).^3-(13957/6)*(x-200).^3-(27094/6)*(x-1000).^3+(26906/6)*(x-1100)^3-(520/28800)*x.^4+c*x)*4/(210000*pi*40.^4);
 


Sorry das ich mich so schlecht ausgedrückt habe.
Private Nachricht senden Benutzer-Profile anzeigen
 
dmjr
Forum-Century

Forum-Century


Beiträge: 199
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2012, 21:19     Titel:
  Antworten mit Zitat      
Code:

 x1=0:1:100;
w1= ((1521/6)*x1.^3-(520/28800)*x1.^4+c*x1)*4/(210000*pi*40.^4);

x2=100:1:200;
 w2= ((1521/6)*x2.^3+(13793/6)*(x2-100).^3-(520/28800)*x2.^4+c*x2)*4/(210000*pi*40.^4);

 x3=200:1:1000;
 w3= ((1521/6)*x3.^3+(13793/6)*(x3-100).^3-(13957/6)*(x3-200).^3-(520/28800)*x3.^4+c*x3)*4/(210000*pi*40.^4);

x4=1000:1:1100;
w4= ((1521/6)*x4.^3+(13793/6)*(x4-100).^3-(13957/6)*(x4-200).^3-(27094/6)*(x4-1000).^3-(520/28800)*x4.^4+c*x4)*4/(210000*pi*40.^4);

x5=1100:1:1200;
w5= ((1521/6)*x5.^3+(13793/6)*(x5-100).^3-(13957/6)*(x5-200).^3-(27094/6)*(x5-1000).^3+(26906/6)*(x5-1100)^3-(520/28800)*x5.^4+c*x5)*4/(210000*pi*40.^4);

x=[x1 x2 x3 x4 x5];
w=[w1 w2 w3 w4 w5];
plot (x,w)
 


Ich glaube jetzt solltest du das Muster verstanden haben Wink

Ach und w5 enthält noch nen Fehler so wie du es geschrieben hast:
w5= ((1521/6)*x5.^3+(13793/6)*(x5-100).^3-(13957/6)*(x5-200).^3-(27094/6)*(x5-1000).^3+(26906/6)*(x5-1100).^3-(520/28800)*x5.^4+c*x5)*4/(210000*pi*40.^4);
Private Nachricht senden Benutzer-Profile anzeigen
 
ichhabeeinefrage
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 25.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2012, 21:28     Titel: Vielen Dank
  Antworten mit Zitat      
Jaa. super dankeschön!!! Smile
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.