Issue with matrix combination - error with sin and cos in matrix
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Tea Arrigoni
le 14 Déc 2017
Commenté : Walter Roberson
le 14 Déc 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 commentaires
Réponse acceptée
Walter Roberson
le 14 Déc 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 commentaires
Walter Roberson
le 14 Déc 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.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Point Cloud Processing dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!