首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有不等维矩阵的MATLAB diff函数

具有不等维矩阵的MATLAB diff函数
EN

Stack Overflow用户
提问于 2022-05-11 20:48:32
回答 2查看 84关注 0票数 0

我阅读了MATLABDiff.m自述文件,仍然无法理解以下内容:

代码语言:javascript
复制
    a = [1 2 3]'
    b = [3 2 1 4; 1 1 1 5; 5 5 5 6]
    diff([a b]') = 
    2  -1  2
   -1   0  0
   -1   0  0
    3   4  1

MATLAB在这里应用什么规则?如果其中一个矩阵(即a或b)是逻辑矩阵,那么MATLAB应用不同的规则吗?还是a和b都是逻辑矩阵?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-11 23:38:52

不管输入矩阵如何,MATLAB都应用相同的规则。在命令窗口中逐行运行代码并查看。

ab是这样的:

代码语言:javascript
复制
>> a = [1 2 3]'
a =
     1
     2
     3
>> b = [3 2 1 4; 1 1 1 5; 5 5 5 6]
b =
     3     2     1     4
     1     1     1     5
     5     5     5     6

然后是[a b]'

代码语言:javascript
复制
>> [a b]'
ans =
     1     2     3
     3     1     5
     2     1     5
     1     1     5
     4     5     6

现在对此应用diff规则,如下所示:

代码语言:javascript
复制
[ row 2 - row 1 ]
[ row 3 - row 2 ]
[ row 4 - row 3 ]
[ row 5 - row 4 ]

你会得到

代码语言:javascript
复制
>> diff([a b]')
ans =
     2    -1     2
    -1     0     0
    -1     0     0
     3     4     1
票数 1
EN

Stack Overflow用户

发布于 2022-05-11 23:36:47

代码语言:javascript
复制
a = 
[1
 2
 3]

所以,

代码语言:javascript
复制
[a b] = 
[ 1 3 2 1 4
  2 1 1 1 5
  3 5 5 5 6 ]

因此

代码语言:javascript
复制
[a b]' = 
[ 1 2 3
  3 1 5
  2 1 5
  1 1 5
  4 5 6 ]

然后,diff取第一个维度上的差异,其大小不是0(即向下每列)。这给出了结果

代码语言:javascript
复制
diff([a b]') = 
[ 2 -1  2
 -1  0  0
 -1  0  0
  3  4  1 ].
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72207435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档