Verfasst am: 10.01.2013, 13:14
Titel: Fehler in Schleife - aber wo?
Hallo zusammen,
ich habe eine Schleife geschrieben, mit der ich für verschiedene Input-Werte die jeweiligen Output-Werte berechnen möchte.
Allerdings erhalte ich für alle Inputs immer die gleichen Output-Werte - und ich bin inzwischen so betriebsblind (und leider immer noch so unvertraut mit Matlab), dass ich nicht erkenne, woran es liegt bzw. es vermutlich viel zu umständlich programmiert habe.
Ich wäre Euch allen sehr dankbar, wenn ihr da mal einen Blick draufwerfen könntet.
end;%Schließt k-Schleife
Total_Welfare_c0=[U_Werte_c0,Pi_1_Werte_c0,Pi_0_Werte_c0,W_Werte_c0] %Matrix mit 150 Zeilen und 40 Spalten
c_1 = .057;
c_2 = .124;
c_0 = .01;
gamma = .5;
K = 150;
y = 200;
S=0;
for k=1:11
c_1=c_1_Variation(k,1) for i=1:150
a=a_werte(i,1)
U_Werte_c1(i,k)=eval(U)
Pi_1_Werte_c1(i,k)=eval(Pi_1);
Pi_0_Werte_c1(i,k)=eval(Pi_0);
Pi_01_Werte_c1(i,k)=eval(Pi_01)
W_Werte_c1(i,k)=eval(W) end; %Schließt die i-Schleife
end;%Schließt k-Schleife
Total_Welfare_c1=[U_Werte_c1,Pi_1_Werte_c1,Pi_0_Werte_c1,W_Werte_c1] %Matrix mit 150 Zeilen und 40 Spalten
c_1 = .057;
c_2 = .124;
c_0 = .01;
gamma = .5;
K = 150;
y = 200;
S=0;
for k=1:11
c_2=c_2_Variation(k,1) for i=1:150
a=a_werte(i,1)
U_Werte_c2(i,k)=eval(U)
Pi_1_Werte_c2(i,k)=eval(Pi_1);
Pi_0_Werte_c2(i,k)=eval(Pi_0);
Pi_01_Werte_c2(i,k)=eval(Pi_01)
W_Werte_c2(i,k)=eval(W) end; %Schließt die i-Schleife
end;%Schließt k-Schleife
Total_Welfare_c2=[U_Werte_c2,Pi_1_Werte_c2,Pi_0_Werte_c2,W_Werte_c2] %Matrix mit 150 Zeilen und 40 Spalten
c_1 = .057;
c_2 = .124;
c_0 = .01;
gamma = .5;
K = 150;
y = 200;
S=0;
for k=1:11 gamma=gamma_Variation(k,1) for i=1:150
a=a_werte(i,1)
U_Werte_gamma(i,k)=eval(U)
Pi_1_Werte_gamma(i,k)=eval(Pi_1);
Pi_0_Werte_gamma(i,k)=eval(Pi_0);
Pi_01_Werte_gamma(i,k)=eval(Pi_01)
W_Werte_gamma(i,k)=eval(W) end; %Schließt die i-Schleife
end;%Schließt k-Schleife
Total_Welfare_gamma=[U_Werte_gamma,Pi_1_Werte_gamma,Pi_0_Werte_gamma,W_Werte_gamma] %Matrix mit 150 Zeilen und 40 Spalten
c_1 = .057;
c_2 = .124;
c_0 = .01;
gamma = .5;
K = 150;
y = 200;
S=0;
for k=1:11
K=K_Variation(k,1) for i=1:150
a=a_werte(i,1)
U_Werte_K(i,k)=eval(U)
Pi_1_Werte_K(i,k)=eval(Pi_1);
Pi_0_Werte_K(i,k)=eval(Pi_0);
Pi_01_Werte_K(i,k)=eval(Pi_01)
W_Werte_K(i,k)=eval(W) end; %Schließt die i-Schleife
end;%Schließt k-Schleife
Total_Welfare_K=[U_Werte_K,Pi_1_Werte_K,Pi_0_Werte_K,W_Werte_K] %Matrix mit 150 Zeilen und 40 Spalten
c_1 = .057;
c_2 = .124;
c_0 = .01;
gamma = .5;
K = 150;
y = 200;
S=0;
for k=1:11
S=S_Variation(k,1) for i=1:150
a=a_werte(i,1)
U_Werte_S(i,k)=eval(U)
Pi_1_Werte_S(i,k)=eval(Pi_1);
Pi_0_Werte_S(i,k)=eval(Pi_0);
Pi_01_Werte_S(i,k)=eval(Pi_01)
W_Werte_S(i,k)=eval(W) end; %Schließt die i-Schleife
end;%Schließt k-Schleife
Total_Welfare_S=[U_Werte_S,Pi_1_Werte_S,Pi_0_Werte_S,W_Werte_S] %Matrix mit 150 Zeilen und 40 Spalten
c_1 = .057;
c_2 = .124;
c_0 = .01;
gamma = .5;
K = 150;
y = 200;
S=0;
Beachtlich was du das tust...mit dem ganzen Code der im Command Window vorbei fliegt.
Vielleicht solltest du über all ein ; hinter setzen, weil so bringt dir der Output eh absolut gar nichts! Lieber dann in ruhe im Array Editor angucken.
Aber endlich mal wer, der ungeniert seinen ganzen Code pastet
Jedoch ist es mir ein Rätsel, wie der bei dir laufen soll....
a ist nämlich direkt zu beginn nicht definiert. Ich hab einfach mal a=1; angenommen.
Dann benutzt du eval durchgängig falsch, dass das Script deswegen auch nicht läuft. Richtig ist W_Werte_S(i,k)=eval('W'), nicht W_Werte_S(i,k)=eval(W)
Zu deinem eigentlich Problem kann ich nichts beitragen. Vlt wenn du noch mal eine wirklich lauffähige Version deines Scripts postest.
Zudem wirkt es so auch wie eine Endlosschleife...
_________________
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
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.