程序一高斯消去法求解方程组Ax=b.DOC

上传人:天*** 文档编号:954852 上传时间:2018-11-09 格式:DOC 页数:3 大小:45.50KB
下载 相关 举报
程序一高斯消去法求解方程组Ax=b.DOC_第1页
第1页 / 共3页
程序一高斯消去法求解方程组Ax=b.DOC_第2页
第2页 / 共3页
程序一高斯消去法求解方程组Ax=b.DOC_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、- 1 -程序一 高斯消去法求解方程组Ax=b( )0A程序代码:function x=solve_zz(A,b) %用高斯消去法求解方程组 Ax=bn=length(A);for k=1:n-1temp1=abs(A(k,k);h=k; %标记最大的行 初值为 kfor i=k+1:nif temp1 solve_zz(2 2 2;3 2 4;1 3 9,1 1/2 5/2)ans =-0.5000 1.0000 0.0000 solve_zz(0.0001,1;1 1,1 2)ans =1.01 0.9999程序二 拉格朗日多项式插值 nk nkkkk xxxxyL0 110 )()()(

2、)(程序代码:function y=lglrcz(xi,yi,x,n) %拉格朗日插值 (xi,yi)为输入点,x 是插值点,%n 阶多项式,条件 x 应在 min(xi)和max(xi)内L=length(xi);y=0;for k=1:n+1p=1;for j=1:n+1if j=kp=p*(x-xi(j)/(xi(k)-xi(j);endendy=y+p*yi(k);end运行: lglrcz(100 121 144,10 11 12,115,2)ans =10.7228lglrcz(100 121 144,10 11 12,115,1)ans =- 2 -10.7143程序三 最小二乘

3、法拟合程序代码:function a,r=zxecf(x,y,n) %最小二乘法拟合 (x,y)是已知点 %n 是拟合曲线的阶数,r 是产生的均方差C,Y=P_C(x,y,n); %P_C 完成 C Y 的计算a=s_slove(C,Y); %求解方程 Ca=Y%a=CY; L=length(x);s=0;for i=1:Ltemp=a(1);for j=2:n+1temp=temp+a(j)*x(i);endtemp=temp-y(i);s=s+temp2;endr=sqrt(s);function C,Y=P_C(x,y,n) %找出 C 矩阵和 Y 矩阵,CA=Y ,A=CYtemp1=

4、zeros(1,2*n+1);m=length(x);for i=1:2*n+1for w=1:m;temp1(i)=temp1(i)+x(w)(i-1);endendtemp2=zeros(1,n+1);for l=1:n+1for w=1:mtemp2(l)=temp2(l)+y(w)*x(w)(l-1);endendC=zeros(n+1,n+1);for j=1:n+1for k=1:n+1C(j,k)=temp1(j+k-1);endendY=temp2;function s=s_slove(A,b) %Ax=b 求解 克莱姆法则求解方程组%Dt=det(A);Dt=det_M(A)

5、;L=length(b);temp=A;for i=1:Ltemp=A;temp(:,i)=b;%s(i)=det(temp)/Dt;s(i)= det_M(temp)/Dt;end function s=det_M(M) %递推求矩阵 M 的行列式值L=length(M);s=0;if L=1s=M;elsefor j=1:Ls=s+M(1,j)*(-1)(j+1)*det_M(M(2:L,1:j-1 j+1:L);endend运行: X=36.90 46.70 63.70 77.00 84.00 87.50; Y=181 197 235 270 283 292;a,r=zxecf(X,Y,

6、1)a =95.3524 2.2337r =5.1629程序四 复合梯形公式求解数值积分 11221 2)()(kkk i kabiafbTfa程序代码:function T,N=fhtxgsjf(a,b,r,k) % 用复合梯形公式求积分 (a ,b)是已知区间,r 是精度要求, k 是预设计算 T 的次数- 3 -%以对函数 4/(1+x2)求积为例format long %更改数据类型temp=; temp(1)=0.5*(b-a)*(fun_test(a)+fun_test(b);for i=1:km=2(i-1);n=2*m;A=(b-a)/2i;temp(n)=0.5*temp(m);for j=1:mx=a+(2*j-1)*A;temp(n)=temp(n)+A*fun_test(x);endif abs(temp(n)-temp(m) T N=fhtxgsjf(0,1,0.000001,10)T =3.141590110458282N =9

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。