goMatlab - Mein MATLAB Forum

Mein MATLAB Forum

 
Login  | Registrieren
Bücher:

Automatisierungstechnik

Studierende:
Schöner als Fliegen - Programmierung eines Prüfstands für ein Ortungssystem
Technische Dienstleistungen
IPH - Institut für Integrierte Produktion Hannover gemeinnützige GmbH - Hannover

Studentische Aushilfe modellgetriebene Softwareentwicklung
Solartechnik
SMA Solar Technology AG - Niestetal

Funktionsentwicklung für Embedded Software
Kfz-Zulieferindustrie
ZF Friedrichshafen AG - Friedrichshafen

Praktikanten/Werkstudenten/Diplomanden (m/w) für die Entwicklung von Testsoftware im Bereich Autocodegenerierung
Sicherheitskritische Systeme
Silver Atena Electronic Systems Engineering GmbH - München

Praktikant (m/w) - Bereich "Passive RF Products"
Nachrichtentechnik
Tesat-Spacecom GmbH & Co. KG - Backnang

weitere Angebote

Partner:




Vermarktungspartner


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, 18: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: 5356
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 12.11.2011, 18: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, 18: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



Options and Permissions
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2012 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.