Creating a matrix for each point point in a data set

1 visualización (últimos 30 días)
Jeff C.
Jeff C. el 21 de Feb. de 2015
Comentada: Sad Grad Student el 21 de Feb. de 2015
I am trying to create a new matrix for each point in a large dataset, but I am not sure how I can do this without writing out each one. From this dataset I have created an origin and three vectors for each point, and I need to put the origin and three vectors into a 4x4 identity matrix. Is there a way to do this using for loops?
  2 comentarios
Sad Grad Student
Sad Grad Student el 21 de Feb. de 2015
Can you give an example of what you want?
Jeff C.
Jeff C. el 21 de Feb. de 2015
So I have a data set of 806 points and I have created 806 origins, x vectors, y vectors, and z vectors. I need a 4x4 matrix that would look like (1,0,0,0;o1,x1,x2,x3;o2,y1,y2,y3;o3,z1,z2,z3) for each of the 806 data points. I hope that helps.

Iniciar sesión para comentar.

Respuesta aceptada

Sad Grad Student
Sad Grad Student el 21 de Feb. de 2015
M = {}; % creating a cell array that will contain your 806 matrices
for i = 1:806
M{i} = eye(4,4);
M{i}(2:end,1) = o; % your vector of origins. o = [o1 o2 o3]
M{i}(2:end,2) = x; % your x vector. x = [x1 x2 x3]
M{i}(2:end,3) = y; % your y vector. y = [y1 y2 y3]
M{i}(2:end,4) = z; % your z vector. z = [z1 z2 z3]
end
  2 comentarios
Jeff C.
Jeff C. el 21 de Feb. de 2015
I tried this but it told me there was an error with dimension size, so I changed it to: for i = 1:806 M{i} = eye(4,4); M{i}(2:end,1) = o(i,:); % your vector of origins. o = [o1 o2 o3] M{i}(2:end,2) = x(i,:); % your x vector. x = [x1 x2 x3] M{i}(2:end,3) = y(i,:); % your y vector. y = [y1 y2 y3] M{i}(2:end,4) = z(i,:); % your z vector. z = [z1 z2 z3] end
The code runs without error now, however if I try to call the 200th matrix, using a=M(200) it just returns a=[4x4 double]. Not sure what is wrong there.
Thanks so much for your help by the way.
Sad Grad Student
Sad Grad Student el 21 de Feb. de 2015
For cell, you need to ask for M{200}.. curly brackets instead of round.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by