日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

MATLAB之find函数用法

發(fā)布時(shí)間:2025/4/16 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MATLAB之find函数用法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

matlab 中 find() 函數(shù)用法

一、 功能:

**尋找非零元素的索引和值**

語(yǔ)法:

  • ind = find(X)

  • ind = find(X, k)

  • ind = find(X, k, ‘first’)

  • ind = find(X, k, ‘last’)

  • [row,col] = find(X, …)

  • [row,col,v] = find(X, …)

  • 說(shuō)明:

  • index= find(X)

    找出矩陣X中的所有非零元素,并將這些元素的線(xiàn)性索引值(linear indices:按列)返回到向量index中。

    如果X是一個(gè)行向量,則index是一個(gè)行向量;否則,index是一個(gè)列向量。

    如果X不含非零元素或是一個(gè)空矩陣,則index是一個(gè)空矩陣。

  • index = find(X, k) 或 3. index = find(X, k, ‘first’)
    找到前K個(gè)不為0的線(xiàn)性索引值。k必須是一個(gè)正數(shù),但是它可以是任何 數(shù)字?jǐn)?shù)值類(lèi)型。

  • index = find(X, k, ‘last’)

    找到后k個(gè)不為零元素的線(xiàn)性索引值。

  • [row,col] = find(X, …)

    返回矩陣X中非零元素的行和列的索引值。這個(gè)語(yǔ)法對(duì)于處理稀疏矩陣 尤其有用。

    如果X是一個(gè)N(N>2)維矩陣,col包括列的線(xiàn)性索引。

  • [row,col,v] = find(X, …)

    返回X中非零元素的一個(gè)列或行向量v,同時(shí)返回行和列的索引值。如果X是一個(gè)邏輯表示,則v是一個(gè)邏輯矩陣。輸出向量v包含通過(guò)評(píng)估X表示得到的邏輯矩陣的非零元素。

  • 二、解釋

    I.用法一:
    b=find(a),a是一個(gè)矩陣,查詢(xún)非零元素的位置,如果X是一個(gè)行向量,則返回一個(gè)行向量;否則,返回一個(gè)列向量。如果X全是零元素或者是空數(shù)組,則返回一個(gè)空數(shù)組,例子如下所示,也可以用b=find(a>2),這句的意思是在a中找到比較2大的元素

    a=[1 3;0 4] b=find(a)

    輸出
    a =

    1 30 4

    b =

    134

    解釋一下為什么會(huì)得到b的值

    a(1)

    ans =

    1 a(2)

    ans =

    0

    II.用法二:
    b=find(a,2),找出a中最先出現(xiàn)的2個(gè)不為零的數(shù),a是你所要找的矩陣,2參數(shù)是指數(shù)量所下

    a=[1 3;0 4] b=find(a,2)

    輸出
    a =

    1 30 4

    b =

    13

    III.用法三:
    c=find(a,2,‘first’)用法和二基本一樣,如下

    a=[1 3;0 4] b=find(a,2,'first')

    輸出
    a =

    1 30 4

    b =

    13

    IV.用法四:
    c=find(a,2,‘last’) 這句的意思是從最后一個(gè)非零元素起,找2個(gè)不為零的元素,如下

    a=[1 3;0 4] b=find(a,2,'last')

    輸出
    a =

    1 30 4

    b =

    34

    V.用法五:
    [a1,a2]=find(a),找出a矩陣中非零元素所在行和列,并存在a1,a2中

    a=[1 3;0 4] [a1,a2]=find(a)

    輸出
    a =

    1 30 4

    a1 =

    112

    a2 =

    122

    VI.用法六:
    [a1,a2,v]=find(a),找出矩陣中非零元素所在行和列,并存在a1,a2中,并將結(jié)果放在v中,如下所示,這個(gè)得到的v是a中第幾行第幾列的非零元素

    a=[1 3;0 4] [a1,a2,val]=find(a)

    輸出
    a =

    1 30 4

    a1 =

    112

    a2 =

    122

    val =

    134

    VII.用法七:
    [a1,a2,val]=find(a>2),返回一個(gè)單位列向量,這里不滿(mǎn)足a>2,如下所示

    a=[1 3;0 4] [a1,a2,val]=find(a>2)

    a =

    1 30 4

    a1 =

    12

    a2 =

    22

    val =

    2×1 logical 數(shù)組

    1
    1
    val就是說(shuō)矩陣中第1行第2列和第2行第2列的元素滿(mǎn)足X>2為真用1來(lái)表示。

    注意一下VI與VII的區(qū)別

    X = [4 2 0; -4 0 6; 0 0 2] [a1,a2,val1]=find(X) [a3,a4,val2]=find(X>2)

    輸出
    X =

    4 2 0 -4 0 60 0 2

    a1 =

    12123

    a2 =

    11233

    val1 =

    4 -4262

    a3 =

    12

    a4 =

    13

    val2 =

    2×1 logical 數(shù)組

    1
    1

    注意val1的值。

    《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專(zhuān)家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結(jié)

    以上是生活随笔為你收集整理的MATLAB之find函数用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。