发布网友 发布时间:2022-04-24 07:46
共2个回答
热心网友 时间:2022-06-17 18:08
首先,逻辑运算只分1、0(真、假),在不注明时,所有非零的数字都是1。
matlab自动将A&B作为逻辑运算,&(and)就是逻辑上“且”的意思,所以A、B的对应元素只要有一个是0,结果就是0.
~A(非A)也是逻辑运算,取相反的意思,所有0都是真(1),所有不是零的元素都是假(0)
热心网友 时间:2022-06-17 18:08
一、算法不同:./点除 如果a、b是矩阵,a./b就是a、b中对应的每个元素相除,得到一个新的矩阵;如果a、b是两个数,那么a./b就是普通的除法。
二、公式不同:/ 除如果a、b是矩阵, 比如aX=b,求出X。那么X=a\b(代表a的逆乘以b);或者Xa=b,X=b/a(代表b乘以a的逆)。如果a、b是两个数,那么a/b就是普通的除法。在对数值计算时,“./”和“/”其实是没有区别的。
例:对于矩阵A=[a b c d],1./A=[1/a 1/b 1/c 1/d],而1/A表示的是A的逆。
matlab函数举例:
比如: x=1:1:10,y=2:2:20,c=x.*y则:c = 2 /8 / 18 / 32 /50 /72 / 98 /128 / 162 /200./
如果是:c=x*y,就会报错,因为:*是矩阵相乘,x是数组即是:1×10的矩阵,y是数组即是:1×10的矩阵,x*y显然不行,因为矩阵相乘,应为:m×n矩阵 乘以 n×r矩阵才行,n要一样。