如何在Matlab中求解3个未知系数的方程?

时间:2015-11-10 11:20:03

标签: matlab function interpolation spline cubic-spline

我有这个三次样条函数:

s(x) = 4 + k1*x + 2x^2 - (1/6)*x^3  for x in [0,1]
s(x) = 1 - (4/3)*(x-1) + k2*(x-1)^2 - (1/6) * (x-1)^3 for x in [1,2]
s(x) = 1 + k3*(x-2) + (x-2)^2 - (1/6) * (x-2)^3 for x in [2,3]

我想实现一个简单的函数,它给出了这个函数,它确定了系数k1,k2和k3,但我不能这样做..

有人有想法吗?

1 个答案:

答案 0 :(得分:0)

将3个函数表示为s0(x),s1(x)和s2(x),可以展开s1(x)和s2(x)并收集x ^ 3,x ^ 2,x和x的系数不变的条款。然后,你得到

  

s1(x)= 4 + k1 * x + 2 * x ^ 2-(1/6)* x ^ 3
s2(x)=   (5/2 + k2)+( - 11 / 6-2k2)* x +(k2 + 1/2)* x ^ 2-(1/6)* x ^ 3
s3(x)= .. ......(离开我们的   为了你自己的实践)

对于这三个函数都是三次多项式,它们应该是相同的。所以,你可以拥有

4 = 5/2 + k2
k1 = -11/6 - 2k2
2 = k2 + 1/2

你可以得到k1 = -29 / 6,k2 = 3/2。

比较方程s0(x)和s2(x),你也可以得到k3 = 7/6。