Matlab plot < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Hallo an Alle,
ich möchte gern mit Matlab folg. Funktion plotten:
f(x)=0 für x=0 und f(x)=x*sin(1/x) für [mm] x\not= [/mm] 0
f soll für alle x auswertbar sein und auf dem Intervall [-1,1] definiert werden.
Wenn ich versuche die Funktion auf übliche Art und Weise versuche zu definieren, kommt er mit der Division nicht klar und meckert irgendwie an den Dimensionen herum. Ansonsten würde ich da eine if-Schleife machen.
Kann mir jemand helfen bitte?
VG mathmetzsch
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 08:18 Fr 11.11.2005 | Autor: | Loddar |
Hallo mathmetzsch!
Leider konnte Dir keiner hier mit Deinem Problem in der von Dir vorgegebenen Zeit weiterhelfen.
Vielleicht hast Du ja beim nächsten Mal mehr Glück .
Gruß
Loddar
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 13:53 Fr 10.02.2006 | Autor: | dormant |
So geht's:
x=-1:0.000051:1;
y= x.*sin(1./x);
plot(x,y);
Die Fehlermeldung wegen der Dimension taucht bei dir wahrscheinlich auf, weil du den Punkt vor das Produkt- und Divisionziechen gesetzt hast (help times).
Wenn man nicht durch 0 dividieren will (was in Matlab nicht so wild ist, da kriegt man ja nur eine Warnung, die man auschalten kann, sonst funktioniert's... beim plot jedenfalls), läßt man einfacht nicht zu, dass x null wird, sonder sehr klein (in dem fall ist mein "Nullwert" gleich -4.3e-005
, was schon für einen plot i.d.R. OK ist). Wenn man nämlich x=-1:0.00005:1; definiert (also x darf null sein) funktionierts ebenfalls.
|
|
|
|