查看单个帖子
旧 2008-05-14, 15:15   #1
wmch85
普通会员
 
注册日期: 2008-03-20
年龄: 41
帖子: 30
声望力: 18
wmch85 正向着好的方向发展
默认 [求助]数组下标提取的疑问

:biggrin:
程序:
A=1:100;
B1=isprime(A)
B2=A(isprime(A))
输出结果:
B1=
Columns 1 through 15

0 1 1 0 1 0 1 0 0 0 1 0 1 0 0
Columns 16 through 30

0 1 0 1 0 0 0 1 0 0 0 0 0 1 0
...............................................................
Columns 91 through 100

0 0 0 0 0 0 1 0 0 0
B2=
Columns 1 through 15

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47

Columns 16 through 25

53 59 61 67 71 73 79 83 89 97
我的问题是:
既然isprime(A)只能返回0和1两个值,那么A(isprime(A))的返回值要么是A(0),要么是A(1),即B2的值只能是不存在(A(0))或是1(A(1))
matlab里面是怎样分配的命令,才使凡是不为0的地方提取的值都是原来数组中对应位置的值??

回复为盼,先谢了!
wmch85 当前离线   回复时引用此帖