Is it possible to solve this equation without symbolics?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Amit Kumar
le 12 Mar 2014
Commenté : Star Strider
le 14 Mar 2014
Hi all, I am doing research involving numerical computations. Obviously symbolics are expensive to compute. So I am trying to compute something without using symbolics. Here is my sample code:
F1=1725;
F2=228;
F6=76;
syms F0;
s_12=[-0.875*F0;-0.625*F0; 0.21651*F0];
temp1=((s_12(1,1))^2/(F1)^2)+((s_12(2,1))^2/(F2)^2)+((s_12(3,1))^2/(F6)^2)-((s_12(1,1)*(s_12(2,1)))/(F1)^2);
a=double(solve(temp1==1,F0));
Can anyone suggest me a way to solve this equation without using symbolics? Thanks in advance.
0 commentaires
Réponse acceptée
Star Strider
le 13 Mar 2014
Modifié(e) : Star Strider
le 13 Mar 2014
Another method, using the equations you provided:
F1=1725;
F2=228;
F6=76;
s_12= @(F0) [-0.875*F0;-0.625*F0; 0.21651*F0];
temp1= @(s_12) ((s_12(1,1))^2/(F1)^2)+((s_12(2,1))^2/(F2)^2)+((s_12(3,1))^2/(F6)^2)-((s_12(1,1)*(s_12(2,1)))/(F1)^2);
fcn = @(F0) temp1(s_12(F0))-1;
a = [];
for k1 = [-500 500]
S0 = fzero(fcn,k1);
a = [S0; a];
end
The for loop uses two different starting values to get both roots, stored in vector a.
5 commentaires
Plus de réponses (1)
Roger Stafford
le 13 Mar 2014
K = (-0.875/F1)^2+(-0.625/F2)^2+(0.21651/F6)^2-(-0.875)*(-0.625)/(F1)^2;
F0 = sqrt(1/K);
or (Two solutions)
F0 = -sqrt(1/K);
0 commentaires
Voir également
Catégories
En savoir plus sur Special Values dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!