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

Plotte Matrix-Zeile

 

gkaraden

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.09.2012, 15:44     Titel:
  Antworten mit Zitat      
Hi Leute,

hab ebenfalls wieder mal ein Problem.

Ich möchte eine bestimmte Zeile einer Matrix plotten die durch den User über eine Inputbox bestimmt wird

Z1 ist meine Matrix. Meine bisherige Programmierung:

Code:

k=inputdlg('Geben Sie die gewünschte Zeile zur Darstellung ein: ');
for i=1:size(Z1,1) %beschriebt i von 1 bis Zeilenanzahl von Z1
end
 


Wie beschreibe ich den Kern der Schleife das der i-te Teil ausgegeben wird??

Vielen Dank und Grüße

gkaraden
Gesplittet: 13.09.2012, 17:02 Uhr von Jan S
Von Beitrag for schleife aus dem Forum Programmierung


gkaraden

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.09.2012, 17:11     Titel:
  Antworten mit Zitat      
Hi Leute,

habe nach ein paar Versuchen das ganze soweit mal hinbekommen.

Möchte euch aber natürlich meine kleine Lösung nicht vorenthalten.

Code:

k=inputdlg('Geben Sie die gewünschte Zeile zur Darstellung ein: ');
n=str2double(k);
m=0;
for i=1:size(Z1,1) %beschriebt i von 1 bis Zeilenanzahl von Z1
    row=Z1(i,:);
    m=m+1;
    if m == n
    figure
    bode(Z1(i,:),N1); grid
    end
end
 


Gibt bestimmt auch eleganteres, funktioniert jedoch.

Für Anregungen bin ich natürlich offen.

Gruß

gkaraden
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 13.09.2012, 17:18     Titel:
  Antworten mit Zitat      
Hallo gkaraden,

Bitte öffne einen neuen Thread für eine neue Frage. Andernfalls wird der "beantwortet"-Status unsinnig. Danke.

Ich verstehe Deinen Code nicht. Was ist Z1 und N1?
Wieso wandelst Du die Zahl, die von INPUT zurückgegeben wird per STR2DEOUBLE in eine Zahl um? Verwendest Du vielleicht "input('...', 's')"?
Wozu benötigst Du die Schleife?

Wie wäre dies:
Code:
zeile = inputdlg('Geben Sie die gewünschte Zeile zur Darstellung ein: ');
bode(Z1(zeile, :), N1);
 grid

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
gkaraden

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.09.2012, 18:58     Titel:
  Antworten mit Zitat      
Hi Jan,

ok, werde das nächste mal besser aufpassen.

Also ich möchte ein Bode-Diagramm resultierend aus der Transferfunktion eines Simulinkmodells ausplotten.

Für das Nutzen von bode() muss man ja Zähler und Nenner der Transferfunktion bestimmt haben.

Da ich aber nicht alle Plots parallel von bode() dargestellt haben will (durch bode() Befehl vorgegeben), kann man durch die gezielte Abfrage der Zeilennummer schrittweise sich die Plots anschauen, deshalb die Schleife. Ich bin kein Freund von Schleifen, aber wusste mir in diesem Fall nicht weiter zu helfen. Demnach ist Z1 der Zähler und N1 der Nenner der Transferfunktion.

Mein Problem war die gewünschte Matrixzeile mit deren Inhalte übereinstimmen zu lassen. Das ganze könnte man bestimmt auch eleganter beschreiben, habe nicht viel Erfahrung mit Matlab.

Hoffe etwas präziser in meiner Programmbeschreibung geworden zu sein. Bin aber für Ideen und Anregungen offen.

Gruß

gkaraden
 
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.