Implement the following matrix
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Tipu Sultan
el 15 de Mayo de 2019
Comentada: Tipu Sultan
el 15 de Mayo de 2019
I want implement a matrix which as follows:
where i is a subscript in my it will be a for loop which execute i=1:3 and theta,r,a,b,p,q,t arrays. theta,r,t are 1*3 matrix.a,b,p,q are 1*1 matrix.
The following is my approach:
theta = [ 45 46 48] ;
t= [ 1 2 3 ];
r= [200 210 220];
for i=1:3
dif_x = [(-cos(theta(i))) (r(i).*sin(theta(i))) (2*a.*t(i)+b);...
(-sin(theta(i))) (-r(i).*cos(theta(i))) (2*p.*t(i)+q)]
end
I want to know am I donig correct or not! and if I am wrong what will be the coorect approach.
Thanks in advance.
0 comentarios
Respuesta aceptada
Jan
el 15 de Mayo de 2019
The code overwrites dif_x in each iteration. Maybe you want to collect the different matrices instead:
theta = [ 45 46 48] ;
t = [ 1 2 3 ];
r = [200 210 220];
dif_x = zeros(2, 3, 3); % Pre-allocation
for i=1:3
dif_x(:, :, i) = [-cos(theta(i)), r(i).*sin(theta(i)), 2*a.*t(i)+b;...
-sin(theta(i)), -r(i).*cos(theta(i)), 2*p.*t(i)+q];
end
It is safer to separate the elements of arrays by commas.
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical 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!