永发信息网

Matlab子数组的表示

答案:2  悬赏:70  手机版
解决时间 2021-02-14 08:52
  • 提问者网友:流星是天使的眼泪
  • 2021-02-13 18:18
想问下,在Matlab子数组的表示中,小括号和中括号有啥区别呢?比如说,arr1=[1.1 -2.2 3.3 -4.4 5.5],我想直接提取数组arr1的第1,3列,可以表示为arr1([1 3]),必须要有中括号;但是如果我想借助克隆运算符,需表示为arr1(1:2:3),不需要有中括号,这里面有什么差别吗?非常感谢!
最佳答案
  • 五星知识达人网友:舍身薄凉客
  • 2020-12-07 06:23
matlab 的[]是个合并的算符
[a b c....] 或者[ a,b,c...] 将 a,b,c,.....按照列方向合并为一个矩阵
[a;b;c;....] 将 a,b,c,.....按照行方向合并为一个矩阵

如果 a b c是标量,那么就会合成向量
例如[1 2 3]就是长度为3的行向量

而用克隆算符产生的就是一个行向量
1:1:3 就等于 [1 2 3]

用下标提取子数组的时候,要求输入的是一个向量
你可以把你需要的下标用[]括起来形成一个向量
如果下标有规律,你可以简单的使用克隆算符产生一个向量
你还可以把其他变量中存这的向量写到下标中去求子数组,子矩阵

例如a=[1 2 3 4 5];
arr1(a);
这和 arr1([1 2 3 4 5]) ,arr1(1:5) 结果一样
全部回答
  • 1楼网友:愁杀梦里人
  • 2020-11-08 17:06
ValBegin:step:ValEnd产生的是数组,[]也是形成数组
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯