matlab solve函数解一个方程组

symsxyzr=sqrt(x^2+y^2+z^2)eta=acos(z/sqrt(x^2+y^2+z^2))sta=atan(y/x)[x,y,z]=solve(r,e... syms x y z
r=sqrt(x^2+y^2+z^2)
eta=acos(z/sqrt(x^2+y^2+z^2))
sta=atan(y/x)
[x,y,z]=solve(r,eta,sta)
想用 solve函数求出x,y,z的表达式 我的程序却不对 为什么~还有solve(‘r’,’eta‘,‘sta’)跟上面什么区别 系统中单引号什么作用 谢谢请高手指教 matlab新手
展开
 我来答
learneroner
2015-01-21
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

你现在代码的意思是求解方程组:

sqrt(x^2+y^2+z^2) = 0
acos(z/sqrt(x^2+y^2+z^2)) = 0
atan(y/x) = 0

我想这应该不是你的本意吧,你是想求什么?

更多追问追答
追问
我想用 r eta sta 表示 x y z 可能我本来的代码也不对 总之 已知三个表达式 想要反求 x y z
追答
 syms x y z r eta sta
f1 = r^2-(x^2+y^2+z^2);
f2 = cos(eta)-z/r;
f3 = tan(sta)-y/x;
[x,y,z]=solve(f1,f2,f3,'x','y','z')
 
x =
 
  r*(-(cos(eta)^2 - 1)/(tan(sta)^2 + 1))^(1/2)
 -r*(-(cos(eta)^2 - 1)/(tan(sta)^2 + 1))^(1/2)
 
 
y =
 
  r*tan(sta)*(-(cos(eta)^2 - 1)/(tan(sta)^2 + 1))^(1/2)
 -r*tan(sta)*(-(cos(eta)^2 - 1)/(tan(sta)^2 + 1))^(1/2)
 
 
z =
 
 r*cos(eta)
 r*cos(eta)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式