calling an array which is initialized inside an if statement + for loop, outside the loop
3 次查看(过去 30 天)
显示 更早的评论
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
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.
Rik
2017-2-9
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
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.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!