Issue with matrix combination - error with sin and cos in matrix
1 view (last 30 days)
Show older comments
Tea Arrigoni
on 14 Dec 2017
Commented: Walter Roberson
on 14 Dec 2017
Hi,
I have a following situation and I am not sure how to solve it.
FiA=-10:20:170
FiFm=-60:10:170
FiF=Fifm+FiA/3
COSF=Cos(FiF)
SINF=Sin(FiF)
I have a variable (angle) FiA that goes in deg from -10 until 170 with a step od 20.
Than I have variable FiF that is equal to variable Fifm+FiA/3 and the variable Fifm is also in deg from -60 until 170 with the step of 20.
And this part I manage to generate but the problem starts when I want to write down all possibilities of matrix that have the following variable. For example:
F=[1 0 0: 0 cofFiF - sinFif: 0 sinFif cosFif]
Then I get the error. When I write down the sinus and cosinus i can get all kind of combination but if I put them i matrix it gives me error.
Do you know maybe why?
0 Comments
Accepted Answer
Walter Roberson
on 14 Dec 2017
FiA = -10:20:170;
FiFm = -60:10:170;
[gFiA, gFiFm] = ndgrid(FiA, FiFm); %you want all combinations
gFiF = gFiFm + gFiA / 3;
COSF = cosd(gFiF); %cosd and sind because you are working in degrees!
SINF = sind(gFiF);
F = arrayfun( @(sinFif, cosFif) [1 0 0; 0 cosFif -sinFif; 0 sinFif cosFif], SINF, COSF, 'uniform', 0);
The result will be a 10 x 24 cell array, in which each entry will be the rotation matrix for one Fia paired with one FiFm.
2 Comments
Walter Roberson
on 14 Dec 2017
FiA = -10:20:170;
FiFm = -60:10:170;
FiRm=-60:20:90;
[gFiA, gFiFm, gFiRm] = ndgrid(FiA, FiFm, FiRm];
gFiR = gFiRm + gFiA * (7/9) - gFiF / 9 + FiA .* FiF .* (2/810);
gcosFiR = cosd(gFiR);
gsinFiR = sind(gFir);
F = arrayfun( @(sinFir, cosFir) [cosFir -sinFif 0; sinFir cosFir 0; 0 0 1], gsinFir, gcosFir, 'uniform', 0);
The resulting cell array is going to be 3D, giving all possible combinations of the values of the variables.
More Answers (0)
See Also
Categories
Find more on Matrices and Arrays in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!