Spec. Cell exportation from a loop

Hi guys,
This is the code:
M = cell(28,1);
for i=1:28;
M{i} = UM(i,:);
IPV = M{i,1}(1);
IB = M{i,1}(2);
IWP = M{i,1}(3);
IK = M{i,1}(4);
IWS = M{i,1}(5);
OptimierungPV_B_WP_mitWaermespeicher_Bandu_14;
Kapitalwert(i,1)= num2cell(ZFW);
xlswrite('testsheet.xlsx', ...
Kapitalwert{i}, ...
'Kapitalwerte','A1:A28');
end
As you can see, i want to export a specific value from the calculation in line 11. The program does export, but ONLY the value from the first run of the loop, it conitnues writing this value for all the 28 runs of the loop. There must be different values for this of ZFW which is returned as Kapitalwert. Can sb help me to understand and find the error ?
Thanks a lot.

3 件のコメント

Jan
Jan 2013 年 10 月 14 日
編集済み: Jan 2013 年 10 月 14 日
Line 11 is "OptimierungPV_B_WP_mitWaermespeicher_Bandu_14;". I have no idea why this should create the variable "ZFW". In addition the Excel file is overwritten in each iteration. Is this useful or wanted?
Out-commented code increases the confusion of the readers. So better delete it, when you discuss in the forum.
Michael
Michael 2013 年 10 月 14 日
編集済み: Michael 2013 年 10 月 14 日
Sorry, i changed my question due to your commentaries. line 9 is a .m file. ('OptimierungPV_B_WP_mitWaermespeicher_Bandu_14;'). If i make run this program, it returns a ZFW value after running it.
The excel file can be overwritten in each iteration, but i want to export each ZFW being calculated in the extern program in one column. You can be sure that ZFW is generated in this program, but in each run ,it differs from the previous. So i want to export it after each of the 28 runs. If i wasnt able to cvlarify, please tell me, im trying to give another try.
Jan
Jan 2013 年 10 月 15 日
No, obviously OptimierungPV_B_WP_mitWaermespeicher_Bandu_14 does not return anything. Therefore I guess it is a script. Scripts have the disadvantage, that they can access all variables of the caller, intentionally and unintentionally. In consequence, you cannot debug the program sufficiently without knowing the source code of the script.

サインインしてコメントする。

 採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 10 月 14 日
編集済み: Azzi Abdelmalek 2013 年 10 月 14 日

0 投票

Move xlswrite from the loop and put it after:
xlswrite('testsheet.xlsx', cat(1,Kapitalwert{:}),'Kapitalwerte');

1 件のコメント

Michael
Michael 2013 年 10 月 15 日
the programm put only one value in cell A1:A1
but i need 28 ?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

2013 年 10 月 14 日

コメント済み:

2013 年 10 月 15 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by