MATLAB中的函數的歸總


字符串操作函數

1.        函數eval可以用來執行用字符串表示的表達式

2.        函數deblank可以去掉字符串末尾的所有空格

3.        函數findstr可以用來在長字符串中查找一個短的字符串,並返回相應的位置

4.        函數isstr可以用來判斷變量是否為字符串

5.        函數isletter可以用來判斷字符串中各個元素是否為字母

6.        函數isspace可以用來判斷字符串元素是否為空格符

7.        函數lower和upper可以把字符串中的字母轉為小寫格式和大寫格式

8.        函數strcat可以把多個字符串在水平方向上依次連接起來

9.        函數strvcat可以把多個字符串按豎直方向連接起來

10.     函數strcmp可以用來進行字符串的比較,返回1或0

11.     函數strcmpi可以用來忽略英文字母的大小寫方式比較字符串

12.     函數strncmp可以用來比較字符串前N個字符是否相同

13.     函數strjust可以用來調整字符串矩陣的對齊方式

14.     函數strmatch可以用來尋找和目標字符串匹配的行

15.     函數strrep可以實現字符串的查找和替代功能

16.     函數strtok可以找出字符串第一個空格符前的字符串

17.     函數texlabel可以把字符串轉換成tex軟件的格式

18.     不同進制間的轉換,bin2hex,bin2dec(‘字符串’);dec2hex(數)=字符串;即十進制數不為字符串,      其它進制為字符串

19.     函數bitget可以用來獲取二進制的數位    C=bitget(A,bit),A為一個無符號整形數據

20.     函數bitset可以用來設定某個二進制數位的值      C=bitset(A,bit) 指定數位的數值取反

                                                  C=bitset(A,bit,V)指定數位的數值被V替換

21.     函數bitand,bitor和bitxor可以用來進行‘與’,‘或’,‘抑或’數位操作

22.  函數bitshift(A,K),即把A左移K位。

22.   size():獲取矩陣的行數和列數

對數組矩陣的函數:

1.   size():獲取矩陣的行數和列數

  (1)s=size(A),

         當只有一個輸出參數時,返回一個行向量,該行向量的第一個元素時矩陣的行數,第二個元素是矩陣的列數。
  (2)[r,c]=size(A),

         當有兩個輸出參數時,size函數將矩陣的行數返回到第一個輸出變量r,將矩陣的列數返回到第二個輸出變量c。

  (3)size(A,n)如果在size函數的輸入參數中再添加一項n,並用1或2為n賦值,則 size將返回矩陣的行數或列數。其中r=size(A,1)該語句返回的時矩陣A的行數,        c=size(A,2) 該語句返回的時矩陣A的列數。

  另外,length()=max(size())

在MATLAB中:

size:獲取數組的行數和列數

length:數組長度(即行數或列數中的較大值)

numel:元素總數。

s=size(A),當只有一個輸出參數時,返回一個行向量,該行向量的第一個元素時數組的行數,第二個元素是數組的列數。

[r,c]=size(A),當有兩個輸出參數時,size函數將數組的行數返回到第一個輸出變量,將數組的列數返回到第二個輸出變量。

如果在size函數的輸入參數中再添加一項,並用1或2為該項賦值,則size將返回數組的行數或列數。 其中r=size(A,1)該語句返回的時數組A的行數, c=size(A,2) 該語句返回的時數組A的列數。

n=numel(A)該語句返回數組中元素的總數。    

n=length(A):如果A為非空數組,返回行數和列數兩者之間數值較大的那一個值,即相當於執行了max(size(A));如果A為空數組,則返回0;如果A是一個向量則返回A的長度。n=max(size(A):若A為非空數組,返回A的最大維數;若A為空數組,返回A中最長的非0維數。

23.  interpolation(插值)和curve-fitting(曲線擬合)的功能函數。

  

MATLAB的一維插值函數是interpl,其格式為interpl(x, y, xi,'method')或者interpl(x, y, xi),其中的x, y是已存在的數據,而xi則是要插入其中的數據點。若選用method參數,可以從4種插值算法中選擇一種,它們是:nearest、linear、cubic、spline,分別對應最近點、一次、三次方程式和spline函數,其中默認的算法是linear。如果數據的變化較大,以spline函數插值所形成的曲線最平滑,效果最好。而三次方程式所得到的插值曲線平滑度介於線性與spline函數之間。

二維插值是對雙變量函數同時做插值,MATLAB提供了interp2和griddate進行二維插值,命令格式是:

interp2(x, y, z, xi, yi);interp2(x, y, z, xi, yi,'method'),method有nearst、bilinear、bicubic、spline4種,其中x, y是已有二維數值,z是由x, y決定的第3個數值,xi, yi則是已知的一對數值,通過插值來找到相應的zi值。griddate的函數格式與此類似,不同之處在於:interp2嚴格要求x, y單調,而griddate則可以處理無規則的數據。下面給出一個二維插值的例子:

有一個汽車引擎在變轉速時,溫度與時間(單位為s)的測量值如下:

時間

引擎速度和溫度

0

2000rpm

3000rpm

4000rpm

1

20

110

176

2

60

180

220

3

68

240

349

4

77

310

450

5

110

405

503

 

其中溫度從20℃變化到503℃,如果要估計在t=2.6,rpm=2500的溫度,可通過下列命令來求得結果:

>> d2(:,1= [0 1 2 3 4 5]';                %  給出d2矩陣(即表中)的第1

>> d2(:,2)= [2000 20 60 68 77 110]';       %  給出d2矩陣(即表中)的第2

>> d2(:,3)= [3000 110 180 240 310 405]';   %  給出d2矩陣(即表中)的第3

>> d2(:,4)= [4000 176 220 349 450 503]';   %  給出d2矩陣(即表中)的第4

>> t= d2(2:6 ,1)                        %  時間值,即取第1列的第26

>> rpm= d2(1, 2:4)                     %  轉速值,即取第1行的第24

>> temp= d2(2:6, 2:4)                   

% 給出所要尋找(插入)溫度的范圍,即表中從2行到6行,2列到4列的所有元素

>> temp_i=interp2 (rpm, t, temp, 2500, 2.6)    

%  調用二維插值函數求出在給定條件下的值

最后可求得temp_i=140.4000 (℃)

 

25.   remmod的區別

 

如果你不仔細區分的話,可以把rem和mod都當作是求余數的命令。比如,


>> mod(3,2)
ans =
     1
>> rem(3,2)
ans =
     1


可是,通過看他們的幫助文件可以知道,這兩個數的符號一致時的結果是一樣的,但是當兩個數的符號不一樣時,就會出現不同了。


>> mod(3,-2)
ans =
    -1
>> rem(3,-2)
ans =
     1


主要區別在rem(x,y)命令返回的是x - n.*y,如果y不等於0,其中的n = fix(x./y),而MOD(x,y)返回的是x - n.*y,當y不等於0時,n = floor(x./y)
因此他們之間的區別主要在與fix與floor的區別。fix是想最近的整數取整,而floor是向負無窮取整。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM