查找三次多项式

问题描述 投票:1回答:1

我有一个等式:y=ax^3 + bx^2 + cx + dx = 1, 2, 3, 4时的值列表y = 3, 4, 3, -6。在八度中,我想:

(a)建立一个包含a,b,c和d的四个方程的系统。例如,将(x,y)=(1,3)代入多项式可得出等式3 = a + b + c + d。

((b)解决(a)中的系统。

我一直在努力寻找如何做到这一点的三个小时,却一无所获。任何帮助,将不胜感激

谢谢。

pstscrpt-我必须在Octave中做所有事情,即使我可以手工找到它

matlab octave polynomials
1个回答
0
投票

[在Matlab中:首先将在表达式x中编写的ya*x^3 + b*x^2 + c*x + d = y的不同值替换为:

syms a b c d
eqn1 = a*1^3 + b*1^2 + c*1^1 +d ==  3 ;
eqn2 = a*2^3 + b*2^2 + c*2^1 +d ==  4 ;
eqn3 = a*3^3 + b*3^2 + c*3^1 +d ==  3 ;
eqn4 = a*4^3 + b*4^2 + c*4^1 +d == -6 ;

然后使用equationsToMatrix将方程式转换为AX = B形式。 equationsToMatrix的第二个输入指定方程式中的自变量。

 [A,B] = equationsToMatrix([eqn1, eqn2, eqn3, eqn4], [a, b, c,d ])

a,b,c,d的解是:

 X = linsolve(A,B)

如果需要,也可以使用

sol = solve([eqn1, eqn2, eqn3, eqn4], [a, b, c,d ])
© www.soinside.com 2019 - 2024. All rights reserved.