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

Ausgabe von for Schleife als Matrix

 

s14m04146
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 20.11.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2014, 17:51     Titel: Ausgabe von for Schleife als Matrix
  Antworten mit Zitat      
Hallo zusammen,

ich habe folgende For-Schleife geschrieben:

Code:
for i=1:1:length(s)
    F = [sin(z(i)*rho)*cos(Hz(i)*rho) -s(i)*sin(z(i)*rho)*sin(Hz(i)*rho) s(i)*cos(z(i)*rho)*cos(Hz(i)*rho);
         sin(z(i)*rho)*sin(Hz(i)*rho) s(i)*sin(z(i)*rho)*cos(Hz(i)*rho) s(i)*cos(z(i)*rho)*sin(Hz(i)*rho)]
end


s, z und Hz hab ich ins skript geladen und die enthalten alle 17 Werte.
Wenn ich die Schleife nun ausführe, gibt er mir für jedes s usw. auch werte an. also jedes mal eine neue Matrix. Nur kann ich leider nur die letzte Matrix weiterverwenden. Wie ist es möglich, dass ich praktisch 17 Matrizen erhalte? und auch auf jede zugreifen kann..

Ich hätte auch noch eine andere Frage.

Code:
for i=1:1:length(s)
  x(i) = s(i) * sin(z(i)*rho) * cos(Hz(i)*rho)
  y(i) = s(i) * sin(z(i)*rho) * sin(Hz(i)*rho)
end


Hier geben x und y mir alle werte aus. ich kann auch mit allen weiterarbeiten. nur hätte ich doch gerne als Vektor dargestellt, da das dann nachher beim publish-Dokument einfach übersichtlicher ist. Da gibt es doch bestimmt eine ganz einfache Lösung Smile

Vielen Dank schonmal im Vorraus,

Sarah
Private Nachricht senden Benutzer-Profile anzeigen


Nras
Forum-Meister

Forum-Meister


Beiträge: 608
Anmeldedatum: 21.02.12
Wohnort: ---
Version: 7.12.0.635 (R2011a)
     Beitrag Verfasst am: 20.11.2014, 18:46     Titel:
  Antworten mit Zitat      
Hallo,

du kannst die 17 Matrizen zum Beispiel in einer Cell ablegen:
Code:
F = cell(1,length(s));
for i=1:1:length(s)
    F{i} = [sin(z(i)*rho)*cos(Hz(i)*rho) -s(i)*sin(z(i)*rho)*sin(Hz(i)*rho) s(i)*cos(z(i)*rho)*cos(Hz(i)*rho);
            sin(z(i)*rho)*sin(Hz(i)*rho) s(i)*sin(z(i)*rho)*cos(Hz(i)*rho) s(i)*cos(z(i)*rho)*sin(Hz(i)*rho)];
end


Mit einem Semikolon nach einer Zeile unterdrückst du die Ausgabe. das habe ich oben auch angewandt. Das hilft auch für dein zweites Problem.
Code:
for i=1:1:length(s)
  x(i) = s(i) * sin(z(i)*rho) * cos(Hz(i)*rho); % ohne Ausgabe
  y(i) = s(i) * sin(z(i)*rho) * sin(Hz(i)*rho); % ohne Ausgabe
end

x
y


Viele Grüße,
Nras
Private Nachricht senden Benutzer-Profile anzeigen
 
s14m04146
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 20.11.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2014, 20:05     Titel:
  Antworten mit Zitat      
Mhhh also wenn ich das exakt so mache mit cell wie du es im Code geschrieben hast, kommt folgende Fehlermeldung:

"Undefined function 'mtimes' for input arguments of
type 'cell'"

Muss ich cell vorher noch definieren?
Private Nachricht senden Benutzer-Profile anzeigen
 
s14m04146
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 20.11.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2014, 12:21     Titel:
  Antworten mit Zitat      
So ich nehme alles zurück Smile Ich hatte im Skript vorher schon eine for-Schleife geschrieben und dort schon i als Index verwendet. Wenn ich jetzt I nehme, funktioniert alles. Ich dachte der würde bei jeder Schleife praktisch das i neu setzen und dass ich deswegen auch immer i als Index nehmen könnte Rolling Eyes Also vielen Dank Wink

Allerdings werden wir nicht die einzelnen Matrizen ausgegegen, sondern nur die Größe der einzelnen Matrix...
Und wie kann ich auf ein bestimmtes Element einer bestimmten Matrix dann zugreifen? Also wenn ich für die Matrix F{1} das Element (1,2) haben will?
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.