这个用C++怎么实现啊

wangyiyuan44 2010-09-25 11:10:46
已知根号4=2.根号9=3,根号16=4,用拉格朗日插值法计求根号7
计算公式F(x)=f(x0)L0(x)+f(x1)L1(x)+f(x2)L2(x)
x1=4,f(x1)=2.x2=9,f(x2)=3.x2=16,f(x2)=4
步骤 L0(x)=(x-x1)(x-x2)/(x0-x1)(x0-x2)
L1(x)=(x-x0)(x-x2)/(x1-x0)(x1-x2)
L2(x)=(x-x1)(x-x2)/(x2-x1)(x2-x0)
代入数值L0(x)=1/60(x-9(x-16)
L1(x)=-1/35(x-4(x-16)
L2(x)=1/84(x-9(x-16)
F(x)=1/30(x-9(x-16)-3/35(x-4(x-16)+1/21(x-9(x-16)
其中x=7
...全文
141 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangyiyuan44 2010-09-25
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;
int main() {
double x = 7, x0 = 4, fx0 = 2, x1 = 9, fx1 = 3, x2 = 16, fx2 = 4;
double l0 = (x - x1) * (x - x2) / (x0 - x1) / (x0 - x2);
double l1 = (x - x0) * (x - x2) / (x1 - x0) / (x1 - x2);
double l2 = (x - x1) * (x - x2) / (x2 - x1) / (x2 - x0);
double F = fx0 * l0 + fx1 * l1 + fx2 * l2;
cout << F << endl;
return 0;
}
Dstnoe 2010-09-25
  • 打赏
  • 举报
回复
楼主试着 实现函数 f();L();F();
然后main()函数里组装;

或者 全用宏定义实现,但是要注意括号一定的注意!
visualwind 2010-09-25
  • 打赏
  • 举报
回复
把表达式照着写进C++就行了,注意该加括号的地方加括号
wangyiyuan44 2010-09-25
  • 打赏
  • 举报
回复
苍天啊大地啊,人在那里,

65,206

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧