Asked by Mehedi
on 4 Jun 2014

clc clear x1=5; x2=3; x3=2; p=cell(3,1); for i=1:3 if i==1 x1=6; elseif i==2 x1=7; elseif i==3 x1=8; end p{i}=[x1-x2; x1-x3]; if p{i}==[4;5] break end end for n=1:3 z(n)=(p{n} (1)) end

*No products are associated with this question.*

Answer by Roger Wohlwend
on 4 Jun 2014

In the second iteration the if-condition p{i} == [4;5] becomes true and terminates the loop. p{3} stays empty. In the second for-loop you want to acces that empty field --> p{3}(1). Matlab does not allow it and throws an error.

Hint: instead of

p{i} == [4; 5]

write

isequal(p{i}, [4;5])

or

all (p{i} == [4;5])

And if you post code the next time, please format it as code.

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test

Learn moreOpportunities for recent engineering grads.

Apply Today
## 0 Comments