MATLAB中的SOLVE问题
s=solve('Y1/8=(X1-100)/(-100)','(Y-Y1)/(1-Y1)=(X-X1)/(1.6-X1)','13500+S=R+E','13500*s...
s=solve('Y1/8=(X1-100)/(-100)','(Y-Y1)/(1-Y1)=(X-X1)/(1.6-X1)','13500+S=R+E','13500*sqrt(X1^2+(Y1-8)^2)=S*sqrt((100-X1)^2+Y1^2)','R*sqrt((X1-1.6)^2+(Y1-1)^2)=E*sqrt((X-X1)^2+(Y-Y1)^2)','13500*8=R*Y1+E*Y','S*100=R*1.6+E*X')
这个明明有七个方程七个变量,MATLAB告诉我只有六个变量,求助 展开
这个明明有七个方程七个变量,MATLAB告诉我只有六个变量,求助 展开
2个回答
2015-04-06 · 知道合伙人互联网行家
关注
展开全部
这是由于matlab里面有个关于默认自变量规定问题
一般情况下默认自变量为表达式中距离x最近的字母
你可以用这种方法来求解
[x0]=solve('2600*(z0+15)=(z0-24985)*x1')
[z0]=solve('2600*(z0+15)=(z0-24985)*x1')
由于上两行行中只有X1与z0两个变量,而且X1与X较近,所以是求解x1
为了求解z0,可以用
[z0]=solve('2600*(z0+15)=(z0-24985)*x1','z0')
这样的话就没问题了
建议你指定代求变量
相关函数
findsym 查找自变量,比较有用
一般情况下默认自变量为表达式中距离x最近的字母
你可以用这种方法来求解
[x0]=solve('2600*(z0+15)=(z0-24985)*x1')
[z0]=solve('2600*(z0+15)=(z0-24985)*x1')
由于上两行行中只有X1与z0两个变量,而且X1与X较近,所以是求解x1
为了求解z0,可以用
[z0]=solve('2600*(z0+15)=(z0-24985)*x1','z0')
这样的话就没问题了
建议你指定代求变量
相关函数
findsym 查找自变量,比较有用
展开全部
Y1 X1 X S R E不是6个吗??
追问
还有Y···
追答
solve('Y1/8=(X1-100)/(-100)','(Y-Y1)/(1-Y1)=(X-X1)/(1.6-X1)','13500+S=R+E','13500*sqrt(X1^2+(Y1-8)^2)=S*sqrt((100-X1)^2+Y1^2)','R*sqrt((X1-1.6)^2+(Y1-1)^2)=E*sqrt((X-X1)^2+(Y-Y1)^2)','13500*8=R*Y1+E*Y','S*100=R*1.6+E*X')
ans =
E: [3x1 sym]
R: [3x1 sym]
S: [3x1 sym]
X: [3x1 sym]
X1: [3x1 sym]
Y: [3x1 sym]
Y1: [3x1 sym]
E等于 6426.4416156024399657136432286025
其他自己看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询