locating a value of a matrix from another input value

Is there a way you can use a speciifc value i.e. nth value from a vector (i.e. the 24 in the 1x5 double below) to find what the value is for that value in a matrix (point 24 in the 1x101)?
I have a 1x5double --- [24,26,26,26,29]
I have a 1x5structure which holds 5 lots of 1x101double
Many thanks in advance,
Jake

 Risposta accettata

ind = [24,26,26,26,29];
S(1).f1 = rand(1,101);
S(2).f1 = rand(1,101);
S(3).f1 = rand(1,101);
S(4).f1 = rand(1,101);
S(5).f1 = rand(1,101);
A = arrayfun(@(x) x.f1(ind),S,'UniformOutput',false);

3 Commenti

Hi Takumi,
This will give me the 5 values for S(1).f1; However I am looking to use the first value in ind to be used in S(1).f1 and then the second value in ind to be used in S(2).f1 and so on.
Any suggestions on how to do that?
Best wishes,
Ok. Using for loop ,most easiest.
ind = [24,26,26,26,29];
S(1).f1 = rand(1,101);
S(2).f1 = rand(1,101);
S(3).f1 = rand(1,101);
S(4).f1 = rand(1,101);
S(5).f1 = rand(1,101);
for i=1:length(ind)
A(i) = S(i).f1(ind(i));
end
Hi Takumi,
Thanks. With your assistance, I got the code working:
-------
ind = Results.Average_CFTot1_location;
for x=1:length(Results.Max_Pressure_Total);
S(x).f1 = Results.Max_Pressure_Total(x).Resampled;
end
for i=1:length(ind)
A(i) = S(i).f1(ind(i));
end
-------

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Prodotti

Release

R2020a

Richiesto:

il 13 Lug 2020

Commentato:

il 13 Lug 2020

Community Treasure Hunt

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

Start Hunting!

Translated by