Help with a Matrix for different angles
Mostra commenti meno recenti
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 Commenti
John D'Errico
il 28 Mar 2021
There is no reason to post the same question twice.
Eddy Ramirez
il 28 Mar 2021
darova
il 30 Mar 2021
I see 4 uknowns but only 3 equations
Eddy Ramirez
il 30 Mar 2021
darova
il 30 Mar 2021
Use for loop
Eddy Ramirez
il 30 Mar 2021
darova
il 30 Mar 2021
Try this way
ang = [-30 25 15];
for i = 1:length(ang)
% code
end
Eddy Ramirez
il 31 Mar 2021
Walter Roberson
il 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.
Risposte (0)
Categorie
Scopri di più su Creating and Concatenating Matrices in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!