matlab解三元二次方程
functionf(x)=-x^4+(a+2b)*x^2+(c-2a)*x-b*c;symsabc[abc]=solve('f(1)=0','f(2)=0','f(3)=...
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的新手,不知道问题出在哪里了,请大家帮忙~谢谢! 展开
syms a b c
[a b c]=solve('f(1)=0','f(2)=0','f(3)=0','a','b','c')
我是matlab的新手,不知道问题出在哪里了,请大家帮忙~谢谢! 展开
1个回答
展开全部
[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
结果
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询