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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 麦肯锡:芯片业界整合即将完成

    麦肯锡:芯片业界整合即将完成

    2022年3月6日
    61
  • ByteBuf用法

    ByteBuf用法JDKNIO之ByteBuffer的局限性如下:(1)长度固定,一旦分配完成,它的容量将不能动态扩展和收缩,而需要编码的POJO对象大雨ByteBuffer的容量时,会发生索引越界异常;(2)只有一个标识位置的指针position,读写的是偶需要搜公条用flip()和rewind()等,使用着必须小心的处理这些API,否则很容易导致程序越界异常;(3)ByteBuffer的API功能有限,…

    2022年9月19日
    2
  • 测试用例设计——等价类划分法「建议收藏」

    测试用例设计——等价类划分法「建议收藏」一、分析问题如果我们需要对下面的这个两位数加法器设计测试用例,在测试了1+1,1+2,(-1)+1和(-1)+2之后,是否有必要测试1+3,1+4,1+(-3)和1+(-4)呢?如果不对两位数加法器程序进行穷举测试,我们能否放心的认为其他所有的参数组合都是正确的呢?可想而知,我们不可能输入这么多的组合进行测试。那么,如果不可能输入这些组合进行测试,是否会担心会遗漏测试中会存在bug呢?…

    2022年10月18日
    4
  • mac navcat15 激活码【2021.10最新】[通俗易懂]

    (mac navcat15 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~A…

    2022年3月30日
    69
  • springboot 长轮询实现

    springboot 长轮询实现springboot长轮询实现基于@EnableAsync , @Sync@SpringBootApplication@EnableAsyncpublicclassDemoApplication{ publicstaticvoidmain(String[]args){ SpringApplication.run(DemoApplication.cla…

    2022年10月14日
    2
  • 来自数据源的 String 类型的给定值不能转换为指定目标列的类型 nvarchar[通俗易懂]

    来自数据源的 String 类型的给定值不能转换为指定目标列的类型 nvarchar[通俗易懂].TrimEnd()怀疑是否SqlBulkCopy是否存在某种bug,故而在系统中改写代码,用单个sql的插入数据方式,用循环逐条导入。结果是没问题。难道真的是SqlBulkCopy有某种bug?上网搜了一通,竟没有一条说有什么bug之类的。偶然一次发现,len函数取数据长度是去了尾部空格的。故而在代码中对用于批量导入的数据,导入前进行一次遍历,将该字段中数据用TrimEnd()去尾部空格…

    2022年7月20日
    18

发表回复

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

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