Matlab是刚好两年前(大三)接触的,那时一些课程(遥感图像处理、计量地理学......)要涉及简单的数学建模的问题。Matlab在那些资深的开发者看来可能是一门有点边缘化的东西,虽然也能做开发,能OOP、甚至能做GUI,但它既然名曰“矩阵实验室(Matrix Laboratory)”,就显而易见,它是为数学计算而生的,如果说R的特色是向量,那Matlab肯定就是矩阵了。而最近也在准备自己的第一次建模比赛,故复习一下它的基本知识。(本文只取最最基本的总结,不做深入)
(1)常用操作
doc XXX % 查看XXX的文档(帮助) clear;clc;save;load;whos %不赘述了 Ctrl+R(T) %注释/取消注释 ... %续行 ; %不显示结果&断句
(2)数值计算
+ - %加减 * / \ ^ %矩阵的乘、右除、左除、乘方 .* ./ .\ .^ %数组的乘、右除、左除、乘方 .\' %矩阵的转置 & | ~ xor %与、或、非、异或 any %有非零元素 all %全为非零元素 abs %绝对值 ceil;floor;fix;round %取整 mod;rem %余数 sign %正负 individe %整除 sum;mean;std;var %求和;平均;标准差;方差 median;sort;sortrows %中位数;按列排序;按行排序
(3)输入输出
input %输入 disp %输出 fprintf %格式化输出 num2str;str2num %字符串与数值间的转换
(4)矩阵
eye;ones;zeros;rand;randn %单位矩阵;1矩阵;0矩阵;均匀分布随机;正态分布随机 linspace;logspace %线性等分向量;对数等分向量 det;inv;rank;trace;eig %行列式;求逆;秩;迹;特征值和特征向量 length;size;ndims %长度;大小;维度
(5)绘图
plot %基本作图 plot3;mesh;surf %三维作图;三维网格;三维表面 axis %坐标轴设置 grid %网格 hold %保持 title %标题 xlabel;ylabel %坐标轴名 legend %图例 text %文本 plotyy %双纵坐标 hist %直方图