Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Bücher:

Studierende:
weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

For-Schleife Plotten lassen nach einander

 

sawyer_ma
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 13.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2018, 14:22     Titel: For-Schleife Plotten lassen nach einander
  Antworten mit Zitat      
Hallo alle zusammen,

mein Problem ist nur ein kleines aber ich bekomme es nicht hin. Ich berechne fs von 2000 bis 4000 mit der Schrittweite von 1. Dafür bekomme ich immer einen neuen Wert für z.

Diese Werte möchte ich gerne in einem Plot zeichnen lassen und anschließend die Punkte miteinander verbinden. Aber ich habe das Problem das Matlab sich die Werte nicht merkt.

Code:

clc;
clear all:
close all;

%% Variablen

f0 = 1000;
fs = 4000;
N = 10;

for fs = 2000:1:4000
    k = 0:1:N-1
    i = 1:1:N
    X(i,:) = sin(2*pi*f0*k/fs)
    z = (X.'*X)^-1
   
    hold on
    figure(1)
    plot(fs, z,'r--')
    title('Least Squares Schätzer')
    xlabel('Abtastfrequenz')
    ylabel('Fehler')
end
 


Vielen Dank für eure Hilfe
sawyer
Private Nachricht senden Benutzer-Profile anzeigen


sawyer_ma
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 13.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2018, 18:23     Titel:
  Antworten mit Zitat      
Nochmals korrigierte Version weil bei der oben zwei drei dinge falsch waren.

Jedoch schaffe ich es nicht die Zwischenwerte in ein Array zu speichern. Von da aus könnte ich diese dann im Plot auslesen.

Code:

clc;
clear all;


%% Variablen

f0 = 1000;
N = 10;
i = 0;

for fs = 2000:1000:4000;
   
 
    for h = 0:1:N-1
        k = 0:1:N-1
        X = sin(2*pi*f0*k/fs)
    end
   
     z = (X*X.')^-1;
     
     hold on
     figure(1)
     plot(fs, z)
   

end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 19.614
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 18.11.2018, 18:46     Titel:
  Antworten mit Zitat      
Hallo,

was ist der Sinn der h-Schleife? Du berechnest da doch immer dasselbe.

Meine Empfehlung ist, eine for-Schleife immer von 1:<irgendwas> laufen zu lassen und zu indizieren, hier:

Code:
fs = 2000:1000:4000;
k = 0:1:N-1; % immer dasselbe
for I = 1:numel(fs)
   X = sin(2*pi*f0*k/fs(I));  
     z(I) = (X*X.')^-1;
end
plot(fs, z)


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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
.



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


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


Copyright © 2007 - 2019 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.