基本
变量域与格式
清理工作区变量:clear
、清理命令行窗口:clc
。
调整输出格式:
|
|
其中style
有:
style | 描述 |
---|---|
rat | 以分数形式输出 |
compact | 以紧凑型格式输出 |
short | 以四位小数输出 |
long | 输出较长的小数位 |
shortEng | 以科学计数法输出较短小数 |
longEng | 以科学计数法输出较长小数 |
hex | 以 16 进制数输出 |
输入输出
函数名 | 用法示例 | 描述 |
---|---|---|
disp() | disp(String ) | 显示一段文字 |
fprintf() | fprintf(formated string {,data }) | 格式输出(字面意思) |
print() | print(Target ,data ) | 向Target 展示data (不常用) |
逻辑运算
判断语句:
|
|
for 循环:
|
|
while 循环:
|
|
代数式运算
代数式求解
函数名 | 用法示例 | 描述 |
---|---|---|
solve() | solve(equation ,syms ) | 以syms 为自变量求解方程equation 的解 |
solve() | [x,y,z] = solve(方程1,方程2,方程3,x,y,z) | 将x,y,z解出 |
vpa() | vpa(x,n) | 将变量x化为小数,小数共有n位 |
代数式优化
函数名 | 用法示例 | 描述 |
---|---|---|
floor() | floor([ ] or num) | 向下取整 |
simplify() | simplify(Algebraic expression ) | 化简代数式 |
subs() | subs(f,[a b],[c d]) | 将符号表达式f中的a,b代换为c,d |
exp() | exp(x) | 获得e的x次方 |
多项式曲线拟合
polyfit是多项式曲线拟合函数,polyval是多项式计算求值函数
函数名 | 用法示例 | 描述 |
---|---|---|
polyfit() | polyfit(x,y,m) | x,y表示横纵坐标向量,代表多项式系数 |
polyval() | y0 = polyval(p,x0) | 求多项式在x0处的取值,x0可以是向量。p为多项式的系数由高到低排列组成的向量,如y=3x^2+5x+4的p为[3,5,4] |
高等数学
微分
diff 函数用以演算一函数的微分项,相关的函数语法有下列 4 个:
diff(f) | 传回 f 对预设独立变数的一次微分值 |
diff(f,’t') | 传回 f 对独立变数 t 的一次微分值 |
diff(f,n) | 传回 f 对预设独立变数的 n 次微分值 |
diff(f,’t’,n) | 传回 f 对独立变数 t 的 n 次微分值 |
数值微分函数也是用 diff,因此这个函数是靠输入的引数决定是以数值或是符号微分,假设引数为向量则运行数值微分,假设引数为符号表示式则运行符号微分。
先定义下列三个方程式,接著再演算其微分项:
|
|
极限
limit()用于计算所给函数的极限具体用法如下:
函数名 | 用法示例 | 描述 |
---|---|---|
limit() | limit(f,x,a,’left') | 可给出函数f关于x->a时极限,’left’为左趋于a,‘right’表示右趋于a |
示范样例:
|
|
多变量函数极限
多变量函数可嵌套limit函数使用
如求f(x,y)在x->x0,y->y0是的极限
|
|
积分
int 函数用以演算一函数的积分项, 这个函数要找出一符号式 F 使得 diff(F)=f。假设积分式的解析式(analytical form, closed form) 不存在的话或是 MATLAB 无法找到,则 int 传回原输入的符号式。相关的函数语法有下列 4 个:
int(f) | 传回 f 对预设独立变数的积分值 |
int(f,’t’) | 传回 f 对独立变数 t 的积分值 |
int(f,a,b) | 传回 f 对预设独立变数的积分值,积分区间为[a,b],a 和 b 为数值式 |
int(f,’t’,a,b) | 传回 f 对独立变数 t 的积分值,积分区间为[a,b],a 和 b 为数值式 |
int(f,’m’,’n') | 传回 f 对预设变数的积分值,积分区间为[m,n],m 和 n 为符号式 |
我们示范几个样例:
|
|
二重积分
可使用int()函数嵌套来求解二重积分
|
|
常微分方程式
MATLAB 解常微分方程式的语法是 dsolve(’equation’,‘condition’),当中 equation 代表常微分方程式即 y’=g(x,y),且须以 Dy 代表一阶微分项 y’ D2y 代表二阶微分项 y’’,condition 则为初始条件。
如果有下面三个一阶常微分方程式和其初始条件
|
|
级数展开
待补充
矩阵运算
矩阵生成
函数名 | 用法示例 | 描述 |
---|---|---|
eye() | eye(n) | 生成一个n 阶单位 矩阵 |
ones() | ones(x,y) | 生成一个 x*y 的全1 矩阵 |
zeros() | zero(x,y) | 生成一个 x*y 全0 矩阵 |
diag() | diag([ ]) | 根据行矩阵生成对角 矩阵 |
rand() | rand(x,y) | 生成一个 x*y 的随机 矩阵,矩阵元素在 0-1 之间 |
vander() | vander([ ]) | 生成一个范德蒙德 矩阵 |
矩阵变换
函数名 | 用法示例 | 描述 |
---|---|---|
rot90() | rot([ ]{,k}) | 将一个矩阵逆时针 旋转 90 度,k 默认为 1,表示旋转 k 次 |
fliplr() | fliplr([ ]) | 将一个矩阵左右 翻转 |
flipud() | flipud([ ]) | 将一个矩阵上下 翻转 |
常规运算
函数名 | 用法示例 | 描述 |
---|---|---|
det() | det([ ]) | 求行列式 的值 |
[ ]’ | 求矩阵的转置 矩阵 | |
inv() | inv([ ]) or []^-1 | 求矩阵的逆 |
rank() | rank([ ]) | 求矩阵的秩 |
sum() | sum([ ]{,k= 1 or 2}) | 求行矩阵的和或是矩阵的纵向和,k 默认为 1,当 k=2 时求横向和 |
mean() | mean(x) | 求x的平均值 |
sum() | sum(x,‘a’) | 对x的行或列求和 |
特征提取
函数名 | 用法示例 | 描述 |
---|---|---|
size() | size([ ]{,k = 1, 2, null}) | 求矩阵的大小,k=1 时取矩阵的行数,k=2 时取矩阵的列数,k 不取是返回 [行数,列数] |
矩阵求解
函数名 | 用法示例 | 描述 |
---|---|---|
rref() | rref([ ]) | 求行最简矩阵,返回行最简矩阵 or [行最简矩阵 ,极大无关组所在的列 ] |
linsolve() | linsolve([A],[B]) | 求解 A*x=B 线性方程组的特解 |
null() | null([A]{, ‘r’} | 求解的齐次线性方程组A*x=[0] 的基础解系,一般情况下'r' 是加上的 |
函数绘图
一元函数绘图
函数名 | 用法示例 | 描述 |
---|---|---|
explot() | explot(f,[xmin,xmax,ymin,ymax]) | 绘制f函数x从min到max的函数图像,范围y从min到max |
explot(x,y,[tmin,tmax]) | 绘制由x=x(t),y=y(t)的参数方程 |
二元函数绘图
函数名 | 用法示例 | 描述 |
---|---|---|
ezmesh() | ezmesh(f,domain) | f为函数名,domain表示取值范围 |
ezmesh(x,y,z,[smin,smax,tmin,tmax]) | 由x,y,z表示的参数函数 |
回归模型
一元线性回归
函数名 | 用法示例 | 描述 |
---|---|---|
regress() | [b ,bint,r,rint,start] = regress(Y,X) | 见下方实验的解析 |
|
|
解析:
B:回归系数,是个向量(“the vector B of regression coefficients in the linear model Y = X*B”)
BINT:回归系数的区间估计(“a matrix BINT of 95% confidence intervals for B”)
R:残差( “a vector R of residuals”)
RINT:置信区间(“a matrix RINT of intervals that can be used to diagnose outliers”)
STATS:用于检验回归模型的统计量。有4个数值:判定系数R^2,F统计量观测值,检验的p的值,误差方差的估计
ALPHA:显著性水平(缺少时为默认值0.05)
Y是一个由结果组成的列向量(如果不是列向量,需要转置)
X是单因素x的所有次方(包括零次方,也就是全1向量,通常用ones(size(x))生成。)组成的矩阵的转置
注意:
回归系数B是个按x次方由小到大排列的列向量,使用polyval拟合结果时需要对B转置并左右交换,即polyval(fliplr(b’),x)
多元线性回归
函数名 | 用法示例 | 描述 |
---|---|---|
regress() | 如下 | 如下 |
|
|
一元非线性回归
函数名 | 用法示例 | 描述 |
---|---|---|
inline() | fun=inline(‘函数’,‘待定系数’,‘变量’) | 将fun定义为带有待定系数的内联函数 |
nlinfit() | [beta,r,j]=nlinfit(x,y,fun,b0) | x为自变量,y为因变量,fun为非线性回归的函数,b0是初始函数,beta为待定系数组成的向量,r为拟合残差,j为雅可比矩阵的数值 |
|
|
可决系数
可决系数是检验曲线拟合度的重要指标
|
|