calling an array which is initialized inside an if statement + for loop, outside the loop

hi, i have a if statement and it runs a for loop in each case where it is true and false. An array is initialized and assigned a value within this for loop (both cases). Outside the loops, I need both arrays to initialize another array. For example,
for i=1:v
if z==i
for j=1:m
A(j)=x(j)+l;
end
else
for j=1:n
B(j)=y(j)+l;
end
end
C=A+B;
end
But in my codes, C is only affected by A (if statement is true when i=1). How can I correct this issue?

2 件のコメント

Rik
Rik 2017 年 2 月 9 日
Is it possible to just move the code to the inside of the for/if thing? If not, you could maybe use a flagging variable, so you can determine where your code has gone and if A should play a role.
I guess this change doesn't fix your problem?
BTW, I meant something like
if test1==true
for i=1:m
A=A+1;
end
C=A+B;
else
C=B;
end

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

回答 (1 件)

Jan
Jan 2017 年 2 月 9 日
編集済み: Jan 2017 年 2 月 9 日
It is not clear to me, what you want to achieve. But start with simplifying your code:
for i=1:v
if z==i
A(1:m) = x(1:m) + l;
else
B(1:n) = y(1:n) + l;
end
C = A + B;
end
All I see now is this code and your explanation, that you "need both arrays to initialize another array" and "C is only affected by A (if statement is true when i=1)". For a suggestion how to "correct" this, it is required to explain, which behavior you consider as correct.

カテゴリ

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

製品

質問済み:

2017 年 1 月 12 日

編集済み:

Jan
2017 年 2 月 9 日

Community Treasure Hunt

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

Start Hunting!

Translated by