找回密码
 注册
Simdroid-非首页
查看: 111|回复: 2

[基础概念] 拉格朗日函数如何定义?

[复制链接]
发表于 2013-10-7 16:44:58 | 显示全部楼层 |阅读模式 来自 上海
本帖最后由 daphne_wj 于 2013-10-8 10:45 编辑

比如
  1. Clear["Global`*"]
  2. \[Xi]\[Xi] = {-1, 0, 1}
  3. i = 1;
  4. lagrange[\[Xi]_] = 1.;
  5. Do[If[j != i,
  6.   lagrange[\[Xi]_] =
  7.    lagrange[\[Xi]] (\[Xi] - \[Xi]\[Xi][[j]])/(\[Xi]\[Xi][] - \[Xi]\
  8. \[Xi][[j]])], {j, 1, 3}]
复制代码



但是我想实现i同时作为自变量,比如


但这样行不通


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2013-10-8 01:47:09 | 显示全部楼层 来自 北京
Simdroid开发平台
  1. lagrPoly[A_, B_] := Table[Product[If[i != j, (x - j)/(i - j), 1], {j, A}], {i, A}].B;
  2. lagrPoly2[pts_] :=
  3. With[{k = Length[pts]},
  4.   Sum[pts[[j, 2]]* Product[If[j != m, (x - pts[[m, 1]])/(pts[[j, 1]] - pts[[m, 1]]), 1], {m, 1, k}], {j, 1, k}]]

  5. p = {{1, 2, 3, 4}, {1, 1, 2, 3}};
  6. pt = Transpose[p]
  7. lagrPoly @@ p // Simplify
  8. lagrPoly2@p1 // Simplify
  9. InterpolatingPolynomial[p1, x] // Simplify
复制代码

点评

:victory: 看了一天才算基本明白,谢谢,我再仔细消化下  发表于 2013-10-10 09:43
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-27 17:14 , Processed in 0.030968 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表