MATLAB 筆記摘要

0. Basics

  1. 賦單個值:a = 1數組

  2. (內部函數):d=cos(a)ide

  3. 特殊變量:ans函數

  4. 分號,阻止輸出:; e = a * d;工具

  5. (命令行工具): and arrowspa

  6. 全部MATLAB變量都是多維數組,其中矩陣是二維數組命令行

  7. 建立數組:a = [1 2 3 4](空格分隔元素)a = [1,2,3,4](逗號分隔元素)這裏a是個行向量(row vector)code

  8. 建立矩陣(1),用分號分隔行:a = [1 2 3; 4 5 6; 7 8 10]a = [1,2,3; 4,5,6; 7,8,10]orm

  9. 建立矩陣(2),用內置函數(ones, zeros, rand, ...):z = zeros(5, 1)(5行1列全是0的矩陣)(ones, rand用法也差很少。這幾個函數都有不少變體)索引

  10. 建立矩陣(3),記一個生成幻方矩陣的函數magicmagic(4) := [16 2 3 13; 5 11 10 8; 9 7 6 12; 4 14 15 1]字符串

  11. 矩陣+數,矩陣裏每一個元素+數:a = [1 2 3; 4 5 6]; b = a + 10;b := [11 12 13; 14 15 16]

  12. 對矩陣應用單參數函數(如sin),對矩陣裏每一個元素應用該函數:a = [1 2; 3 4]; b = sin(a);b := [sin(1) sin(2); sin(3) sin(4)]

  13. 矩陣轉置操做符'a = [1 2; 3 4]; b = a';b := [1 3; 2 4]

  14. (名詞解釋):inverse, 矩陣的逆inv;identity matrix, 單位矩陣

  15. (內部原理1):MATLAB使用浮點類型存數,可能有精度問題

  16. format命令,控制顯示格式:format long format short等(均不改變數值的內部表示)

  17. 矩陣點乘.*,對應元素分別相乘:a = [1 2 3; 4 5 6]; b = [5 4 3; 2 1 0]; c = a .* b;c := [5 8 9; 8 5 0]

  18. 矩陣點除./,對應元素分別相除;矩陣點冪.^,對應元素分別求冪

  19. 矩陣鏈接(concatenation),矩陣鏈接成一個大矩陣:a = [1 2 3; 4 5 6]; aa1 = [a a]; aa2 = [a; a];aa1 := [1 2 3 1 2 3; 4 5 6 4 5 6]; aa2 := [1 2 3; 4 5 6; 1 2 3; 4 5 6]

  20. 虛數:sqrt(-1) := 0 + 1i

  21. i/j,特殊變量,默認表示虛數單位,MATLAB中能夠被賦值(最好別...)

  22. 虛數a+bi/ja = 0 + 2.5j; b = [3 + 2j 6 + 10j];

  23. 矩陣索引(1),按維度索引:a = magic(4); a(4, 2) := 14(先行後列)

  24. 矩陣索引(2),線性索引:a = magic(4); a(12) := 15(一列一列indexing)

  25. 矩陣索引(3),索引從1開始

  26. 矩陣索引(4)——取值(等號右的索引),不能超過數組維度

  27. 矩陣索引(5)——賦值(等號左的索引),能夠超過數組維度,賦值後會擴展矩陣,用0填充其他元素位置

  28. 冒號操做符(1)——取範圍:2:3 := [2 3]; 1:4 := [1 2 3 4]

  29. 冒號操做符(2)——用於矩陣索引:a = magic(4); a(1:3, 2) := a([1 2 3], 2); a(3, :) := a(3, 1:4) := a(3, [1 2 3 4])

  30. 冒號操做符(3)——三元操做符<start>:<step>:<end(INCLUDED)>0:10:40 := [0 10 20 30 40](二元時候至關於省略step,此時step爲1)

  31. 查看變量(workspace variables):whos

  32. 保存變量到文件,加載變量文件到workspace variables:save ***.mat load ***.mat

  33. 字符串(1):a = 'doge'

  34. 字符串(2)串中的單/雙引號:good_doge = 'doge''s good'(也能夠單雙引號交叉使用)

  35. 字符串(3)拼接:good_doge = ['do' 'ge']; good_doge := 'doge'

  36. 字符串(4)數字轉換成字符串:num2str int2str

  37. 函數調用(1)多返回值:A = [1 3 5]; [maxA, location] = max(A);maxA := 5; location := 3

  38. 函數調用(2)也能夠只接收返回值的其一:max(A) := 5

  39. 函數調用(3)無參數時沒必要寫括號

  40. 清除屏幕函數:clc(無參數)

  41. plot(1):plot(x座標們,y座標們)

  42. plot(2):plot(x座標們,y座標們,線樣式如'g--' 'r:*')

  43. plot(3):標註(xlabel('...') ylabel('...') title('...') legend('...', ...)

  44. plot(4):每次plot動做時,默認會清除圖裏的全部內容包括label

  45. plot(5)保留plot內容:hold on 對應,hold off

(從這裏開始,變得沒有耐心了)

  1. 函數

function [ret, val, list] = func_name(para, list)
...
end
function no_ret_val_func(para, list)

零碎

  • [THETA, R] = cart2pol(X, Y)直角座標轉換極座標

相關文章
相關標籤/搜索