compare two vectors then insert missing element
Mostrar comentarios más antiguos
i have a matrix :
A=[ 1.000 0.5860 0.01403
2.500 0.7395 0.01277
3.500 0.8450 0.01146
4.000 0.8967 0.01173
4.500 0.9476 0.01215
5.000 0.9962 0.01280
6.000 1.0973 0.01367
6.500 1.1398 0.01457
7.000 1.1889 0.01515
8.000 1.2574 0.01915
8.500 1.2816 0.02234
9.500 1.3300 0.02731
10.500 1.3267 0.03649 ]
for the first column let say its
B=[ 1.000
1.500
2.000
2.500
3.500
4.000
4.500
5.000
5.500
6.000
6.500
7.000
7.500
8.000
8.500
9.000
9.500
10.000
10.500]
i want to compare A(:1) with b then insert missing rows to make A(:,1) = b , then perform interpolation for A(:,2) and A(:,3) new rows
thanks
1 comentario
Chunru
el 29 de Abr. de 2021
Bq = sort(union(B, A(:,1))); % the query points are from B and A(:,1)
C = interp1(A(:, 1), A(:, 2:end), Bq); % Interpolation
C = [Bq C]; % The result
Respuestas (1)
Simpler:
A=[ 1.000 0.5860 0.01403
2.500 0.7395 0.01277
3.500 0.8450 0.01146
4.000 0.8967 0.01173
4.500 0.9476 0.01215
5.000 0.9962 0.01280
6.000 1.0973 0.01367
6.500 1.1398 0.01457
7.000 1.1889 0.01515
8.000 1.2574 0.01915
8.500 1.2816 0.02234
9.500 1.3300 0.02731
10.500 1.3267 0.03649 ];
B = 1:0.5:10.5;
C = interp1(A(:,1),A,B(:))
Categorías
Más información sobre Interpolation en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!