一、实验目的
在已知f(x),x∈[a,b]的表达式,但函数值不便计算,或不知f(x),x∈[a,b]而又需要给出其在[a,b]上的值时,按插值原则f(xi)= yi(i= 0,1…….,n)求出简单函数P(x)(常是多项式),使其在插值基点xi,处成立P(xi)= yi(i=0,1,……,n),而在[a,b]上的其它点处成立f(x)≈P(x).
二、实验原理
三、实验程序
四、实验内容
求之f(x)=x4在[0,2]上按5个等距节点确定的Lagrange插值多项式.
五、实验程序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | syms x f(x)=x^4; a=0; b=2; %左右断点值 n=4; %节点数为n+1 h=(b-a)/n; %h为相邻节点间的间距 u=1/2; v=1/2; %等距节点下u,v的值一直为1/2 d= zeros (n+1,1); D= zeros (n+1,n+1); S= cell (4,1); d(1)=12/h*((f(a+h)-f(a))/h-subs( diff (f(x)),x,a)); d(n+1)=12/h*(subs( diff (f(x)),x,b)-(f(b)-f(b-h))/h); D(n+1,n+1)=4; for i =2:n d( i )=12*((f(a+h* i )-f(a+h*( i -1)))/h-(f(a+h*( i -1))-f(a+h*( i -2))/h))/(2*h); end for j =1:n D( j , j )=4; D( j , j +1)=v; D( j +1, j )=u; end M= linsolve (D,d); for k=1:n s1=M(k,1)*(a+h*k-x)^3/(6*h)+M(k+1,1)*(x-a-h*(k-1))/(6*h)+f(a+h*(k-1)-M(k,1)*h*h/6)*((a+h*k-x)^3/(6*h)+M(k+1,1)*(x-a-h*(k-1)))/h+(f(a+h*k)-M(k+1,1)*h*h/6)*(x-a-h*(k-1))/h; s2=vpa(s1,4); S{k,1}= char (s2); end |
五、运算结果
分类:
数值分析
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· 程序员常用高效实用工具推荐,办公效率提升利器!
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 【译】WinForms:分析一下(我用 Visual Basic 写的)