matlab解三元二次方程

function f(x)=-x^4+(a+2b)*x^2+(c-2a)*x-b*c;
syms a b c
[a b c]=solve('f(1)=0','f(2)=0','f(3)=0','a','b','c')
我是matlab的新手,不知道问题出在哪里了,请大家帮忙~谢谢!

[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解三元二次方程组
>> [x,h]=fsolve(fun,rand(1,2))执行得到如下结果 从运算结果来看,上述值并不是真正的数值解。这说明该方程组无实数解,有复数解。

用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...

matlab解三元二次方程
[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 ...

matlab求解含字母系数的三元二次方程组
[x,y,z]=solve('a=((x+2*d)*z)\/((x+2)^2+y^2)','b= y\/(y^2+(x+1)^2)','c=x*z\/(x^2+y^2)')

Matlab解三元二次方程组问题,具体如下。
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 ...

有关MATLAB求解三元二次方程组的问题?
>> eq3=(141*(2*z - 16))\/(10*((z - 8)^2 + 25)^(1\/2)) - (18*(2*y - 2*z))\/(5*((y - z)^2 + (x - 15)^2)^(1\/2));>> [x,y,z]=solve(eq1,eq2,eq3,'x','y','z')经过在matlab7.0中尝试,发现没有问题,可以求解。x = 1861137696\/586981625+2173\/...

matlab解三元二次方程组,我的程序怎么运行不出想要的结果,请各位大侠指 ...
syms x y z [x,y,z]=solve('2.6926+0.0192\/(z^2-0.0195)-0.0143*z^2-x^2=0','2.1846+0.0085\/(z^2-0.0143)-0.0023*z^2-y^2=0','(x^2-y^2)\/(x^2+y^2)*1.54-z*5\/19=0')x=vpa(x,4)y=vpa(y,4)z=vpa(z,4)按上面语句试试 ...

使用Matlab求解三元二次方程组,但是不能求解,运行情况如下,麻烦精通M...
'(2*10^(-4)-0.1)*x+1.075*10^3*y-10^(-3)*z+1.5*x*y-2*x*z-0.5*y*y+0.5*y*z=-0.5*10^(-7)','2*10^(-4)*x-0.04*y-2*x*y-3*y*z=-2*10^(-6)','0.04*z+2*x*z+3*y*z=4*10^(-6)','x','y','z')0.5y*y+0.5y*z这个写错了 ...

matlab解三元二次方程 当x不等于0时可以解除结果,但x=0时却解不出,这...
b1)*Rr-l1*cos(b1)*sin(a1))^2+(y-sin(b1)*Rr-l1*sin(b1)*sin(a1))^2+(z+l1*cos(a1))^2-l2^2;eq2=(x-cos(b2)*Rr-l1*cos(b2)*sin(a2))^2+(y-sin(b2)*Rr-l1*sin(b2)*sin(a2))^2+(z+l1*cos(a2))^2-l2^2;eq3=(x-cos(b3)*Rr-l1*cos(b3)*sin(a3))...

MATLAB三元二次方程组,如何只保留X大于0的一组解呢?
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 ...

相似回答