matlab中定义 s a 求 a(s)的
matlab中定义 s a 求 a(s)的结果如下,但是不明白为什么是这样的,因为a(s)应该是当s=1时a(s)是取第1个元素,而当s=2时a(s)是取第2个元素,而当s=10时a(s)是取第10个元素,但现在s值均为1或0,怎么正好取出的是s==1的值呢?
s =
0
0
1
1
0
0
1
0
1
1
>> a=[1:10]'
a =
1
2
3
4
5
6
7
8
9
10
>> a(s)
ans =
3
4
7
9
10
应该你说的是对的,但是习惯上a(1,:),a(2,:),a(3,:),分别表示第1 2 3行的a
这里a(s),a和s是同维数 是另一种用法吗?
matlab中定义 s a 求 a(s)的
答案:1 悬赏:80 手机版
解决时间 2021-04-22 07:26
- 提问者网友:饥饿走向夜
- 2021-04-21 23:13
最佳答案
- 五星知识达人网友:动情书生
- 2021-04-21 23:20
楼主理解的不对,matlab 是这样
a(s),a和s是同维数一一对应的矩阵.
其中a是由各种各样的元素构成的.而s的各个元素不是0就是1.
此时a(s)表示对a的元素的一种“筛选”.对于s里是1的位置,a对应的位置的数就被选出来,对于s里是0的位置,a对应位置的数则不选.
针对你的例子,就是
3 4 7 9 10 被选了出来.
补充:
嗯 对 a(1,:)这样的用法,括号里是2个数(当然也包括:和end之类的特殊符号),此时表示按下标选取元素. 但是a(s)的例子里,你的s也是个向量或者矩阵嘛,参数类型不同,函数代表的含义就不同了,这在编程技术里叫做“重载”
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯