Borrar filtros
Borrar filtros

how to make group by extracting data?

2 visualizaciones (últimos 30 días)
hj lee
hj lee el 6 de Oct. de 2020
Comentada: Star Strider el 7 de Oct. de 2020
Hello,
e = [-9:3:9];
CM =
0.41 0.39 0.37 ....
0.32 0.30 0.29 ...
0.24 0.22 0.20 ...
0.15 0.13 0.12 ....
0.06 0.05 0.03 ...
-0.01 -0.03 -0.05 ...
-0.10 -0.12 -0.13 ...
CM is 7*20 double,
and
ele1 = interp1(CM(:,1),e,0);
ele2 = interp1(CM(:,2),e,0);
....
ele20 = interp1(CM(:,3),e,0);
ele = [ele1 ele2 ..... ele20]
This method have to write each group, so I want to make it more simply
(I just want to result 'ele = [ele1 ele2 ... ele20]', I don't need to enumerate all components)
Thanks for reading.

Respuesta aceptada

Star Strider
Star Strider el 6 de Oct. de 2020
I am not certain what you want to do. One problem is that the elements of ‘CM’ appear to be outside the range of (-9,9). In any event, the first argument must be a vector. If you want to do the interpolation in the order of arguments you chose, a loop is the only option:
CM = sort(randi([-9 9], 7, 20)+rand(7,20),2)/10; % Create ‘CM’
e = [-9:3:9];
for k = 1:size(CM,2)
ele(k) = interp1(CM(:,k),e,0, 'linear','extrap');
end
.
  2 comentarios
hj lee
hj lee el 7 de Oct. de 2020
Thank you very much!
Star Strider
Star Strider el 7 de Oct. de 2020
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by