Implement following matrix using for loop
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I want implement the following matrix and expression:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/219653/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/219654/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/219655/image.png)
where theta,r,t are 1*3 matrix and a,b,p,q are 1*1 matrix.
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)]
W = dif_x(i)*Big_lambda(i)*dif_x(i)'
end
Is the approach correct or if it is wrong what should be done!
Thanks in advance.
7 Kommentare
Bob Thompson
am 15 Mai 2019
Bearbeitet: Bob Thompson
am 15 Mai 2019
As far as I can tell you are going in the correct direction. I am not a SME on your specific problem, but for the code aspect it seems to be functional.
I noticed you adjusted your indexing on dif_x. Don't forget to index W as well if you want to retain the results from each loop, instead of just the final loop.
W(i) = dif_x(:,:,i)*Big_lambda(i)*dif_x(:,:,i)'
Antworten (0)
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!