matlab矩阵点乘点除,点除与矩阵除法

matlab矩阵点乘点除,点除与矩阵除法点除与矩阵除法:在书写程序的时候,点乘和矩阵乘法写错的时候再进行程序调适的时候MATLAB会返回错误说明。但是对于点除容易出现问题,下面以一个简单的例子说明这个问题:比如我们要计算:A=[1,1];B=[2,1];C=A/B;上面的程序我们计算的是A与B的点除。但是由于疏忽而把点除“./”写为“/”这样结果是不同的,大家可以看看它们的结果:>>A/Bans=0.6000…

大家好,又见面了,我是你们的朋友全栈君。

点除与矩阵除法:

在书写程序的时候,点乘和矩阵乘法写错的时候再进行程序调适的

时候MATLAB会返回错误说明。

但是对于点除容易出现问题,下面以一个简单的例子说明这个问题:

比如我们要计算:

A = [1,1];

B = [2,1];

C = A/B;

上面的程序我们计算的是A与B的点除。但是由于疏忽而把点除“./”

写为“/”这样结果是不同的,大家可以看看它们的结果:

>> A/B

ans =

0.6000

>> A./B

ans =

0.5000    1.0000

它们的结果明显不同,而用“/”去代替“./”将在以后的计算中引

起误差,程序语法错误很难调适。我们只能从期望的结果来检查程

序。希望网友在书写向量或者矩阵的“点除”和“除法”运算的时

候注意这一点。

下面我们看一下“A/B”的结果是怎么计算的(这里提供一段MATLAB

文档):

/ Slash or matrix right division. B/A is roughly the same

as B*inv(A). More precisely, B/A = (A’/B’)’. See /.

/ Backslash or matrix left division. If A is a square matrix,

A/B is roughly the same as inv(A)*B, except it is computed in

a different way. If A is an n-by-n matrix and B is a column

vector with n components, or a matrix with several such columns,

then X = A/B is the solution to the equation AX = B computed by

Gaussian elimination (see Algorithm for details). A warning

message prints if A is badly scaled or nearly singular.

If A is an m-by-n matrix with m ~= n and B is a column vector

with m components, or a matrix with several such columns, then

X = A/B is the solution in the least squares sense to the under-

or overdetermined system of equations AX = B. The effective rank,

k, of A, is determined from the QR decomposition with pivoting

(see “Algorithm” for details). A solution X is computed which has

at most k nonzero components per column. If k < n, this is usually

not the same solution as pinv(A)*B, which is the least squares

solution with the smallest norm, ||X||.

也就是说A/B和A*pinv(B)输出的结果是一样的,如:

>> A=[1,2,3];B=[1,2,1];A/B,A*pinv(B)

ans =

1.3333

ans =

1.3333

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149233.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MDK(keil)工具:如何使用MDK生成bin文件「建议收藏」

    MDK(keil)工具:如何使用MDK生成bin文件「建议收藏」在给开发板烧写程序时,有时候我们会用到bin文件,在使用MDK开发时,我们可以在魔法棒配置->output选项中看到生成hex文件的选项卡,图中标号1所示位置如果需要生成bin文件,就需要我们自己配置,配置方法如下,首先在魔术棒中找到User选项卡,并按照下图所示输入命令fromelf.exe–bin–output”@L.bin””#L”生成的文件名在图一中的红色标号2处设置。…

    2022年10月20日
    0
  • accept 函数_case when函数

    accept 函数_case when函数2.关于AcceptEx  使用此函数时,要包含头文:Mswsock.h,同时要链接:Mswsock.lib。可在源程序中加入下面的语句,这样在编译时,将自动链接Mswsock.lib。  #pragmacomment(lib,”Mswsock.lib”)    下面是使用AcceptEx函数的示例代码:  #defineSTRICT  #define_WIN32_WINNT0x050

    2022年9月29日
    0
  • js/es6判断对象是否为空,并判断对象是否包含某个属性

    js/es6判断对象是否为空,并判断对象是否包含某个属性js判断对象为空以及有好几种方法了,但是个人觉得不是特别方便。比如:1、把对象通过JSON.stringify转为字符串,再判断字符串是否等于”{}”2、forin循环,判断key是否存在3、jq的方法es6已经帮我们很好的解决了此类问题。es6针对对象增加了3个新方法(数组也有):(1)、Object.keys:返回一个数组,成员是参数对象自身的(不含继承…

    2022年6月1日
    182
  • Java8-Stream API

    Java8-Stream API

    2022年3月7日
    32
  • 超分辨率重建SRCNN–Matlab 7.0中运行

    终于找到一个可以在自己电脑中运行的超分辨率重建程序了,Matlab7.0真的是太老了(实际上是自己的笔记本太老了,哈哈)demo_SR.m%=========================================================================%超分辨率卷积神经网络(SRCNN)的测试码%%参考文献%ChaoDong,C…

    2022年4月6日
    217
  • oracle创建用户、密码、分配权限、基本权限的作用「建议收藏」

    oracle创建用户、密码、分配权限、基本权限的作用「建议收藏」创建用户和密码:createuserusernameidentifiedbypassword;//建用户名和密码例子:oracle,oracle分配权限:grantconnect,resource,dbatousername;//授权例子:grantconnect,resource,dba,sysdbatousername;创建同义词:创建同义词…

    2022年5月12日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号