数值分析插值matlab程序1..docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值分析插值matlab程序1.

%高斯赛德尔迭代解线性方程组 a=input(请输入系数矩阵a:) %输入系数矩阵a disp(a) [m,n]=size(a) if m~=n %若a不是方阵则显示错误 disp(false) end de=det(a); if de==0 %判断矩阵a是否为奇异矩阵 disp(矩阵奇异) end b=input(请输入b矩阵:) %输入矩阵b disp(b) x=input(请输入迭代初始值:) disp(x) k=x; jindu=10e-7 %迭代精度 p=jindu+1; while p=jindu %迭代次数控制条件 s=zeros(m,1); te=zeros(m,1); for i=1:m %迭代计算 for j=1:i-1 s(i)=s(i)+a(i,j)*k(j); end for j=i+1:n te(i)=te(i)+a(i,j)*x(j); x=k; end k(i)=(b(i)-s(i)-te(i))/a(i,i) end if norm(k(i)-x(i),inf)jindu %迭代终止条件的控制 p=abs(k(i)-x(i)); else break 拉格朗日算法 #includeiostream.h int main() { float x;//插值 float p[10][2];//已知(x0,y0),(x1,y1)... int n;//输入已知插值组数 float y,t; int k; cout输入插值组数:endl; cinn; cout输入n组已知插值数(X,Y)endl; for(int i=0;in;i++) { cinp[i][0]p[i][1]; } cout输入插值:endl; cinx; y=0; k=0; for(k=0;kn;k++) { t=1; for(i=0;in;i++) { if(i!=k) { t=t*(x-p[i][0])/(p[k][0]-p[i][0]); //key step } } y=y+p[k][1]*t; } cout插值结果:yendl; return 0; } clear; e=100; %误差初值 disp(输入方程组维数\n); n=input(\n); for(i=1:n) for(j=1:n) fprintf(输入方程组第%d行第%d列的系数(从左到右,从上到下)\n,i,j); a(i,j)=input(\n); end end for(i=1:n) fprintf(输入等号右边第%d个系数\n,i); y(i,1)=input(\n); end for(i=1:n) fprintf(输入第%d个变量的初值\n,i); x(i,1)=input(\n); end fprintf(输入精确度\n); p=input(\n); for(i=1:n) for(j=1:n) if i~=j b(i,j)=-a(i,j)/a(i,i); else b(i,j)=0; end g(i,1)=y(i,1)/a(i,i); end g(i,1)=y(i,1)/a(i,i); end while ep|e-p x1=b*x+g; e1=x1(1,1)-x(1,1); e2=x1(2,1)-x(2,1); e3=x1(3,1)-x(3,1); e4=min(e1,e2); e5=min(e1,e3); e=min(e4,e5); x=x1; end for(i=1:n) fprintf(x%d=%f\n,i,x(i,1)); end 雅克比迭代二 function [x,n]=jacobi(A,b,x0,eps,M) %雅可比迭代求解线性方程组 %x 解 n 达到所需精度实际用的步数 %对输入单数进行默认设置 x0初始值 eps精度 M限制步数 if nargin==3 eps=1.0e-6; M=200; elseif nargin==4 M=200; elseif nargin3 error; return; end D=diag(diag(A)); B=inv(D)*(D-A); f=inv(D)*b; x=B*x0+f;%迭代公式 n=1; while norm(x-x0)=eps x0=x; x=B*x0+f; n=n+1; %如果不收敛从此退出 if(n=M) disp(迭代次数过多可能不收敛!!); return; end end 程序1:要求给出插值次数的多项式最小二乘法 syms x f; xx=input(请输入插值节点

文档评论(0)

stzs + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档