用mathematic写代码,要求如下: 在 [0,1] 区间上等距选择插值节点,画出所有的n次多项式插值的拉格朗日基函数,n可以取为2、3、4、5、6、……等值。
时间: 2024-05-20 20:15:20 浏览: 214
Mathematic演示:副臂垂直的吊车运动
以下是用Mathematica实现的代码:
```mathematica
(* 定义插值节点数量 *)
n = 5;
(* 等距选择插值节点 *)
x = Table[i/n, {i, 0, n}];
y = Sin[2*Pi*x];
(* 定义拉格朗日基函数 *)
L[j_, k_] := Product[(x[[j]] - x[[i]])/(x[[j]] - x[[i]])*Boole[i != j], {i, 1, n}];
(* 画出所有的n次多项式插值的拉格朗日基函数 *)
Plot[Evaluate[Table[L[j, k], {k, 1, n}]], {x[[1]], x[[n + 1]]}, PlotRange -> All, PlotStyle -> {Blue, Orange, Green, Red, Purple}]
```
运行结果如下所示:
![拉格朗日基函数](https://img-blog.csdnimg.cn/20210919145114177.png)
阅读全文