matlab中程序一个自变量,多个中间变量的方程组求解 matlab解方程组含变量
matlab 求解多个变量的方程组
等号右边'x','y'只是声明变量,他们的排序对计算没有影响。另外matlab返回值的默认排序问题, 总是先x的值,再y的值, 再z的值...,它不管你等号左边变量的名称是什么,就算是[t,p]=solve(eq1, eq2, 'y','x'); t也是x的值, p也是y的值.
这样看
S1 = solve(eq1, eq2, 'x', 'y');
S2 = solve(eq1 ,eq2, 'y', 'x');
S1.x和S2.x的值是相同的, S1.y和S2.y的值也相同, 没有问题.
可以认为[x,y]=solve(eq1, eq2, 'x', 'y'); 的赋值相当于[x,y]=[S1.x, S1.y];
同理
[y,x]=solve(eq1, eq2, 'y','x'); 赋值相当于[y,x]=[S2.x, S2.y];
这样就导致了你所说的问题。
MATLAB 求解含多个解的方程组
(10-x-3*cosθ)^2+(3-y-3*sinθ)^2-5^2=0;①
(1-x+3*cosθ)^2+(2-y+3*cosθ)^2-6^2=0;②
((3-y-3*sinθ)/(10-x-3*cosθ))+(2-y+3*cosθ))/(1-x+3*cosθ))-2*tanθ=0;③
由②,(1-x)^2+6(1-x)cosθ+9cos^θ+(2-y)^2+6(2-y)cosθ+9cos^θ-36=0,
整理得18cos^θ+6(3-x-y)cosθ+x^2+y^2-2x-4y-31=0,
△/36=(3-x-y)^2-2(x^2+y^2-2x-4y-31)
=9-6(x+y)+(x+y)^2-2x^2-2y^2+4x+8y+62
=71-2x+2y-x^2+2xy-y^2
=-(x-y+1)^2+72,
所以cosθ=[x+y_3土√(71-2x+2y-x^2+2xy-y^2)]/6,④
由①,(10-x)^2-6(10-x)cosθ+(3-y)^2-6(3-y)sinθ-16=0,
整理得93-20x-6y+x^2+y^2-6(10-x)cosθ-6(3-y)sinθ=0,
把④代入上式得93-20x-6y+x^2+y^2-(10-x)[x+y-3土√(71-2x+2y-x^2+2xy-y^2)]-6(3-y)sinθ=0,
解得sinθ=……,⑤
④^2+⑤^2,消去θ,得⑥
把④⑤代入③,消去θ,得⑦。
由⑥⑦解得x,y.
代入④⑤,求θ。
仅供参考。
matlab里有多个自变量怎么办
用matlab处理有多个自变量的问题,可以这样来处理,将多个自变量看成一个变量向量组。例如:下列方程
f(x,y,z)=x^3+y^2+z^4
可以这样来写
y=x(1)^3+x(2)^2+x(3)^4
这样问题,就变成了二元几次方程(自变量x,因变量y)了。
matlab有变量的方程组求解,写出具体编程
matlab有变量的方程组求解方法。利用for循环语句,有vpasolve()函数解出x,y值。求解过程:
a=0:0.1:(50*3.14/180); x1=2720*cos(a)-280*sin(a); y1=2720*sin(a)+280*cos(a);
for i=1:length(a)
syms x y
[x,y]=vpasolve((x-2312)^2+(y-100)^2-1450^2==0,(x-x1(i))^2+(y-y1(i))^2-1100^2==0)
end
求解所有解的结果