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

>>vektoranpassung

 

christian1900
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 21.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.12.2011, 18:51     Titel: >>vektoranpassung
  Antworten mit Zitat      
Hallo zusammen, ich habe folgendes Probllem, ist wahrscheinlich nicht wild....

also ich will mittels einer funktion in einer for schleife einen wert berechnen und diesen dann in einem vektor schreiben, sodass dieser vektor mit jedem durchlauf den berechneten Wert aufnimmt und ich am Ende der for-Schleife alle Werte in diesem Vektor stehen habe...

mein Code sieht wie folgt aus

Code:
for Zahlen = Zah1:Zahl2
for Zahl = Zahl1
[a,b] = berechnung(Zahl)
.....
end
end

bis hierhin ist alles kein Problem, nur jetzt will ich eben die berechnete Zahl in einem Vektor speichern, der sich laufend erweitert, ich hab's mit allerlei Varianten porbiert, hat aber leider nicht geklappt:(


Edit by Martin: Bitte Code-Formatierung verwenden. Danke!
Private Nachricht senden Benutzer-Profile anzeigen


emily_99

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.12.2011, 19:17     Titel:
  Antworten mit Zitat      
Hallo,


was ist hier deine Laufvariable ?
also ich würde so machen

Code:

Zahlen = Zahl1:Zahl2;
for i = 1:length(Zahlen)

[a,b]=berechnung(Zahlen(i));

end

 


ich denke, so werden die Ergebnisse hintereinander in dem Array gespeichert.

Gruß
emily_99
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 05.12.2011, 20:55     Titel: Re: >>vektoranpassung
  Antworten mit Zitat      
Hallo christian1900,

Dann zeige uns bitte eine Variante, mit der Du es probiert hast, und die dabei erscheinende Fehlermeldung, bzw. erkläre, was am ergebnis Deinen Erwartungen nicht entspricht.

Es ist viel leichter Code zu korrigieren, als neuen zu schreiben.

Ein Tipp:
Code:

Result = zeros(1, 100);
for i = 1:100
  Result(i) = sin(rand);
end

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
christian1900
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 21.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2011, 12:25     Titel:
  Antworten mit Zitat      
Hallo,
erstmal vielen dank für die antworten, aber es hat leider noch nicht geklappt....ich beschreib nochmal genauer!
also hier mein Code:

Code:
Zahl1 = 1
Zahl2 =100
Zahlen = 1:100
for Zahlen = 1:100
[a,b] = berechnung zahlen
end


also es werden keine felhremeldungen angezeigt, sondern es erscheint als ergebnis:

a = 23
b= 24 (für Zahl 1)

dann

a = 45
b= 65(für Zahl 2)

usw....

mein Problem ist jetzt dass a,b natürlich immer überschrieben werden, d.h ich würde gerne nach jeden Durchlauf der Schleife die Ergebnisse in einem Vektor abspeichern!



Edit by Martin: Bitte Code-Formatierung verwenden. Danke!
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: 06.12.2011, 12:32     Titel:
  Antworten mit Zitat      
Hallo christian1900,

Bitte poste lauffähigen Code in Matlab-Syntax.
Wenn man ein programm nur "so ungefähr" hinschreibt, gehen oft wichtige Details verloren. "berechnung zahlen" ist nicht nachvollziehbar.
"Zahlen = 1:100" zu definieren ist nicht hilfreich, wenn Du in der folgenden Zeile "for Zahlen = 1:100" schreibst.

Code:
a = zeros(1, 100);
b = zeros(1, 100);
for Zahlen = 1:100
[a(i), b(i)] = ???
end

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
christian1900
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 21.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2011, 13:23     Titel:
  Antworten mit Zitat      
okay, ihr habt recht, vielen dank für die bisherigen Mühen...hier nochmal ein Versuch,hoffe der ist diesesmal klarer!
mit den Zahlen war's ein bisschen blöde!

also eigentlich handelt es sich um beliegige Werte(allesamt normale natürliche Zahlen)

Code:

for Werte = Wert1:Wert2

  % Wert1 ist immer kleiner, es werden einfach alle Werte die dazwischen  leigen durchlaufen, Werte selbst sind zu beginn unbekannt, werden aus anderer Stelle ausgelesen

  for Wert = Wert1

    [a,b] = berechnung(Wert)  

    % berechnung ist eine Funktion welche zu einen Wert aus dem "Intervall" ein zugehöriges a und b berechnet

    Ergebnis = [a+100, b+50]

    % Ergebnis sind die zahlen die ich brauche, d.h nach jedem Durchgang wird zu den berechneten a's und b's noch was addiert

     Wert = Wert1+1  

     % soll bewirken dass beim nächsten Durchgang die nächste Zahl des "Intervalls" verwendet wird.

   end
end
 

soweit so gut, nur ich will einfach die mit jedem Durchgang berechneteten Werte in einem Vektor abspeichern....und das kreige ich einfach nicht hin....
also nach beendigung sollte mein Ergebnis dann so aussehen

[Ergebnis(Wert1) Ergebnis(....) Ergebnis(.......) .... ]

edit by denny: Bitte die Codeumgebung verwenden. Danke!
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 06.12.2011, 13:55     Titel:
  Antworten mit Zitat      
da wir immernoch nicht wissen welche werte deine "berechnung" zurück giebt rate ich mal drauf los
Code:
werte=wert1:wert2
a=zeros(length(werte),1);
b=zeros(length(werte),1);
for l=1:length(werte)
[a(i),b(i)]=berechnung(werte(i));
a(i)=a(i)+100;
b(i)=b(i)+50;
%das wäre sinnfoller das gleich bei berechnung mit rei zu machen
end
Private Nachricht senden Benutzer-Profile anzeigen
 
christian1900
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 21.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2011, 16:28     Titel:
  Antworten mit Zitat      
super danke!!
hat alles geklappt!!Smile
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.