直到今天,终于肯按下躁动的心来CSDN博客写文字了。
因为要入神经网络这个深坑,不得不把之前零零散散的matlab基础知识一点点拾掇起来,温故知新。网上down了一本《精通MATLAB神经网络》电子书,看了一下目录,确是面向Matlab菜鸟的入门书籍,全书共分为三篇,Matlab入门篇->神经网络提高篇->神经网络综合实战篇。打算花一段时间好好看看大部头技术书籍,一来摸索自己将来的技能路径,二来锻炼自己学技术的耐心和听说读写四大技能。
Talk is cheap,show you the code!
- MATLAB数值类型:双精度数组、字符串数组、元胞数组、构架数组
- 元胞数组:与数字数组相似,以下标来区分,元胞数组由元胞和元胞内容两部分组成。花括号”{}”表示元胞数组的内容,圆括号”()”表示元胞元素。与一般数字数组不同,元胞可以存放任何类型、任何大小的数组,而且同一个元胞数组中各元胞内容可以不同。
- 架构数组:与元胞数组相似,架构数组也可以存储不同类型的数据,使用指针方式传递数值。
- 关系运算与逻辑运算:关系运算符,逻辑运算符以及相关函数
- 关系运算符:<,<=,>,>=,==,~= (不等于)
- 逻辑运算符:&,|,~
- 关系运算函数:all,any,xor
- 逻辑运算函数:bitand,bitor,bitxor,bitcmp,bitmax,bitshift
- 矩阵及其运算 : 矩阵创建,矩阵运算
- 矩阵运算:+,-,*,^, \ (右除),/ (左除),log(A),exp(A)
常用矩阵运算函数 | 实现功能 |
---|---|
(A)’ | 求转置 |
det(A) | 求矩阵行列式 |
eig(A) | 求矩阵特征值或特征向量 |
inv(A) | 矩阵A求逆 |
pinv(A) | 矩阵A求伪逆 |
rank(A) | 求矩阵A的秩 |
svd(A) | 求矩阵A的奇异值或进行奇异值分解 |
gsvd(A) | 求矩阵A的广义奇异值 |
trace(A) | 求矩阵A的迹 |
schur(A) | 对矩阵A进行Schur分解 |
hess(A) | 求矩阵A的Hessenburg标准型 |
cond(A) | 求矩阵A的范数 |
chol(A) | 对矩阵A进行Cholesky分解 |
lu(A) | 对矩阵A进行lu分解 |
qr(A) | 对矩阵A进行QR分解 |
poly(A) | 求矩阵A的特征多项式 |
相关代码实现:
%cellarray.m
%元胞数组的不同创建方式
A(1,1) = {'An example of cell array'};
A(1,2) = {[1 2;3 4]};
%元胞数组A的第一行用元胞数组标志法建立一个字符串和一个矩阵
A{2,1} = tf(1,[1,8]);
A{2,2} = {A(1,2);'This is an example'};
%第二行用元胞内容标志法,建立一个传递函数和一个由两个元素组成的元胞组
celldisp(A)%显示该元胞数组
%creatematrix.m
A = [1,2,3;4,5,6];%创建一个2x3的矩阵A
B = [A;11,12,13];%添加一行元素创建3x3的矩阵B
B(3,2)%ans=12,访问第3行第2列交叉的元素
B(:,3)%ans=[3,6,13]',访问第3列所有元素
B(1,:)%ans=[1,2,3],访问第1行所有元素
B(2:3,2:3)%ans=[5,6;12,13],访问了一个2x2的子块矩阵
更多Matlab语言基础知识,参见MATLAB 示例 - MATLAB & Simulink - MathWorks 中国