77范文网 - 专业文章范例文档资料分享平台

matlab上机作业报告(计算初等反射阵,用Householder变换法对矩阵A(4)

来源:网络收集 时间:2019-03-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000

1.0000 1.0011 1.0022 1.0031 1.0039 1.0044 1.0047 1.0045

1.0000 1.0022 1.0042 1.0061 1.0076 1.0087 1.0091 1.0088

1.0000 1.0031 1.0061 1.0088 1.0110 1.0126 1.0133 1.0128

1.0000 1.0039 1.0076 1.0110 1.0138 1.0159 1.0168 1.0162

1.0000 1.0044 1.0087 1.0126 1.0159 1.0189

1.0000 1.0047 1.0091 1.0133 1.0168 1.0203

1.0000 1.0045 1.0088 1.0128 1.0162 1.0201

1.0000 1.0037 1.0073 1.0107 1.0136 1.0175

1.0000 1.0023 1.0045 1.0066 1.0084 1.0113

1.0000 1.0000 1.0000 1.0000 1.0000 1.0000

Columns 9 through 11

1.0000 1.0000 1.0000 1.0037 1.0023 1.0000 1.0073 1.0045 1.0000 1.0107 1.0066 1.0000 1.0136 1.0084 1.0000 1.0160 1.0100 1.0000 1.0174 1.0110 1.0000 1.0175 1.0113 1.0000 1.0155 1.0103 1.0000 1.0103 1.0072 1.0000 1.0000 1.0000 1.0000

>> contourf (u, 'DisplayName', 'u'); figure(gcf)

1.0183 1.0194 1.0194 1.0208 1.0189 1.0203 1.0160 1.0174 1.0100 1.0110 1.0000 1.0000

11109876543211234567891011

图二 块Gauss-Sediel迭代法

三 (预条件)共轭斜量法求解线性方程组Au=f。 1.基本原理

(1)预条件共轭斜量法原理 ?1?TT?1Au?b?CACCu?Cb?Au?b

?1?T?1T其中A?CAC,b?Cb,u?Cu,

令M=CC称为预优矩阵,当M接近A时,A接近单位阵,cond(A)2接近1,对Au?f用共轭斜量法求解,可达到加速的目的。T(2)预优矩阵的选取

?A212??IA???????IA33????I????I??AN?1,N?1??

M取为块Jacobi迭代的块对角阵,?A22?M???????????An?1,n?1??A33?

2. 算法

(1)取初值u(0)?R(n),r(0)(0)?b?Au(0)(0),(0)(2)解方程组Mz(3)k?0,1,...,(0)?r,求出z,令p?z(0)?k?ur(k?1)(k?1)(z(k),r(k)))(k)(k)(k?1)(Ap?u?r(k)(k),p(k)??kp(k)??kAp(k?1)(k?1)(k)解方程组Mz?r)?k?(4)直到r(k?1)(z(k?1)(k),r,r(z)(k?1)p。(k?1)?z(k?1)??kp(k)??,输出u3.程序

%用J-PCG求解正方形域上的Poisson方程边值问题

%输入n,对x、y轴进行n等分;先确定场u的边界及场源b; %用k和u分别返回迭代次数和精确解 function [k,u]=J_CG(n)

h=1/n; %h步长

u=zeros(n+1,n+1); %对u赋初值

u(1,1:n+1)=1;u(n+1,1:n+1)=1;u(1:n+1,1)=1;u(1:n+1,n+1)=1; b=zeros(n+1,n+1); %计算场源b for i=2:n+1 for j=2:n+1

b(i,j)=(i-1)*(j-1)*h^2; end end b=h^2*b; for i=2:n

b(2,i)=b(2,i)+u(1,i);b(i,n)=b(i,n)+u(i,n+1);

b(n,i)= b(n,i)+u(n+1,i);b(i,2)= b(i,2)+u(i,1);

end

z=zeros(n-1,n-1);r=zeros(n-1,n+1);p=zeros(n-1,n-1);bb=zeros(n-1,n-1); A=zeros(n-1,n-1); %定义矩阵的子块A for i=1:n-1

if i>1, A(i,i-1)=-1; end if i

end

for j=2:n

if j==2, bb(:,1)=A*u(2:n,2)-u(2:n,3); end ?=A*u

if j==n, bb(:,n-1)=A*u(2:n,n)-u(2:n,n-1); end

if j>2&j

r=b(2:n,2:n)-bb; %计算r0 for i=1:n-1 %计算z0 z(:,i)=pinv(A)*r(:,i); end

p=z; %计算p0 tic;

e=0.000000001; %e是精度 for k=1:1000

error=0;a=0;aa=0;cc=0;ub=u; for i=1:n-1

aa=aa+dot(z(:,i),r(:,i));

if i==1, cc=cc+dot((A*p(:,i)-p(:,i+1)),p(:,i));end

if i>1&i

a=aa/cc; %a是(z(k),r(k))/(Ap(k),p(k)),确定搜索步长 u(2:n,2:n)= u(2:n,2:n)+a*p; %对u进行更新计算

rr=r;zz=z; %rr和zz存储第k-1次的r和z for i=1:n-1

if i==1, r(:,i)= r(:,i)-a*(A*p(:,i)-p(:,i+1));end

if i>1&i

z(:,1:n-1)=pinv(A)*r(:,1:n-1); %Mz kk=0;mm=0;

for i=1:n-1

kk=kk+dot(z(:,i),r(:,i)); mm=mm+dot(zz(:,i),rr(:,i)); end

beita=kk/mm; ?ita是(z(k?1)(k?1)?r(k?1)

,r(k?1))/(z(k),r(k))

p=z+beita*p; %对p进行更新,确定搜索方向 error=sqrt(norm(u-ub)); %error是统计误差

if error<=e, break; end %判断误差是否达到精度 end

t=toc %统计计算时间

4. 计算结果: >> format short >> n=10;

>> [k,u]=J_CG(n) t = 0.1100 k = 37 u =

1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000

1.0000 1.0011 1.0022 1.0031 1.0039 1.0045 1.0037 1.0023 1.0000

1.0000 1.0022 1.0042 1.0061 1.0076 1.0088 1.0073 1.0045 1.0000

1.0000 1.0031 1.0061 1.0088 1.0110 1.0128 1.0107 1.0066 1.0000

1.0000 1.0039 1.0076 1.0110 1.0138 1.0162 1.0136 1.0084 1.0000

1.0000 1.0044 1.0087 1.0126 1.0159 1.0189 1.0160 1.0100 1.0000

1.0000 1.0047 1.0091 1.0133 1.0168 1.0203 1.0174 1.0110 1.0000

1.0000 1.0045 1.0088 1.0128 1.0162 1.0201 1.0175 1.0113 1.0000

1.0000 1.0037 1.0073 1.0107 1.0136 1.0175 1.0155 1.0103 1.0000

1.0000 1.0023 1.0045 1.0066 1.0084 1.0113 1.0103 1.0072 1.0000

1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000

>> contourf (u, 'DisplayName', 'u'); figure(gcf)

1.0000 1.0000 1.0044 1.0047 1.0087 1.0091 1.0126 1.0133 1.0159 1.0168 1.0183 1.0194 1.0194 1.0208 1.0189 1.0203 1.0160 1.0174 1.0100 1.0110 1.0000 1.0000

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库matlab上机作业报告(计算初等反射阵,用Householder变换法对矩阵A(4)在线全文阅读。

matlab上机作业报告(计算初等反射阵,用Householder变换法对矩阵A(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/525480.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: