MATLAB How to Multiply a Value by a Matrix in MATLAB?

AI Thread Summary
To create a rotation matrix in MATLAB, define a symbolic variable for the angle, such as theta. The matrix can be constructed using this variable: R = [cos(theta) sin(theta) 0; -sin(theta) cos(theta) 0; 0 0 1]. To perform operations involving this matrix, you can substitute a specific value for theta using the subs function. For example, after defining theta, you can calculate R for a specific angle by assigning a value (e.g., x = pi/2) and using subs(R) to evaluate the matrix. This approach allows for dynamic calculations based on the angle input.
Ewok
Messages
5
Reaction score
0
Hi, this isn't a homework question as such, but I'd appreciate some advice as it is a part of a project that I'm doing.

I'm trying to write some MATLAB code and need to create a matrix and multiply some value by this matrix

ie.
R(*)=[cos(*) sin(*) 0; -sin(*) cos(*) 0; 0 0 1]

but I'm not sure how to write/use it. Basically I have a formula whereby a value is multiplied by this matrix (or visa versa), however I'm not sure how to relate the two in code.
The stars in the above matrix represent the value to be multiplied, so do I need to simply write the matrix as:

R=[cos sin 0; -sin cos 0; 0 0 1]

or

R()=[cos() sin() 0; -sin() cos() 0; 0 0 1]

or indeed something else for this operation to work??

p.s An example of the operation that I'm trying to do is:

temp = R(-MarsAng)*[a_mars;0;0];

Thanks
 
Last edited by a moderator:
Physics news on Phys.org
First define a symbolic variable for the functions, say theta. Then write the matrix R. Later, you can assign a value to theta, and use subs(R) to calculate the value of R.
Code:
syms theta;
R = [cos(theta) sin(theta) 0; -sin(theta) cos(theta) 0; 0 0 1];
x = pi/2;
subs(R)
 
Back
Top