mercredi 28 janvier 2015

How to use the 'if' statement in matlab?

I have a cell array of size 5x5 as below



B= 00 10 11 10 11
01 01 01 01 11
10 00 01 00 01
10 10 01 01 11
10 10 10 00 10


And two column vectors



S1= 21
23
28
25
43

S2= 96
85
78
65
76


I want to create a new cell array of the same size as B say 5x5 such that it satisfies the following condition



Final={S1 if B{i}=11
S1 if B{i}=10
S2 if B{i}=01
S2 if B{i}=00


So the resulting output would be something like this



Z = s2 s1 s1 s1 s1
s2 s2 s2 s2 s1
s1 s2 s2 s2 s2
s1 s1 s2 s2 s1
s1 s1 s1 s2 s1
ie Z= 96 21 21 21 21
85 85 85 85 23
28 78 78 78 78
25 25 65 65 25
43 43 43 76 43


I tried using the if condition but i get error saying 'Error: The expression to the left of the equals sign is not a valid target for an assignment.'



for i=1:1:128
for j=1:1:16
if fs{i,j}=00
Z{i,j}=S1{i,j}
elseif fs{i,j}= 01
Z{i,j}=S2{i,j}
elseif fs{i,j}= 10
Z{i,j}=S1{i,j}
elseif fs{i,j}= 11
Z{i,j}=S2{i,j}
end
end


I think I'm making a mistake in the if statement as well as the expressions I'm using. Where am i going wrong? Please help thanks in advance.


Aucun commentaire:

Enregistrer un commentaire