MATLAB Answers

Help with a Matrix for different angles

1 view (last 30 days)
Eddy Ramirez
Eddy Ramirez on 28 Mar 2021
Commented: Walter Roberson on 31 Mar 2021
Greetings,
I am running the following code and I want to find out the value of sigma1, sigma2, and tau6 at each angle starting from 0. I was thinking of doing a for-lopp, but the problem is that I am not able to do negative thetas or 0.
I think the problem is that MatLAb is taking ALL the angles and creating one big solution based on all angles? i might be wrong here, but any help to achieve my goal would be greatly appreciated
theta=0:5:90;
m=cosd(theta);
n=sind(theta);
sigma1=sym('sigma_1');
sigma2=sym('sigma_2');
tau6=sym('tau_6');
stress=[sigma1; sigma2; tau6];
sigmax=0;
sigmay=0;
tau5=sym('taus');
stress_rotation=[sigmax; sigmay; tau5];
T=[m.^2 n.^2 2.*m.*n;
n.^2 m.^2 -2.*m.*n;
-m.*n m.*n m.^2-n.^2];
equation=stress==T.*stress_rotation;
solution=solve(equation, stress);
sigma1_f=vpa(solution.sigma_1);
sigma2_f=vpa(solution.sigma_2);
tau6_f=vpa(solution.tau_6);
  9 Comments
Walter Roberson
Walter Roberson on 31 Mar 2021
stress=[sigma1; sigma2; tau6];
That is a vector of length 3
equation=stress(i)==T.*stress_rotation(i);
but you index it at i where i can be up to length(theta)
Also your stress_rotation vector is length 3 as well.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by