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

基于MATLAB的数值分析编程上机作业1

来源:用户分享 时间:2025/8/26 20:31:43 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

基于MATLAB的数值分析编程上机作业(1)

二、用Householder变换法求矩阵A的正交分解A=QR。 1、基本原理: 任一实列满秩的m×n矩阵A,可以分解成两个矩阵的乘积,即A=QR,其中Q是具有法正交列向量的m×n矩阵,R是非奇异的n阶上三角阵。 算法:

1、 输入n阶矩阵A

2、 对A?k:n,k?,求Househoulder初等反射阵的?k,u(k)。k?1,2,?,n?1 3、 计算上三角阵R,仍然存储在A

HkA(k)?A(k?1)

j?k,k?1,?,n

1?n?k?(k)?tj???uiaij??k?i?k? (k?1)(k)aij?aij?tjui?k?

4、计算正交阵Q

Q(1)?IQHk?Qi?1,2,?,n

(k)(k?1)

ti?

1?k?qj?kn(k)iju?jk?

j?k,k?1,?,n(k?1)(k)qij?qij?tiu?jk?5、按要求输出 结束

2、程序代码: function [Q,A]=qrhh(A) %QRHH 用Householder变换法对n阶矩阵A作正交分解A=QR; %程序功能:函数qrhh用Householder变换法对矩阵A作正交分解A=QR; %输入:n阶矩阵A; %输出:[Q,A]。Q是具有法正交列向量的n阶矩阵, % A(即R)是非奇异的n阶上三角阵,仍用输入的矩阵A存储。 %引用函数: % holder2;示例 [p,u]=holder2(x); %使用举例: % [Q,R]=qrhh(A) %变量说明: % A - 输入的n阶矩阵,同时用于存储上三角阵R; % n - 矩(方)阵A的阶数;

4

基于MATLAB的数值分析编程上机作业(1)

% Q - Q是具有法正交列向量的n阶矩阵; % p,u - 向量A(k:n,k),对应初等反射阵的ρ,u % k,jj,ii - 循环变量; % t1 - 计算上三角阵R的系数tj; % t2 - 计算正交矩阵Q的系数ti; [n,n]=size(A); %求矩(方)阵A的阶数; Q=eye(n); %构造正交矩阵Q(1)=I; for k=1:n-1 [p,u]=holder2(A(k:n,k)); %向量A(k:n,k),对应初等反射阵的ρ,u for jj=k:n %计算上三角阵R(仍存贮于A) t1=dot(u,A(k:n,jj))/p; %利用向量内积求和 A(k:n,jj)=A(k:n,jj)-t1*u; end for ii=1:n %计算正交矩阵Q t2=dot(u,Q(ii,k:n))/p; %利用向量内积求和 Q(ii,k:n)=Q(ii,k:n)-t2*u'; end end

3、计算实例: >> A=[2 1 0; 1 3 1; 0 1 4] A = 2 1 0 1 3 1 0 1 4 >> [q,r]=qrhh(A) q = -0.8944 0.4082 0.1826 -0.4472 -0.8165 -0.3651 0 -0.4082 0.9129 r = -2.2361 -2.2361 -0.4472 0 -2.4495 -2.4495 0 -0.0000 3.2863 >> q*r ans = 2.0000 1.0000 -0.0000 1.0000 3.0000 1.0000 0 1.0000 4.0000

5

搜索更多关于: 基于MATLAB的数值分析编程上机作业1 的文档
基于MATLAB的数值分析编程上机作业1.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4m5eu3bd1j3qhtz4wh2h1h1yk7phau00sim_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top