# Creating a matrix for each point point in a data set

16 views (last 30 days)
Jeff C. on 21 Feb 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 CommentsShowHide 1 older comment
Jeff C. on 21 Feb 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.

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 CommentsShowHide 1 older comment
For cell, you need to ask for M{200}.. curly brackets instead of round.