matlab 用solve解出的方程既有复数也有实数,想取实数中最大值,应该怎么办[o]=solve('(x(f)-a(h))^2+(y(f)-b(h))^2+(r(f)-o)^2=(r(f)+R(h))^2','o');o=subs(o,{'x(f)','a(h)','y(f)','b(h)','r(f)','R(h)'},{x(f),a(h),y(f),b(h),r(f),R(h)});o=double(o);A=o==real(o);o=o(A)解出后 复数解变为 Empty matrix:0-by-1实数解有两个 我想取其中最大的那个 应该怎么写

问题描述:

matlab 用solve解出的方程既有复数也有实数,想取实数中最大值,应该怎么办
[o]=solve('(x(f)-a(h))^2+(y(f)-b(h))^2+(r(f)-o)^2=(r(f)+R(h))^2','o');
o=subs(o,{'x(f)','a(h)','y(f)','b(h)','r(f)','R(h)'},{x(f),a(h),y(f),b(h),r(f),R(h)});
o=double(o);
A=o==real(o);
o=o(A)
解出后 复数解变为 Empty matrix:0-by-1
实数解有两个 我想取其中最大的那个 应该怎么写

可以用max求最大值
命令行输入
doc max