How to tell Solve function to only display real roots?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
lindsey Cameron
am 27 Nov. 2014
Kommentiert: lindsey Cameron
am 27 Nov. 2014
Hi guys,
Anyone know how I can restrict the Solve function in the current code to solve for only real values?
clear clc
syms x g
g=1.3099*10^15:0.05*10^15:2.6*10^15;
for i = 1:length(g) % Assigns i for each value within in g
f=(((1.1096*10^17-(5.201*10^16)*(6.667*(x - 255)/x)^(1/3))/(g(1,i))) + 255-x);
soln=solve(f,x);
end
0 Kommentare
Akzeptierte Antwort
Henrik
am 27 Nov. 2014
I don't know if this is what you want, but you could do something like
real_soln=soln(imag(soln)==0);
or if there are floating point errors,
real_soln=soln(abs(imag(soln))<1e-9); %put appropriate tolerance here
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!