Filter löschen
Filter löschen

Search and Compare Arrays

1 Ansicht (letzte 30 Tage)
H
H am 23 Aug. 2012
if I have the following Matrices:
MATRIX A: Column 1 = Temperatures; Column 2 = Coefficients;
MATRIX B: Temperatures
I need to Program Matrix_C to do the following:
For j=1:max(size(Matrix_B))
Matrix_C(j) =
For each temperatures in Matrix_B(j) it will retrieve the correct Coefficient from Matrix A
end
I hope I made sense
Thanks!

Akzeptierte Antwort

Matt Fig
Matt Fig am 23 Aug. 2012
Bearbeitet: Matt Fig am 23 Aug. 2012
I assume the temperatures in B exactly match those in A? In other words, you are not interpolating. First the FOR loop you request:
% Sample data.
A = [(1:20).',sort(round(rand(20,1)*1000)/100)]
B = [5;6;12]
% Fill C.
C = zeros(size(B));
for ii = 1:length(B)
C(ii) = A(A==B(ii),2);
end
But now look at an easier way:
C = interp1(A(:,1),A(:,2),B)

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by