assigning values to an array that already has values

so for example my array lets say s= [1 4 2 3 4 1 4 2 3 4 ]
and i want to assign 1=20 2=30 3=50 4=80 so that my new array would now be [20 80 30 50 80 20 80 30 50 80] how would i do this using loops?

 採用された回答

ME
ME 2019 年 10 月 28 日

0 投票

Totally not an elegant answer but you could use something like:
for i=1:numel(s)
if(s(i)==1)
s(i)==20;
elseif(s(i)==2)
s(i)==30;
elseif(s(i)==3)
s(i)==50;
elseif(s(i)==4)
s(i)==80;
end
end
This would then leave anything other than 1, 2, 3 and 4 unchanged.
As I say, it’s not elegant but it might give you enough of a start.

3 件のコメント

Raul Castillo
Raul Castillo 2019 年 10 月 28 日
thank you sm!
Raul Castillo
Raul Castillo 2019 年 10 月 28 日
i do not know if i am doing it correctly the output is coming back as ans = logical 0
ME
ME 2019 年 10 月 29 日
Apolgies this was my fault. There should not be "==" in the commands to swap to the updated values, i.e. the code should be:
for i=1:numel(s)
if(s(i)==1)
s(i)=20;
elseif(s(i)==2)
s(i)=30;
elseif(s(i)==3)
s(i)=50;
elseif(s(i)==4)
s(i)=80;
end
end

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

その他の回答 (0 件)

カテゴリ

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

製品

質問済み:

2019 年 10 月 28 日

コメント済み:

ME
2019 年 10 月 29 日

Community Treasure Hunt

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

Start Hunting!

Translated by