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

n Vektoren in for schleife erstellen

 

kid1412
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 16.12.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.12.2015, 13:50     Titel: n Vektoren in for schleife erstellen
  Antworten mit Zitat      
Hallo,

Ich würde gerne n vektoren in einer for-schleife erstellen und steh da irgendwie aufn schlauch.

So ungefähr sieht es jetzt aus

Code:


x=[];
y=[];
f=[];
n=10;

for   i=0:4;      
       
       x=[x;i];
       y=[y;i];
end


for i=1:n
   
     a=randn(1);   %eine zufällige zahl zwischen 0 und 1

     for ii=1:size(y,1);

         for iii=size(x,1);

            f=[f;x(iii),y(ii),cos(a*x(iii)+y(ii))];
         
         end
     end
end
           
 



jetzt gibt er mir halt ein Vektor aus und alle ergebnisse sind untereinander geschrieben. Mein Ziel ist es jedoch n=10 Vektoren zu bekommen mit jeweils 25 ergebissen(wenn ich mich nicht verzählt habe Laughing ).
Wäre cool wenn jemand ein Tipp hätte?

Danke.

Gruß,
kid1412
Private Nachricht senden Benutzer-Profile anzeigen


Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 23.12.2015, 14:28     Titel: Re: n Vektoren in for schleife erstellen
  Antworten mit Zitat      
Hallo,
folgende Anmerkungen:
1. i ist die imaginäre Einheit und sollte somit nciht als Laufvariable überschrieben werden.
2.
Zitat:
for i=0:4;
x=[x;i];
y=[y;i];
end

Geht schneller mittels:
Code:
x = [0:4]; y = [0:4];


3. Wenn du 10 vektoren möchtest, musst du bei jedem incrementieren der äußeren schleife (for i=1:n) deinen bisherigen Vektor "wegspeichern" und neu beginnen mit dem Füllen oder das ganze einfach in eine 25x10 Matrix speichern. So dass jede Spalte eben einem deiner gewünschten Vektoren entspricht.
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 24.12.2015, 14:50     Titel: Re: n Vektoren in for schleife erstellen
  Antworten mit Zitat      
Hallo kid1412,

Vektoren iterativ wachsen zu lassen ist ein Standard-Anfänger-Fehler beim Programmieren (nicht nur in Matlab). Zu diesem Thema gibt es im Forum hunderte Threads - suche nach "pre-allocation".

10 Vektoren zu bekommen erldedigt man am besten mit einem Array, denn die dynamische Erzeugung von Variablen wäre gleich das nächste Beispiel für schlechten Programmier-Stil. Scuhe dazu nach "eval" im Forum.

Da Du nicht genau erklärt hast, was Du als Ergebnis haben möchtest, rate ich mal:
Code:
x = (0:4).';
y = (0:4).';
n = 10;

f = cell(1, n);
for i1 = 1:n
     a = randn(1);   %eine zufällige zahl zwischen 0 und 1
     for i2 = 1:size(y,1)
        f{i1} = [f{i1}; x, y(i2) * ones(size(x)), cos(a * x + y(i2))];
     end
end

Gruß, Jan
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.