matlab一些操做記錄

如何快速註釋

ctrl+R一次性註釋多行函數

find函數用法

b = find(a) 查找a中不爲0的元素的索引
好比a是行向量的狀況code

>> a = [1,0,2]
a =
     1     0     2
>> find(a)
ans =
     1     3

再如
a是列向量的狀況索引

>> a = [1;2;0;3]
a =
     1
     2
     0
     3
>> find(a)
ans =
     1
     2
     4

若是a是一個矩陣呢?it

>> a = [1,0,2;3,2,0]
a =
     1     0     2
     3     2     0
>> find(a)
ans =
     1
     2
     4
     5

find函數中還能夠設定條件變量

>> a
a =
     1     0     2
     3     2     0
>> find(a==3)
ans =
     2
>> find(a>2)
ans =
     2

注意查找矩陣的時候返回的是矩陣的線性索引
因此當你須要查找的是行下標和列下標的時候,須要用到ind2sub函數date

>> [col,row] = ind2sub(a,2) %注意不要忘記加入矩陣a
col =
     1
row =
     2

固然不必這麼麻煩
直接接受col.和row便可(猜想是函數重載了file

>> [col,row] = find(a==3)
col =
     2
row =
     1

還有find能夠找出最早出現的不爲0的多少個數遍歷

a =
     1     0     2
     3     2     0
>> find(a,4)
ans =
     1
     2
     4
     5

那麼咱們能夠實現找出大於某個數的最早出現的前幾個數字引用

a =
     1     0     2
     3     2     0
>> find(a>1,3)
ans =
     2
     4
     5

matlab文件操做

移動文件movefile(filename, dest_path)im

複製文件一樣的操做copyfile

刪除文件或文件夾

delete(filename)

刪除文件夾及其全部的文件
rmdir(dir_name, 's')要加一個s參數

遍歷文件夾下的全部文件

注意不要覆蓋dir這個變量

dir(path)能夠列出目錄下的全部文件,注意有兩個多餘的文件

>> dir('.')

.                19.jpg           compare.m        
..               2416-1.jpg       draw_img.m       
1024.jpg         2416.jpg         hsv_hist.m       
1097.jpg         2417.jpg         img              
1145.jpg         calc_1to100.m    lena.bmp         
18.jpg           calc_all_hist.m

這裏的返回結果實際上是一個結構體

>> a = dir('.');
>> a
a = 
17x1 struct array with fields:
    name
    date
    bytes
    isdir
    datenum

統計目錄下的文件個數

size(dir(path)) - 2(由於有兩個多餘的文件

遍歷目錄下的全部文件

list  =  dir(path)
list.name %引用結構體的一個字段