matlab代码的历史版本号,MATLAB:运行以前版本的函数

在MATLAB中,QR分解因不唯一性可能导致不同版本结果差异。文章讨论了如何处理不同版本间QR分解产生的变化,提出了通过复制旧版本qr函数并命名为qr2010作为解决办法,确保代码与旧算法兼容。同时,文章举例验证了在R2011a和R2010b中正交性和反向转换的一致性,并解释了morispaa解决方案的原理,即通过调整R矩阵对角线符号来匹配旧版本的行为。
摘要由CSDN通过智能技术生成

在QR因子化中,A = QR,R是上三角矩阵.如果你的矩阵A是可逆的,那么如果你强加R具有真实的非负对角线的条件,则因子分解是唯一的.如果放宽这个条件,则得到正交矩阵Q和上三角矩阵R,但它们不必是唯一的.

从您提供的链接:

Compatibility Considerations:

Since the

QR factorization is not unique, these

different results are still correct.

Ensure that your code does not depend

on the values of the elements of the

factors Q and R.

这是你的代码发生了什么?它取决于Q和R的形式吗?

作为快速解决方案,您可以尝试使用R2010b:

qr.m

在我的机器上,我得到/Applications/MATLAB_R2010b.app/toolbox/matlab/matfun/qr.m.您可以尝试复制此功能并将其放入R2011路径中,并将其重命名为qr2010或其他内容吗?然后,无论何时需要旧函数,都可以从最新版本的MATLAB调用qr2010,它应该使用旧算法.我没有测试过这个,所以让我知道它是否有效.

编辑

我在我的机器上安装了R2011a并检查了qr.就像我说的那样,不执行正对角线将导致元素符号的不同组合,从而使解决方案不唯一.但是,正向和反向转换应该起作用,并且它在我的机器上也是如此.

A=magic(5);x=(1:5)'; %'

[Q R]=qr(A);

y=Q'*x; %'

z=Q*y;

z'

<
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值