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

Funktionsauswertung mit variablen Parametern automatisieren

 

dermitri
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 09.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.11.2014, 12:55     Titel: Funktionsauswertung mit variablen Parametern automatisieren
  Antworten mit Zitat      
Liebe community,

ich habe ein, eigentlich ziemlich simples, Anliegen, bei dem ich dennoch nicht voran komme.

Ich habe eine Funktion, die ich plotten möchte. Aus den Parametern dieser Funktion folgen vier sonderfälle, die ich möglichst automatisiert plotten möchte.

Hier einmal mein Code:
Code:

clear all;

cp=10*10^(-9);
Lm=[0.346 0.346 0.346 0.356];
Rm=[20 100 500 100];
Cm=[0.2*10^(-9) 0.2*10^(-9) 0.2*10^(-9) 0.2012*10^(-9)];

omega=19000:0.1:152000;

for n=1:1:4
frequenzgang(n)=(j*omega*cp)+(1./(j.*omega.*Lm(n)+Rm(n)-j.*(1./(omega.*Cm(n)))));
end

 


Meine Idee war folgende:
Die Parameter Lm, Rm und Cm sind variabel, die vier Sonderfälle habe ich daher in richtiger Reihenfolge als Array eingetragen.

omega ist der Laufparameter.

In einer Schleife soll die Funktion ausgewertet werden. Ich erwarte dabei, das die Funktionswerte in Abhängigkeit von omega im Vektor frequenzgang(n) gespeichert werden.
Am Ende der Schleife sollte die Variable frequenzgang eine Matrix sein, die Spaltenvektoren beinhalten dabei die Funktionswerte in Abhängigkeit von omega und jede Spalte stellt einen Sonderfall dar.

Anschließend könnte ich jedes frequenzgang(n) plotten, mit omega auf der x-Achse.

Leider klappt es nicht so, wie ich plane. In der Funktionsauswertung
Code:
frequenzgang(n)=(j*omega*cp)+(1./(j.*omega.*Lm(n)+Rm(n)-j.*(1./(omega.*Cm(n)))));
kommt ständig der Fehler:
Zitat:
In an assignment A(I) = B, the number of elements
in B and I must be the same.

Ist es sinnvoll, meine Lösung zu korrigieren. Oder könnt ihr mir einen effektiveren Lösungsansatz geben?

Ich freue mich über jeden Tipp. Smile
Private Nachricht senden Benutzer-Profile anzeigen


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 27.11.2014, 13:11     Titel:
  Antworten mit Zitat      
Probier mal folgendes:

Code:

for n=1:1:4
frequenzgang(n,:)=(j*omega*cp)+(1./(j.*omega.*Lm(n)+Rm(n)-j.*(1./(omega.*Cm(n)))));
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
dermitri
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 09.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.11.2014, 13:26     Titel:
  Antworten mit Zitat      
Es kommt keine Fehlermeldung mehr. Allerdings bleibt die Variable frequenzgang ein Vektor und nicht wie gewünscht eine Matrix Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 27.11.2014, 13:29     Titel:
  Antworten mit Zitat      
Also bei mir nicht:

Code:

cp=10*10^(-9);
Lm=[0.346 0.346 0.346 0.356];
Rm=[20 100 500 100];
Cm=[0.2*10^(-9) 0.2*10^(-9) 0.2*10^(-9) 0.2012*10^(-9)];

omega=19000:0.1:152000;

for n=1:1:4
frequenzgang(n,:)=(j*omega*cp)+(1./(j.*omega.*Lm(n)+Rm(n)-j.*(1./(omega.*Cm(n)))));
end

>> size(frequenzgang)

ans =

           4     1330001
 


Es ist Matrix mit 4 Reihen und 1330001 Spalten.
Private Nachricht senden Benutzer-Profile anzeigen
 
dermitri
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 09.08.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.11.2014, 13:49     Titel:
  Antworten mit Zitat      
Tatsache, ich hatte probeweise die Schleife nach einem Schritt beendet. Embarassed

Vielen Dank!
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 - 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.