2019-04-03

matlab中的两个函数

find函数

(1)k = find(X)
寻找矩阵X中的非0数,把对应的下标保存在k中(下标顺序为从上到下从左往右,第一行第一列为1 第二行第一列为2)
find(~x)为寻找所有0元素
find(x<10)为寻找所有小于10的元素

 x=[1 2 0;1 0 1;1 0 0]
 k2=find(x)

结果为

find(x)结果

(2)k = find(X,n)
同上 n在此处代表仅仅保存n个结果

x=[1 2 0;1 0 1;1 0 0]

k2=find(x,3)
find(X,n)结果

(3)k = find(X,n,direction)
direction可选择为'last' 表示取最后四个满足X中条件的元素

x=[1 2 0;1 0 1;1 0 0]
k2=find(x,3,'last')
find(X,n,direction)结果

isprime函数

TF = isprime(X)返回对应矩阵,若元素为素数,则对应位置的数为1,否则为0

x=[3 2 0;13 0 11;12 0 0]
k2=isprime(x)
isprime结果

下面来实现

思路:把1-100的数形成一个向量V,V作为isprime的参数得到对应的向量K,K向量中只含0、1。其中1和V中的素数相对应。此时用find函数,找出所有不为0的数,这些数的下标,即为素数。这里利用了一一对应的关系。

例子:1~9的数 V1为 1 2 3 4 5 6 7 8 9 K为 0 1 1 0 1 0 1 0 0 此时find(K) 得到不为0的数的下标 即 2 3 5 7

V=1:1:100;
K=isprime(V)
K1=find(K)
结果

注:关于冒号的用法 x:y:z 从x到y步长为z
X(x:y:z) = 0 从矩阵第x个数开始到y 间隔z个数 设置为0 (两个0之间差z-1个数)


结果
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,974评论 0 2
  • 每次回老家,如果我带了笨重的行李,父亲都会用一辆拥有全景天窗的三轮车到火车站接送我。 三轮车上常常铺一件旧衣服,我...
    林简单830阅读 499评论 0 0
  • 桃花—爱情的俘虏,我在这儿等你,而你,又在哪?
    美丽小公举阅读 186评论 0 0
  • 今天退房的时候实在受气,1.中午上楼时在前台跟老板娘说退房,等了她十分钟不见来抄表,下去找她,她说她没空等晚上再说...
    更向远行阅读 271评论 2 1

友情链接更多精彩内容