R和matlab中的qr函数

2024-04-25

我有一个关于将 matlab 函数转换为 R 的问题,我希望有人能提供帮助。

matlab 和 R 中使用的标准 QR 分解称为 qr()。据我了解,用两种语言执行 qr 分解的标准方法是:

Matlab: [Q,R] = qr(A)满足QR=A

R:

z <- qr(A)
Q <- qr.Q(z)
R <- qr.R(z)

两者都为我提供了相同的结果,不幸的是,这不是我需要的。我需要的是这样的:

Matlab: [Q,R,e] = qr(A,0)它产生一个经济规模的分解,其中 e 是一个置换向量,因此 A(:,e) = Q*R。

回复: 没有线索

我尝试过比较[Q,R,E] = qr(A) with

z <- qr(A);
Q <- qr.Q(z);
R <- qr.R(z);
E <- diag(ncol(A))[z$pivot]

变量 Q 和 E 的结果似乎相同(但 R 的结果不同)。因此,根据定义的输入/输出,将会有不同的结果(这是有道理的)。

所以我的问题是:R中有没有一种方法可以在Matlab中模拟[Q,R,e]=qr(A,0)?

我曾尝试深入研究 matlab 函数,但它导致了一条漫长而曲折的无尽函数定义之路,我希望有一个更好的解决方案。

任何帮助将不胜感激,如果我错过了一些明显的事情,我深表歉意。


我认为差异归结于计算背后的数值库。默认情况下,Rqr函数使用(非常旧的)LINPACK https://en.wikipedia.org/wiki/LINPACK例行公事,但如果我这样做

z <- qr(X,LAPACK=T)

然后 R 使用 LAPACK 并且结果似乎与 MATLAB 的结果匹配(它可能也在下面使用 LAPACK)。无论哪种方式,我们都看到了预期的关系X:

z <- qr(X,LAPACK=F)
all.equal(X[,z$pivot], qr.Q(z)%*%qr.R(z), check.attributes=FALSE)
# [1] TRUE

z <- qr(X,LAPACK=T)
all.equal(X[,z$pivot], qr.Q(z)%*%qr.R(z), check.attributes=FALSE)
# [1] TRUE
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R和matlab中的qr函数 的相关文章

随机推荐

  • 如何用mock修补模块的内部函数?

    我所说的 内部函数 是指从定义它的同一模块内调用的函数 我正在使用mock http www voidspace org uk python mock 图书馆 特别是patch http www voidspace org uk pytho
  • Android中状态栏的高度[重复]

    这个问题在这里已经有答案了 Android状态栏的高度是多少 总是一样吗 从我的测量来看 它似乎是 25dp 但我不确定它在所有平台上是否具有相同的高度 我想知道这一点以正确实现从没有状态栏的活动到有状态栏的活动的淡入淡出过渡 这个问题之前
  • windows下如何获取线程的起始地址?

    I m working on a mini windows process explorer in C I have a handle to a thread How can I retrieve starting address of t
  • 如何使用自定义复选框按钮选择表视图行选择?

    如何使用自定义按钮选择表格视图行 我有另一个按钮 称为选择表视图外部的所有内容 我的问题是 在单击表视图按钮外部时 如何选择和取消选择表视图内部的行 同时我可以在表视图中选择单行吗 如何在 swift 3 中做到这一点 这是我在 cellf
  • Spring MVC 中 Bean 集合的自定义绑定错误消息

    我们使用的是 Spring MVC 3 0 6 但我们没有使用 JSR 303 验证 仅在处理模型表单 bean 的控制器方法中使用 BindingResult 进行绑定错误 我将尝试简化下面的示例 因为问题不在于如何构建事物 因为这些决定
  • git-svn rebase 出了严重错误

    有没有办法重做 git svn rebase 或重置任何效果 在我的 8000 提交 git svn 存储库中 合并分支后出现问题 我的本地 master 没有反映任何接近完整主干日志的内容 和跑步git svn rebase正确地获取新的
  • Material UI 嵌套主题提供程序打破了 withStyles HOC

    我有一个使用 Create React App 创建的 React 应用程序 并使用 material ui core npm 包进行主题化 为了自定义组件 我使用 MaterialUI 提供的 withStyles 高阶组件 根据文档它支
  • read_excel 读入消息 - 抑制?

    我喜欢使用readxl包裹 然而 我一直将它用作 RMarkdown 文档的一部分以及一些read excel 读取文件时的消息在进行分析时很有用 但在尝试呈现分析时则无用 所以问题是 在使用时是否有任何方法可以抑制收到的消息 或与此相关的
  • 在 while 循环内使用 try-finally 块[重复]

    这个问题在这里已经有答案了 当我在 while 循环中使用finally 时 我试图理解该机制 在下面的代码中 终于在行打印并比 while 中断 我预计代码不会到达finally 块 或者如果它到达finally块 则有no break在
  • Grunt watch 任务似乎需要很长时间

    我正在运行两个简单的任务 每个任务运行时间 spawn to false但这似乎破坏了它 并且没有运行任何相关的任务 以下是更改 sass 文件时的示例输出 gt gt File app styles main scss changed F
  • ggplot2堆叠条形图数据标签向后

    我想在 ggplot2 中创建一个堆积条形图 其中数据标签位于与其相关的填充区域的中心 我尝试过的代码的标签顺序与应有的顺序相反 这是代码示例 data rep lt data frame Task Number c 5 004 5 004
  • Eclipse C++ 打印漂亮吗?

    从 Eclipse 打印 C 源代码时得到的输出相当难看 是否有方法 插件可以漂亮地打印 C 源代码 例如与a2ps 这可能是对C源代码使用另一个过滤器 我也用enscript为了这 这是我经常使用的别名 alias cpp2ps ensc
  • 诊断 R 包构建错误:pdfLatex 不可用

    我正在尝试构建一个包R 我制作了骨架 并运行了命令R CMD check package1 我收到一个错误描述here https stackoverflow com questions 10819959 diagnosing r pack
  • 迁移到 Jboss 7.0 AS 后 Firefox 和 IE 中的 ViewExpiredException

    我们的 JSF 2 0 Richfaces 4 0 应用程序在 Jboss 6 0 上运行得非常好 我们正在尝试将其迁移到 Jboss 7 0 AS 对于我们点击页面上的任何链接 我们在 Firefox 和 IE 中遇到 ViewExpir
  • 如何使用 boost::spirit::qi 解析行尾?

    不应该是一个简单的eol http www boost org doc libs 1 42 0 libs spirit doc html spirit qi quick reference qi parsers auxiliary html
  • ASP NET Core 2 找不到包“Projectname.Model”的编译库位置

    在我的解决方案中 我有两个项目 其中之一是web项目 另一个是Model项目 您可以在下面看到我的解决方案结构 现在 当我运行应用程序时 出现以下错误 InvalidOperationException 找不到包 ContosoUniver
  • 如何在 GWT 中取消转义字符串

    我使用了 SafeHtmlUtils htmlEscape text 并且我想使用相反的功能 你能告诉我 gwt 中是否有像 unescapeHtml 这样的函数 如果 并且仅当 您可以相信文本不包含恶意内容 您可以使用 import co
  • 客户端验证后 RegisterOnSubmitStatement

    我需要在提交 Web 表单时但在客户端验证发生之后在流程中插入一些 Javascript RegisterOnSubmitStatement 似乎将 JavaScript 放在验证之前 有人知道如何让它渲染后吗 找到解决方案 在网络控件中
  • declarative_authorization 和命名空间

    您知道 declarative authorization 是否可以控制对命名空间资源的访问吗 我尝试过类似的东西 has permission on admin users to gt index show new create edit
  • R和matlab中的qr函数

    我有一个关于将 matlab 函数转换为 R 的问题 我希望有人能提供帮助 matlab 和 R 中使用的标准 QR 分解称为 qr 据我了解 用两种语言执行 qr 分解的标准方法是 Matlab Q R qr A 满足QR A R z l