怎样使用matlab解下面的代数方程?急急。。。。。

来源:百度知道 编辑:UC知道 时间:2024/05/22 12:08:32
syms a b c d e;
2*b^2=a^2+c^2+d^2-d*((4*r^2-y^2)^(1/2)*cos(e)+y*sin(e))-2*c*d*((r^2-d^2*(cos(e))^2)^(1/2)*cos(e)+d*cos(e)*sin(e))/r+c*((4*r^2-y^2)^(1/2)* (r^2-d^2*(cos(e))^2)^(1/2)+y*d*cos(e)) ;
Solve(y,r)
我想将上面的方程写成y=f(r)的形式,其他的都安已知量计算。但是为什么总出错呢?请教那位大哥帮小弟解一下。谢谢了
我的目的是将此方程化简写成y=f(r)的形式。谢谢大家帮忙解决一下谢谢了

你应该也把y定义上,即:
syms a b c d e y;
然后你再试试。

y=solve('2*b^2=a^2+c^2+d^2-d*((4*r^2-y^2)^(1/2)*cos(e)+y*sin(e))-2*c*d*((r^2-d^2*(cos(e))^2)^(1/2)*cos(e)+d*cos(e)*sin(e))/r+c*((4*r^2-y^2)^(1/2)* (r^2-d^2*(cos(e))^2)^(1/2)+y*d*cos(e))','y')
这不就是y=f(r)的形式吗,还是2个解。

这个答案不就是y=f(r)的形式吗?只是比较长而已。。。
可以这样解决:
syms a b c d e;
solve('2*b^2=a^2+c^2+d^2-d*((4*r^2-y^2)^(1/2)*cos(e)+y*sin(e))-2*c*d*((r^2-d^2*(cos(e))^2)^(1/2)*cos(e)+d*cos(e)*sin(e))/r+c*((4*r^2-y^2)^(1/2)* (r^2-d^2*(cos(e))^2)^(1/2)+y*d*cos(e))')
Warning: Warning, solutions may have been lost

ans =

-(-2*b^2*r+a^2*r+c^2*r+d^2*r+d*(-2*c^2*r^2*d*cos(e)+c^3*r*(r^2-d^2*cos(e)^2)^(1/2)+2*b^2*r*d*cos(e)-d^3*r*cos(e)+a^2*r*c*(r^2-d^2*cos(e)^2)^(1/2)+d^2*r*c*(r^2-d^2*cos(e)^2)^(1/2)-a^2*r*d*cos(e)-2*b^2*r*c*(r^2-d^2*cos(e)^2)^(1/2)-c^2*r*d*cos(e)-2*d^3*c*sin(e)^3+2*d^3*c*sin(e)+2*d^2*c*(r^2-d^2*cos(e)^2)^(1/2)*cos(e)^2-2*c^2*d^2*cos(e)*sin(e)*(r^2-d^2*cos