Is it possible to solve this equation without symbolics?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Amit Kumar
am 12 Mär. 2014
Kommentiert: Star Strider
am 14 Mär. 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 Kommentare
Akzeptierte Antwort
Star Strider
am 13 Mär. 2014
Bearbeitet: Star Strider
am 13 Mär. 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 Kommentare
Weitere Antworten (1)
Roger Stafford
am 13 Mär. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Special Values finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!