1. 首页 > 科技

matlab中程序一个自变量,多个中间变量的方程组求解 matlab解方程组含变量

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

求解所有解的结果