matlab解三元二次方程

来自:识号    更新日期:早些时候
用matlab求解一个三元二次方程组~

由于该三元二次方程组有多个解,每组x,y,z各有6个,所以其图像如下所示。

实现代码:
a=0.2;
b0=[0.1:0.1:10];
for i=1:length(b0)
syms x y z
b=b0(i);
[x,y,z]=vpasolve(a*(x^2+y^2)+(1-2*a)*x+(a-1)-2*b*z==0,a*y*(x+z)+(1-2*a)*y-b*z==0,a*(y^2+z^2)+(1-2*a)*z+(a-1)==0);
y0(i,:)=y;
end
plot(y0,b0,'.-')
xlabel('y'),ylabel('b')
如为实数解的话,还应去掉复数解。

x1=-226.11;
y1=238.802;
z1=-1577;
x2=223.1317;
y2=201.5533;
z2=-1577;
x3=-277.2719;
y3=-202.0605;
z3=-1577;
syms t1 t2 t3
eq1=(t1*x1-t2*x2)^2+(t1*y1-t2*y2)^2+(t1*z1-t2*z2)^2-532.8689^2;
eq2=(t1*x1-t3*x3)^2+(t1*y1-t3*y3)^2+(t1*z1-t3*z3)^2-532.8689^2;
eq3=(t3*x3-t2*x2)^2+(t3*y3-t2*y2)^2+(t3*z3-t2*z2)^2-753.5904^2;
[t1 t2 t3]=solve(eq1,eq2,eq3,'t1','t2','t3')
楼主我用solve可以解出解来,你参考一下

[a,b,c]=solve('-1^4+(a+2*b)*1^2+(c-2*a)*1-b*c=0','-2^4+(a+2*b)*2^2+(c-2*a)*2-b*c=0','-3^4+(a+2*b)*1^3+(c-2*a)*3-b*c=0','a','b','c')

结果
a =

-16
-37/3

b =

23/6
2

c =

8
46/3

谢谢,但是感觉每次都要输一遍太麻烦了,能不能用founction语句定义一下?
首先 建个M文件,文件名为f.m,把如下代码拷贝进去
function z=f(x)
syms a b c;
z=-x^4+(a+2*b)*x^2+(c-2*a)*x-b*c;

然后再建个M文件,文件名为a.m,把如下代码拷贝进去
z1=f(1);
z2=f(2);
z3=f(3);
[a,b,c]=solve(z1,z2,z3,'a','b','c')

运行就可以了
a =

-16
-37/3

b =

23/6
2

c =

8
46/3


matlab解三元二次方程视频

相关评论:
  • 17517983891用matlab解三元二次方程组
    井茂邰>> [x,h]=fsolve(fun,rand(1,2))执行得到如下结果 从运算结果来看,上述值并不是真正的数值解。这说明该方程组无实数解,有复数解。

  • 17517983891用matlab求解一个三元二次方程组
    井茂邰由于该三元二次方程组有多个解,每组x,y,z各有6个,所以其图像如下所示。实现代码:a=0.2;b0=[0.1:0.1:10];for i=1:length(b0)syms x y z b=b0(i);[x,y,z]=vpasolve(a*(x^2+y^2)+(1-2*a)*x+(a-1)-2*b*z==0,a*y*(x+z)+(1-2*a)*y-b*z==0,a*(y^2...

  • 17517983891matlab解三元二次方程
    井茂邰[a,b,c]=solve('-1^4+(a+2*b)*1^2+(c-2*a)*1-b*c=0','-2^4+(a+2*b)*2^2+(c-2*a)*2-b*c=0','-3^4+(a+2*b)*1^3+(c-2*a)*3-b*c=0','a','b','c')结果 a = -16 -37\/3 b = 23\/6 2 c = 8 46\/3 ...

  • 17517983891怎么用matlab解二元或三元二次方程
    井茂邰你可以直接用solve()函数来求解。如 1、x^2+y=10 >>syms x y, y=solve(x^2+y-10,y) %得到 y 值 >>syms x y, x=solve(x^2+y-10,x) %得到 x 值 2、x^2+y^2-z^2=10 >> syms x y z, x=solve(x^2+y^2-z^2-10,x)>> syms x y z, y=solve(x^2+y^2-z...

  • 17517983891Matlab解三元二次方程组问题,具体如下。
    井茂邰exp2 = C2*X1+C4*X2-C5*X3^2-C7*X3-C10;exp3 = C3*X1+C4*X2-C5*X3^2-C8*X3-C11;[X1,X2,X3] = solve(exp1,exp2,exp3,'X1,X2,X3'); % 直接用 solve 解决 x1 = double(X1)x2 = double(X2)x3 = double(X3)x1 = 0.6280 x2 = -0.3362 x3 = 0.4687 ...

  • 17517983891怎样使用matlab计算二次方程数值解
    井茂邰1、首先,单击【mode】按钮,进入计算器系统,如下图所示,然后进入下一步。2、其次,单击输入2:stat,如下图所示,然后进入下一步。3、接着,选择二次方程式,如下图所示,然后进入下一步。4、然后,输入三个坐标系(-1,0,1),如下图所示,然后进入下一步。5、随后,单击纸字下的AC按钮,...

  • 17517983891用matlab中的solve函数解一个三元二次方程组
    井茂邰solve求解得到的是方程的解析解,如果没有解MATLAB不可能解出来的,就算方程有解也不一定能解出

  • 17517983891MatLab求解三元二次方程组
    井茂邰(x-x1)²+(y-y1)²+(z-z1)²=d1²(x-x2)²+(y-y2)²+(z-z2)²=d2²(x-x3)²+(y-y3)²+(z-z3)²=d3²(x-x4)²+(y-y4)²+(z-z4)²=d4²计算出位置点坐标 行列式计算也...

  • 17517983891matlab如何解二元二次方程组?
    井茂邰用matlab解二元二次方程组,可以直接用solve()函数来求解。例如:>>[x,y] = solve('x^2*y^2 - 2*x - 1 = 0','x^2 - y^2 - 1 = 0')运行结果 对于较复杂的方程,也可以用数值分析的方法,如fsolve()函数、二分法,牛顿法,求出其数值解。

  • 17517983891matlab求解二次方程通解
    井茂邰2、这个是微分方程,需要知道初始条件。题主未指明初始条件,默认按照初始条件为0考虑。3、微分方程的强迫运动项为P0的导数,应该首先求出导数,这可以借助于符号运算,也可以直接手工求导。4、微分方程可以通过定义匿名函数来做。参考代码:syms tP0=4.94-0.617*cos(43.88*t)+0.1106*sin(43.88*...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网