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

Probleme bei der graphischen Darstellung einer stem Funktion

 

Evlovesletters
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 12.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.11.2011, 17:03     Titel: Probleme bei der graphischen Darstellung einer stem Funktion
  Antworten mit Zitat      
Liebes Forumsteam,

bin neu hier und absoluter Anfänger in MATLAB!

die Aufgabe ist das Integral für die Berechnung der komplexen Fourierkoeffzienten numerisch über Approximation zu bestimmen (Rechtecke)

Ich bin mittlerweile so "weit" gekommen und immer wenn ich für mu=-5 ein stem "plotten" will kommt diese Fehlermeldung. Ich weiß nicht ob es an der falschen Berechnung von cmu liegt aber eogentlich müsste die Länge von cmu=1=Länge Reihen von Y sein?


Code:

EDU» U0 = 2;  %Maximalwert
tp = 0.1;  %Periodendauer
f0 = 1 / tp;  
N = 200; %200 Werte werden ausgerechnet
ta = tp / N; %zeitlicher Abstand, delta x
t = (-N/2:1:N/2-1) * ta;
u = U0 - U0 * 4 / tp^2 * t.^2; %das Signal was periodisch fortgesetzt wird
plot(t,u);
EDU» syms mu;%definieren einer unbekannten Variable mu
EDU» f=u.*exp(-i.*2.*pi.*f0.*mu.*t);% definieren der Funktion über die integriert wird
EDU» summe=0;
EDU» for t=-(tp/2):0.005:(tp/2), summe=summe+ta*f;  end %Approximation des Integrals
EDU» mu=-5;
EDU» cmu=(1/tp)*summe; %Berechnung des cmus für mu=-5
EDU» stem(mu,cmu); % und an dieser Stelle kommt immer diesselbe Fehlermeldung
??? Error using ==> stem
The length of X must match the number of rows of Y.
 



Wisst ihr wo der Fehler, bzw. die Fehler liegen könnten?

Liebe Grüße

Eva
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

die Fehlermeldung ist da ja recht eindeutig.
Ein Blick in den Workspace Browser zeigt, dass mu ein Skalar ist und cmu ein 1x200 - Vektor; das kann also nicht klappen.

Ich habe zudem Zweifel, dass das Programm das macht, was du dir vorstellst:
- t vor der for-Schleife definiert und als Laufvariable
- mu erst als symbolische Variable definiert, dann als -5

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

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 12.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.11.2011, 17:54     Titel:
  Antworten mit Zitat      
allo Harald,

erstmal vielen Dank für deine Antwort,

das Problem, was ich hab ist ja, dass ich Rechtecke von -tp/2 bis tp/2 berechnen möchte! Ich könnte mir natürlich überlegen wieviele "n's" das sind. Wenn ich n als Laufvariable für die for-Schleife nehmen würde

also
Code:
summe=0;
t=0;
for N=1:1:(wieviele auch immer es sind)
    summe=summe+2*ta*f; (2 mal wegen Achsensymmetrie)
    t=t+ta
end


Ist die Summe jetzt ein Skalar? Wenn nicht wie bekomme ich hin, dass sie ein Skalar wird? Ich hatte ja schon das N=200 auf 11 herabegsetzt und mu als Vektor definiert von (-5:1:5) aber dann hat die Multiplikation nicht mehr geklappt... trotz gleicher Anzahl der Zeilen der Vektoren...

das Problem was ich noch habe... wie kann ich ein Integral mit imaginärem Anteil numerisch über Rechtecke annähern. Das ergibt doch keinen Sinn!

Was ich vorhatte, war das mu als unbekannte Variable zu definieren und dann für ganze Zahlen von -5<=mu<=5 die cmus auszurechnen.
Wie kann ich das anders machen?

Viele Grüße Eva
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 - 2024 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.