|
IchbinSinus |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.04.2011, 19:35
Titel: Sinusfunktion
|
 |
|
 |
|
Also folgende Aufgabe bereitet mir etwas Bauchschmerzen:
Es soll die Berechnung und Darstellung der Sinusfunktion für variable Intervalle dargestellt werden.
Dabei soll eine der Intervallgrenze stets den Wert 0 aufweisen und die zweite Intervallgrenze durch den Bernutzer vorgegeben werden können (:O)
Intervalle : a) [-2pi,0]
b) [0,8]
Konkret lautet die Aufgabe: Erstellen Sie einen Funktionskopf (?!?!?) der es erlaubt, die zweite Intervallgrenze als Funktionsparameter vorzugeben.
Funktion soll keinen Rückgabeparameter (!?!?!?!) besitzen.
So jetzt habe ich die datei sinusPlot.m erstellt und folgendes für b) eingetippt
x=[0:0.02:2*pi];
y=sin(x);
plot(x,y);
grid on
soo.. das stimmt ja auch soweit, oder? nur wenn ich meinen Graphen mit dem Graphen auf den Übungsblatt vergleiche sehe ich z.b. dass bei mir die x-achse nur bis 7 geht... auf dem zettel jedoch bis 8 .. wie kann ich das verbessern?
Würde mein lösungsansatz den forderungen schon entsprechen ? nein oder.. bitte helfenn :S
|
|
|
|
|
dani |

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 03.01.11
|
 |
|
 |
Wohnort: Wernberg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.04.2011, 19:49
Titel:
|
 |
Hallo,
ein Funktionskopf bedeutet vermutlich, dass du deinen code als funktion aufrufst, und der funktion einen parameter übergibst (in deinem fall bei Aufgabe b ist es der Wert 8.
Die funktion könnte so aussehen:
diese musst du dann abspeichern unter dem namen sinus.m
wenn du dann in deinem skript oder cammand window folgendes ausrufst:
führt er dir die funktion aus, plottet sie, gibt aber keinen wert zurück (kein rückgabeparameter).
Das Problem mit dem plotten war: er hat deshalb nicht 8 als letzten Wert auf der x-Achse geschrieben weil du nicht 8 sondern 2pi als intervallgrenze eingegeben hast.
Ich hoffe das hilft, lg dani
|
|
|
IchbinSinus |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.04.2011, 20:04
Titel:
|
 |
okay.. jetzt mal langsam
Wir sollten die sinusfunktionen in den intervallen jedoch als sinPlot darstellen...das steht in der Aufgabenstellung...
und das macht bestimmt ein unterschied wenn ich jetzt nur sin.m hab oder sinPlot ?? stimmts?
2. wenn ich dein code eingebe tut sich bei mir nachdem ich sinus( oder nur sinus eingebe gar nichts...
kannst du mir noch weiter helfen?
|
|
|
dani |

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 03.01.11
|
 |
|
 |
Wohnort: Wernberg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.04.2011, 20:28
Titel:
|
 |
Hallo,
ich weiß nicht genau was ein sinplot ist.
es ist auch egal unter welchen namen du deine funktion speicherst.
ich hab es eben so gemacht dass ich ein file namens sinus.m gespeichert habe, in welchem genau das drin steht (und sonst nichts!):
und dann kannst du vom commandwindow deine funktion aufrufen indem du
oder statt 8 auch eine beliebig andere zahl eintippst, diese dann deiner oberen intervallgranze entspricht.
Dann plottet matlab. (vielleicht hast du nur nichts gesehen, da matlab keine neue figure aufgemacht hat, dies kannst du ändern indem du vorher figure schreibst (siehe code).
Ich hoffe du verstehst meine Erläuterung, anders kann ich es momantan nicht erklären, ansonsten musst du bitte deine frage umformulieren
LG dani
PS: vielleicht hilft dir ja die datei weiter
Beschreibung: |
|
 Download |
Dateiname: |
sinus.m |
Dateigröße: |
74 Bytes |
Heruntergeladen: |
544 mal |
|
|
|
IchbinSinus |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.04.2011, 20:54
Titel:
|
 |
Vielen dank.. das klappt..
müsste ich für
a) [-2pi,0]
folgendes schreiben?
function sinus(a)
x=[-2*pi:0.02:a];
y=sin(x);
figure,
plot(x,y);
grid on
wäre das so richtig?
|
|
|
dani |

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 03.01.11
|
 |
|
 |
Wohnort: Wernberg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.04.2011, 21:33
Titel:
|
 |
Kommt darauf an was du machen willst.
wenn du die obere intervallgranze ändern willst, dann ja.
Willst du aber die untere Intervallgrenze variabel machen, sieht das so aus:
wenn du beide Intervallgranzen mit Funktionsaufruf ändern willst, sieht das so aus:
und dann beim Aufruf der Funktion:
Viel Spaß noch!
|
|
|
IchbinSinus |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.04.2011, 21:54
Titel:
|
 |
|
 |
|
in der aufgabenstellung stand ja explizit die zweite intervallgrenze, d.h. meins wäre so richtig.. ok vielen dank..
leider ist die aufgabe immer noch nicht fertig und ich wäre weiterhin für jegliche hilfe sehr dankbar..
es solle folgende aufgaben in die funktion implementiert werden:
erstellung eines vektors mit 10.000 elementen, dessen werte im intervall [0,range] bzw. [range,0] liegen, wobei range die vorgegebene intervallgrenze ist
daher dachte ich mir:
x= linspace(0, a, 10000)
y= linspace(a,0,10000)
jedoch bekomme ich aufgrund der variablen a eine fehlermeldung-.-
ich soll jetzt zu diesem vektor dann die zugehörige sinuskurve berechnen
würde es da ausreichen sin (x) z.b. einzugeben?
weiterhin:
Stellen sie die Sinuskurve grafisch dar.
und dann kommt das wieder mit dem Plot -.-
Führen Sie die Funktion sinusPlot unter Verwendung unterschiedlicher negativer und positiver Intervallgrenzen aus dem Command Window aus.
Überprüfen Sie die korrekte FUnktionsweise der Funktion sinusPlot anhand der erstellten Plots.
Wir haben nie was mit diesem Plot gemacht.. ist unsers jetzt falsch
|
|
|
dani |

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 03.01.11
|
 |
|
 |
Wohnort: Wernberg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.04.2011, 22:17
Titel:
|
 |
Mit sinusPlot bezeichnet der Auftraggeber der Übung nur die Funktion, die ich sinus genannt habe. Bezeichnung ist ja irrelevant.
Für die Aufgabe b) stimmt diese Variante, denn Intervall soll von Null bis variabel gehen
Und für Aufgabe a) diese (untere Intervallgrenze veränderlich [range 0]):
und der Rest der funktion bis auf die Zeile der Erstellung des x-Vektors ist ident.
Bezüglich der Fehlermeldung, keine Anhnugn welche.
Bitt immer relevanten Code dazu mitschicken.
lg
|
|
|
IchbinSinus |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.04.2011, 22:45
Titel:
|
 |
Also wenn ich das so eintippe
folgt:
x= linspace(0, a, 10000)
??? Undefined function or variable 'a'.
was mach ich denn falsch ...
und wenn a negativ ist kann ich dann einfach -a schreiben?
|
|
|
IchbinSinus |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.04.2011, 23:05
Titel:
|
 |
Ich hab jetzt folgendes gemacht
function sinus(a)
x= linspace (0, a , 10000);
y= sin(x);
figure,
plot(x,y);
grid on
wäre das so richtig?
da steht jedoch dass ich zum vektor x die zugehörige sinuskurve berechnen soll mit dem Befehl sin ?..
was ist damit gemeint? wertetabelle oder wie?
wie tippt man das ein
|
|
|
dani |

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 03.01.11
|
 |
|
 |
Wohnort: Wernberg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.04.2011, 00:09
Titel:
|
 |
ja, du kannnst -a schreiben, wenn du dann für a eine positive zahl im funktionsaufrauf eingibst.
y=sin(x)
ist die sinuskurve die zum Vektor x gehört.
für die funktion mit der unteren Intervallgranze variabel und der oberen Intervallgrenze 0 kannst du auch
x= linspace( -a, 0, 10000);
schreiben, wenn du dann beim Funktionsuafruf sinus(a) für a eine positive zahl einsetzt.
lg
|
|
|
IchbinSinus |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.04.2011, 14:37
Titel:
|
 |
irgendwie bin ich nicht weitergekommen
hab jetzt geschrieben
dann kommt die fehlermeldung:
??? Undefined function or method sinus for input arguments of type double.
langsam blicke ich bei der aufgabe gar nicht mehr durch ..
es sollte ja noch mit dem befehl sin die sinuskurve berechnet werde?!?!?
wenn ich sin( z.b. eintippe in command window dann liefert der mir ein wert.. aber das ist bestimmt nicht gemeint oder ...
Edit by _Peter_: Bitte Codeumgebung benutzen. Danke.
|
|
|
IchbinSinus |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.04.2011, 15:09
Titel:
|
 |
Okay ich habs..
jedoch weiß ich immer noch nicht was mit der Berechnung der sinuskurve gemeint ist.., ist das das was ich gemacht habe? :S
|
|
|
dani |

Forum-Anfänger
|
 |
Beiträge: 27
|
 |
|
 |
Anmeldedatum: 03.01.11
|
 |
|
 |
Wohnort: Wernberg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.04.2011, 19:07
Titel:
|
 |
Wenn du den sinus für einen bestimmten Wert berechnest, dann liefert Matlab dir nur einern Wert. Das ist dann die Amplitude die dein sinus hat (wie du's ja im plot siehst) für genau diesen Wert auf der x-Achse (in radiant).
Wenn du der Funktion sin jedoch einen Vektor übergibst (was du ja getan hast), dann bekommst du auch einen Vektor mit Funktionswerten (Y-Achse) , d.h. einen Wert für jeden X-wert den du übergeben hast zurück.
Und somit hast du eine Sinuskurve, die in einem gewissen Bereich definiert sein soll (z.B [0 2*pi]) berechnet.
lg Dani
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|