MATLAB note 01
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。
其特点在于使用矩阵运算,进而可以进行大量的数据运算。
- 实用的几个命令
- 基本数据类型
- 数组的运算
- 矩阵的运算
MATLAB的使用操作界面主要分两个部分
1.命令行窗口
2.编辑器
通过编辑器可以让用户自己书写代码文件,也就是脚本文件,脚本文件文件名后缀是(.m),有人也叫.m文件233.
自己书写的脚本文件可以通过Ctrl+s的方式保存下来,在下次需要时可以继续使用,默认路径为MATLAB的安装目录。而在命令行窗口书写的公式计算方法等则不能保存下来,通常也可以保存为(.m)文件,但只能保存下来变量。
实用的几个命令
clc %清屏
clear all;%删除workplace所有变量
clear a; %删除workplace变量a
close all;%关掉显示图形窗口
who %查看变量信息
whos %查看变量信息,更详细
help %帮助系统
help+函数名/类名 %显示函数/类的相关信息
lookfor+关键字 %显示包含关键字的函数/类的所有条目
基本数据类型
MATLAB的数据类型包括
- 数值型
- 字符型
- 略 元胞数组
- 略 结构体
- 略 函数句柄
变量
变量命名规则:
- 区分大小写,必须以字母开头,可包含字母,数字,下划线。
常量
MATLAB中有一些预定义的常量
i,j(i与j相同) %虚数单位
pi %圆周率
esp %浮点运算相对精度
NaN %不定值
ans %默认变量名
Inf %无穷大
realmax %最大正实数
realmin %最小正实数
数值型数据
字符型数据
数组的运算
数组创建
%使用"[ ]" " , " " ; "来创建数组
A =[1 2 3 4 5 6]
B=[1,2,3,4,5,6]
C=[1;2;3;4;5;6]
%数组的访问
a1=A(1) %访问数组第一个元素
a2=A( a:b) %访问从a-b个元素
a3=A([ a b]) %访问第a个,第b个元素
%用" : "快速创建一维数组
X=A:step:B %从A到B每次递进step
%用logspace函数构建一维数组
Y=logspace(a,b)%从10的a次方-10的b次方,形成50个等比数列
Y=logspace(a,b,n)%从10的a次方-10的b次方,形成n个等比数列
%使用linspace创建一维数组
Y=linspace(a,b) %从a-b的100个元素等比数列
Y=linspace(a,b,n)%%从a-b的n个元素等比数列
数组运算
注意:数组运算的前提必须是维数相同
A=linspace(1,100,100);
B=linspace(1,100,100);
C=A.*B %乘
D=A./B %除
C=A+B %加
D=A-B %减
%点积
C=dot(A,B)
%关系运算,逻辑运算
==,<=,>=,&,|,~
矩阵的运算
生成向量
%使用":"创建向量
X=[初值a:增量:终值b]
%使用linspace函数生成向量
X=linspace(初值a,终值b,个数n)
%使用logspace函数生成向量
X=logspace(初值a,终值b,个数n)
矩阵运算
矩阵计算
A=rand(5)
B=rand(5)
A(a:b,c:d) %a-b行,c-d列
C=A.^2 %每一项的平方
C=A^2 %乘积
D=A*B %乘
E=A/B %除
F=A+B %加
G=A-B %减
特殊矩阵生成
zeros(m,n) — 产生m´n的零矩阵;
eye(m) — 产生m´m的单位矩阵;
ones(m,n) — 产生m´n的全部元素都为1的矩阵;
rand(m,n) —产生0到1均匀分布的m´n随机矩阵;
randn(m,n) — 产生高斯分布(μ=0,σ=1)随机矩阵;
blkdiag(a,b,...,c) —创建以输入元素a,b,...,c为对角元的矩阵;
diag([a b … c]) — 功能同blkdiag;
magic(n) — 创建魔方矩阵;
矩阵元素的提取
A(m,n) — 矩阵A的第m行第n列对应的元素;
A(m,:) / A(:,n) — 矩阵A的第m行/n列;
tril(A,m) — 矩阵A第m条对角线及其以下的元素;
triu(A,m) — 矩阵A第m条对角线及其以上的元素;
diag(A,p) — 矩阵A的第m条对角线的元素;
矩阵元的修改
A(m,n)=a0 — 用a0替代矩阵A的第m行第n列的元素;
A(m,:)=a0 / A(:,n)=a0 — 用a0替代矩阵A的第m行/n列的元素;
矩阵变换
rot90(A,k) — 逆时针矩阵旋转 k´90º ;
fliplr(A) — 矩阵左右翻转;
flipud(A) — 矩阵上下翻转;
统计运算符
size(A,n) — 输出矩阵的行数( n=1)或列数( n=2);
max(A) / min(A) — (按列)统计矩阵的最大/小值;
sum(A) — (按列)统计矩阵元素的和;
mean(A) — (按列)统计矩阵元素的平均值;
prod(A) — (按列)统计矩阵元素的乘积;
std(A) / var(A) — 标准差/方差;
其它运算符
abs(A) — 对矩阵A 的所有元素取模;
dot(a,b) / cross(a,b) — 向量点乘/叉乘 ;
其它矩阵函数
A' / A.'— 计算矩阵A的转置矩阵;
inv(A) — 计算矩阵A的逆矩阵, 相当于A^-1;
rank(A) — 计算矩阵A的秩;
trace(A) — 计算矩阵A的迹;
det(A) — 计算矩阵A的行列式;
day 20.18.11.30
by dreams