matlab中如何往数组中不断添加元素?就是在一定条件下就添加到该数组中,不知道其具体位置,只是添

matlab中如何往数组中不断添加元素?就是在一定条件下就添加到该数组中,不知道其具体位置,只是添,第1张

数组a

元素a(1),a(2),a(3),...

一部分顶礌侈啡侬独畴扫川激:a(1:3),a(2:4),a(3:end),a(2:end-4),a(:),...

全加起来用函数sum(a)

程序只有一行,效率应该也不太差,因为cellfun是用了C的。

举例:

maps = {'11','one''22','two''33','three''44','four''11','2ndone''55','five'}

J = find(cellfun(@(d) all(d == '11'), maps))

maps(J,2)

上面的例子主要是cellfun然后再find,另外用all是因为索引可能不只一个字符,如果一个字符可以不用。

matlab中

A(:,3)

= A(:,3)+1

表示将二维数组A的第三列的所有元素都加1。

其中:

A(:,3)是数组的下标引用法,:

表示所有的行,这里的3表示第3列。

A(:,3)

=

A(:,3)+1中,等号右侧表示将A的第三列元素加1,这个等号表示赋值,即A的第三列加上1后作为重新作为A的第三列的最终的值。

同理,A(3,:)

=

A(3,:)+1表示将数组A的第三行元素加上1

示例如下:

1、在matlab命令窗口输入一个示例矩阵:>>

A

=

[1

2

34

5

67

8

9]

2、输入代码:>>

A(:,3)

=

A(:,3)+1,结果显示,A的第三列元素都被加上1了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11406391.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存