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

Gebrochen-rationale Funktion plotten

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.11.2012, 18:40     Titel: Gebrochen-rationale Funktion plotten
  Antworten mit Zitat      
Hallo!

Ich bin noch MatLab-Anfänger.

Ich will die Funktion f(x)=((x^4 - x^2 - 4x)/(x^2 - 2x - 2)) plotten.

Welche Befehle muss ich verwenden?
Und muss ich bei gebrochen-rationalen Funktionen irgendwas besonderes beachten?

Danke schon mal!


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.11.2012, 19:52     Titel:
  Antworten mit Zitat      
Hallo,

eine Möglichkeit:

Code:
x = ...;
y = ...;
plot(x,y)


Du definierst also zunächst einen Bereich von x-Werten und berechnest dann die zugehörigen y-Werte. Dabei ist es wichtig, elementweise Operationen (.* ./ .^) statt den entsprechenden Matrixoperationen zu verwenden.

Alternative:
ezplot (aus der Symbolic Math Toolbox)

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.11.2012, 21:54     Titel:
  Antworten mit Zitat      
Das habe ich mal so eingegeben:

>> x=-100:0.1:100;
>> y=((x.^4 - x.^2 - 4*x) ./ (x.^2 - 2*x - 2));
>> plot(x,y)

Aber mir wird nicht der richtige Graph angezeigt.

Im Anhang ist ein Bild von dem Graphen, den mir MatLab anzeigt.

untitled.jpg
 Beschreibung:

Download
 Dateiname:  untitled.jpg
 Dateigröße:  16.86 KB
 Heruntergeladen:  762 mal
 
dmjr
Forum-Century

Forum-Century


Beiträge: 199
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.11.2012, 22:28     Titel:
  Antworten mit Zitat      
Der Code ist korrekt, was ist falsch an dem Graph?
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 04.11.2012, 22:57     Titel:
  Antworten mit Zitat      
Hallo,

Du kannst Dir ziemlich sicher sein, dass der Graph korrekt ist. Oder vermutest Du, dass Matlab sich verrechnet?
Wenn man betragsmäßig große Zahlen betrachtet, dominiert offensichtlich der quadratische Term und die Kurve nähert sich einer Parabel an.
Interessant ist wohl das Verhalten bei kleinen Werten:
Code:
x=-10:0.1:10;  % Statt -100 bis 100
y=((x.^4 - x.^2 - 4*x) ./ (x.^2 - 2*x - 2));
plot(x,y)

Ein Ratschlag: Immer wenn man im Forum "nicht richtig" oder "funktioniert nicht" schreibt, sind detailierte Erklärungen unabdingbar. Das Forum kann gut Probleme lösen, ist aber wirklich schlecht darin zu erraten, was genau die Probleme sind.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.11.2012, 23:17     Titel:
  Antworten mit Zitat      
Hallo,

ich kann mir vorstellen, dass das Problem für dich darin liegt, dass Definitionslücken nicht erkannt werden. Es werden eben nur die berechneten Punkte mit Geradenstücken verbunden.
Zwei Möglichkeiten:
- stückweise mit feinerer Auflösung plotten, ohne dass über Definitionslücken hinweg gegangen wird
- ezplot
Code:
syms x
ezplot(((x^4 - x^2 - 4*x)/(x^2 - 2*x - 2)))


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.11.2012, 23:58     Titel:
  Antworten mit Zitat      
Ok danke für die Ratschläge.

Ich glaube ich habe jetzt erkannt, wo mein Problem lag. Und zwar Habe ich erwartet, dass die Definitionslücken deutlicher zu sehen seien. Mit dem Befehl ezplot sieht das ganze schon eher nach dem aus, was ich erwartet habe.
 
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.