实际上这篇文章的内容大多数都已经在我的matlab专栏里或多或少提及到了。这里只对之前没有提及(或者我忘记的)再记录一下。
zeros(m,n) 创建全零数组,m行n列。zeros还有其他用法,参见帮助。 ones(n) 创建全为1的n×n矩阵。ones还有其他用法,参见帮助。 eye(n) 创建n×n的单位矩阵。eye的其他用法,参见帮助。
矩阵的乘 * 与点乘 .*
是线性代数中的运算方法。 .* 是矩阵对应位置的值相乘。 ^ 2 与.^2效果也同上。 矩阵的 / 与点除 ./ / 是线性代数中的运算方法。 ./ 是矩阵对应位置的值相除。 [个人笔记]matlab教程03flipud函数:对数组自上向下翻转(行)。
fliplr函数:对数组自左向右翻转(列)。 rot90函数:将数组逆时针旋转 90 度。 sum函数:对于矩阵。默认对列进行相加求和,如果想要进行行求和,需要写成sum(A,2)。就对A矩阵的第2维度(行)进行求和计算。 max函数,取最大如果写成max(A,2)就会与2比较,取出大于等于2的。如果构建了二维数组,它会对每一列中选取最大值。如果想进行行比较需要些max(A,[],2)。 min函数,取最小min(A,2)同理。 [个人笔记]matlab教程04 ciel函数:向正向四舍五入。 fix函数:向0四舍五入。 floor函数:向负无穷大四舍五入。 round函数:四舍五入为最近的小数或整数。
[个人笔记]matlab教程01
[个人笔记]matlab教程09
[个人笔记]matlab教程04
dir函数:列出文件夹内容。
对于matlab 而言文本中%后面的文字也视为注释,不会作为数据读取。 使用load函数进行读取(只能对全数值的文本进行读取) 工作区就加载了这个文件中的数据。 使用fopen函数来打开文件 这里注意一下打开的格式,如果格式不正确,会造成结果乱码 用fgetl函数获取一行文本(指针会下移),因此第二次执行命令会获取第二行。 当进行完文本操作后,记得使用 fclose 函数关闭文件 对excel数据读取 用xlsread函数
fprintf函数,注意打开文件的方式,a是追加。 [个人笔记]matlab教程12 对excel数据写入 xlswrite函数 因为定义的写入数据范围比数据多,所以多的部分就被填充上了NaN,读入的时候也会这样。(excel需要关闭时执行,如果打开可能会提示被占用)
使用imread函数读入,用image显示。 可爱吗,一拳能锤死你的那种 注释掉的两句是对图片再次裁剪显示。 VidoReader是视频读入函数。实际处理中是按帧处理,所以还是图片。此函数不会读取声音。
线性代数与matlab中方程组求解
线性和多项式的拟合使用polyfit函数使用fittype来指定拟合的方式
interp1函数:在曲线上插入点 regress多元线性回归 Y=b0+b1X1+b2X2+…+bkXk [B,Bint,R,Rint,Stats]=regress(Y,X) B是回归得到的自变量系数;Brint是B 的 95% 的置信区间矩阵。
对于连续问题,就需要列写微分方程或偏微分方程。 求解微分方程使用ode23函数(ode45也可以,精度更高,ode45的使用参见帮助,这里列举ode23的使用)。
例如:在[0,2pi]上求解: 初值确认:
f=@(t,y)cos(t); tspan=[0,2*pi]; y0=2;%初值 [t,y]=ode23(f,tspan,y0);例如:在[0,20]区间求解 已知 先转化为一阶方程 这样就有两组方程了,因此f中需要写入两组 f=@(t,y)[y(2);-sin(y(1))+sin(5*t)]
f=@(t,y)[y(2);-sin(y(1))+sin(5*t)]; tspan=[0,20]; y0=[1;0]; [t,y]=ode23(f,tspan,y0);