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

温馨提示:答案为网友推荐,仅供参考