![]() |
编程请教!!!
我用matlab编程来计算函数
主要用牛顿插值多项式来模拟函数求得函数后再进行画图 程序如下: function yh=shiyan3(X,n) h=(X(2)-X(1))/n; x=X(1):h:X(2); y=(x.^2+1).^(-1) x1=(x(1)+x(2))/2:h:(x(n)+x(n+1))/2; p( : ,1)=x; p( : ,2)=y; for i=3:n+2 p(1:n+3-i,i)=diff(p(1:n+4-i,i-1))./(x(i-1:n+1)-x(1:n+3-i))'; end for k=1:length(x1) s=y(1); for i=3:n+2 q=1; for j=1:i-2 q=q*(x1(k)-x(j)) end s=s+p(1,i)*q; end y1(k)=s; end % 不加余项 for i=1:n xh(2*i-1)=x(i);xh(2*i)=x1(i); yh(2*i-1)=y(i);yh(2*i)=y1(i); end xh(2*n+1)=x(n+1); yh(2*n+1)=y(n+1); plot(xh,yh,'r:',x,(x.^2+1).^(-1),'b-') hold on plot(x,y,'b+') 但计算结果完全跑偏 计算差商之前应该没问题 关键在于模拟区间的牛顿多项式 我不知道错在哪里 还望高手指正 感激不尽!!! |
所有时间均为北京时间。现在的时间是 19:32。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.