MATLAB 笔记摘要

0. Basics

  1. 赋单个值:a = 1

  2. (内部函数):d=cos(a)

  3. 特殊变量:ans

  4. 分号,阻止输出:; e = a * d;

  5. (命令行工具): ↑ and ↓ arrow

  6. 所有MATLAB变量都是多维数组,其中矩阵是二维数组

  7. 创建数组:a = [1 2 3 4](空格分隔元素)a = [1,2,3,4](逗号分隔元素)这里a是个行向量(row vector)

  8. 创建矩阵(1),用分号分隔行:a = [1 2 3; 4 5 6; 7 8 10]或a = [1,2,3; 4,5,6; 7,8,10]

  9. 创建矩阵(2),用内置函数(ones, zeros, rand, ...):z = zeros(5, 1)(5行1列全是0的矩阵)(ones, rand用法也差不多。这几个函数都有很多变体)

  10. 创建矩阵(3),记一个生成幻方矩阵的函数magic:magic(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/j:a = 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)——三元操作符:::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)

零碎

  1. [THETA, R] = cart2pol(X, Y)直角坐标转换极坐标

关键字:matlab, 矩阵, 函数, 索引

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部