我有一个等式:y=ax^3 + bx^2 + cx + d
和x = 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中:首先将在表达式x
中编写的y
和a*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 ])