trouble with loops need help

hi if i have an array with [1 2 3 4] and i wanted to associate 1 with 20, 2 with 30, 3 with 40 and so on how would i do that?
i know that i will start with something like this
if array = 1

Antworten (2)

Star Strider
Star Strider am 28 Okt. 2019

0 Stimmen

I am not certain what result you want.
One approach:
array = [1 2 3 4];
target = [20 30 40 50];
Mapfcn = @(idx) target(array(idx));
Out = Mapfcn(array == 3)
Experiment to get your desired result.

1 Kommentar

Raul Castillo
Raul Castillo am 28 Okt. 2019
sorry if i wasnt clear enough so form my array lets say s= [1 2 3 4 1 2 3 4 ]
and i want to assign 1=20 2=30 3=50 4=120 so that my new array would now be [20 30 50 120 20 30 50 120] do you get what i mean now?
ME
ME am 29 Okt. 2019

0 Stimmen

As in your previous question, you can use the following bit of code. I have also updated the error in my answer to your previous question.
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)=120;
end
end

Diese Frage ist geschlossen.

Produkte

Gefragt:

am 28 Okt. 2019

Geschlossen:

am 20 Aug. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by