how to create matrices efficiently

Hi!
let's say I have 10 different angles. So I have a1, a2, a3, ... a10. I need to calculate 10 different 2x2 matrices depending those angles and save them. So my matrices will be [cos(a1), sin(a1); sin(a1), -cos(a1)] and so on. Question is how I can make those matrices without writing all 10 matrix by hand? I've tried make those by for loop and I think my problem is that I need multiple matrices instead vectors.

2 commentaires

Azzi Abdelmalek
Azzi Abdelmalek le 21 Sep 2013
This is not clear
Roger Stafford
Roger Stafford le 21 Sep 2013
Just a note of caution. In case those 2x2 matrices were intended to be rotation matrices by the angles a1, a2, ..., the signs are wrong in the second column.

Connectez-vous pour commenter.

 Réponse acceptée

per isakson
per isakson le 21 Sep 2013
Modifié(e) : per isakson le 21 Sep 2013

0 votes

Here is a start
>> f = @(a) [cos(a), sin(a); sin(a), -cos(a)];
>> f(pi)
ans =
-1.0000 0.0000
0.0000 1.0000
>>
where
f = @(a) [cos(a), sin(a); sin(a), -cos(a)];
Search the help for "Anonymous Functions"

Plus de réponses (1)

Kasper
Kasper le 23 Sep 2013

0 votes

That helped so much!! Thank You!

Catégories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by