如果m>n,超定系统,至少找到一组解。
如果A是奇异的,且AX=B有解,可以用X=pinv(A)×B返回最小二乘解
(2)AX=b, A=L×U,[L,U]=lu(A), X=U\(L\b),即用LU分解求解。
(3)QR(正交)分解是将一矩阵表示为一正交矩阵和一上三角矩阵之积,A=Q×R[Q,R]=chol(A), X=Q\(U\b)
(4)cholesky分解类似。
2、特征值
D=eig(A)返回A的所有特征值组成的矩阵。
[V,D]=eig(A),还返回特征向量矩阵。
3、A=U×S×UT,[U,S]=schur(A).其中S的对角线元素为A的特征值。
4、多项式Matlab里面的多项式是以向量来表示的,其具体操作函数如下:
conv 多项式的乘法
deconv 多项式的除法,【a,b】=deconv(s),返回商和余数
poly 求多项式的系数(由已知根求多项式的系数)
polyeig 求多项式的特征值
Polyfit(x,y,n) 多项式的曲线拟合,x,y为被拟合的向量,n为拟合多项式阶数。
polyder 求多项式的一阶导数,polyder(a,b)返回ab的导数
[a,b]=polyder(a,b)返回a/b的导数。
polyint 多项式的积分
polyval 求多项式的值
polyvalm 以矩阵为变量求多项式的值
residue 部分分式展开式
roots 求多项式的根(返回所有根组成的向量)
注:
用ploy(A)求出矩阵的特征多项式,然后再求其根,即为矩阵的特征值。
5、插值常用的插值函数如下:
griddata 数据网格化合曲面拟合
Griddata3 三维数据网格化合超曲面拟合
interp1 一维插值(yi=interp1(x,y,xi,’method’)Method=nearest/linear/spline/pchip/cubic
Interp2 二维插值zi=interp1(x,y,z,xi,yi’method’),bilinear
Interp3 三维插值
interpft 用快速傅立叶变换进行一维插值,helpfft。
mkpp 使用分段多项式
spline 三次样条插值
pchip 分段hermit插值
6、函数最值的求解
fminbnd(‘f’,x1,x2,optiset(,))求f在x1和x2之间的最小值。
Optiset选项可以有‘Display’+‘iter’/’off’/’final’,分别表示显示计算过程/不显示/只显示最后结果。
fminsearch求多元函数的最小值。
fzero(‘f’,x1)求一元函数的零点。
X1为起始点。
同样可以用上面的选项。
五、图像绘制:
1、基本绘图函数
plot 绘制二维线性图形和两个坐标轴
plot3 绘制三维线性图形和两个坐标轴
fplot 在制定区间绘制某函数的图像。
fplot(‘f’,区域,线型,颜色)
loglog 绘制对数图形及两个坐标轴(两个坐标都为对数坐标)semilogx 绘制半对数坐标图形
semilogy 绘制半对数坐标图形
2、线型:
颜色 线型
y 黄色 . 圆点线 v 向下箭头
g 绿色 -. 组合 > 向右箭头
b 蓝色 + 点为加号形 < 向左箭头
m 红紫色 o 空心圆形 p 五角星形
c 蓝紫色 * 星号 h 六角星形
w 白色 . 实心小点 holdon 添加图形
r 红色 x 叉号形状 gridon 添加网格
k 黑色 s 方形 - 实线
d 菱形 -- 虚线 ^向上箭头
3、可以用subplot(3,3,1)表示将绘图区域分为三行三列,目前使用第一区域。
此时如要画不同的图形在一个窗口里,需要holdon。
=================================================================
附录1.1 管理用命令
函数名 功能描述 函数名 功能描述
addpath 增加一条搜索路径 rmpath 删除一条搜索路径
demo 运行Matlab演示程序 type 列出.M文件
doc 装入超文本文档 version 显示Matlab的版本号
help 启动联机帮助 what 列出当前目录下的有关文件
lasterr 显示最后一条信息 whatsnew 显示Matlab的新特性
lookfor 搜索关键词的帮助 which 造出函数与文件所在的目录
path 设置或查询Matlab路径
附录1.2管理变量与工作空间用命令
函数名 功能描述 函数名 功能描述
clear 删除内存中的变量与函数 pack 整理工作空间内存
disp 显示矩阵与文本 save 将工作空间中的变量存盘
length 查询向量的维数 size 查询矩阵的维数
load 从文件中装入数据 who,whos 列出工作空间中的变量名
附录1.3文件与操作系统处理命令
函数名 功能描述 函数名 功能描述
cd 改变当前工作目录 edit 编辑.M文件
delete 删除文件 matlabroot 获得Matlab的安装根目录
diary 将Matlab运行命令存盘 tempdir 获得系统的缓存目录
dir 列出当前目录的内容 tempname 获得一个缓存(temp)文件
!
执行操作系统命令
附录1.4窗口控制命令
函数名 功能描述 函数名 功能描述
echo 显示文件中的Matlab中的命令 more 控制命令窗口的输出页面
format 设置输出格式
附录1.5启动与退出命令
函数名 功能描述 函数名 功能描述
matlabrc 启动主程序 quit 退出Matlab环境
startup Matlab自启动程序
附录2 运算符号与特殊字符附录
2.1运算符号与特殊字符
函数名 功能描述 函数名 功能描述
+ 加 ... 续行标志
- 减 , 分行符(该行结果不显示)
* 矩阵乘 ; 分行符(该行结果显示)
.* 向量乘 % 注释标志
^ 矩阵乘方 !
操作系统命令提示符
.^ 向量乘方 矩阵转置
kron 矩阵kron积 . 向量转置
\ 矩阵左除 = 赋值运算
/ 矩阵右除 == 关系运算之相等
.\ 向量左除 ~= 关系运算之不等
./ 向量右除 < 关系运算之小于
:
向量生成或子阵提取 <= 关系运算之小于等于
() 下标运算或参数定义 > 关系运算之大于
[] 矩阵生成 >= 关系运算之大于等于
{} & 逻辑运算之与
. 结构字段获取符 | 逻辑运算之或
. 点乘运算,常与其他运算符联合使用(如.\) ~ 逻辑运算之非
xor 逻辑运算之异成
附录2.2逻辑函数
函数名 功能描述 函数名 功能描述
all 测试向量中所用元素是否为真 is*(一类函数) 检测向量状态.其中*表示一个确定的函数(isinf)
any 测试向量中是否有真元素 *isa 检测对象是否为某一个类的对象
exist 检验变量或文件是否定义 logical 将数字量转化为逻辑量
find 查找非零元素的下标
附录3 语言结构与调试
附录3.1编程语言
函数名 功能描述 函数名 功能描述
builtin 执行Matlab内建的函数 global 定义全局变量
eval 执行Matlab语句构成的字符串 nargchk 函数输入输出参数个数检验
feval 执行字符串指定的文件 script Matlab语句及文件信息
function Matlab函数定义关键词
附录3.2控制流程
函数名 功能描述 函数名 功能描述
break 中断循环执行的语句 if 条件转移语句
case 与switch结合实现多路转移 otherwise 多路转移中的缺省执行部分
else 与if一起使用的转移语句 return 返回调用函数
elseif 与if一起使用的转移语句 switch 与case结合实现多路转移
end 结束控制语句块 warning 显示警告信息
error 显示错误信息 while 循环语句
for 循环语句
附录3.3交互输入
函数名 功能描述 函数名 功能描述
input 请求输入 menu 菜单生成
keyboard 启动键盘管理 pause 暂停执行
附录3.4面向对象编程
函数名 功能描述 函数名 功能描述
class 生成对象 isa 判断对象是否属于某一类
double 转换成双精度型 superiorto 建立类的层次关系
inferiorto 建立类的层次关系 unit8 转换成8字节的无符号整数
inline 建立一个内嵌对象
附录3.5调试
函数名 功能描述 函数名 功能描述
dbclear 清除调试断点 dbstatus 列出所有断点情况
dbcont 调试继续执行 dbstep 单步执行
dbdown 改变局部工作空间内存 dbstop 设置调试断点
dbmex 启动对Mex文件的调试 sbtype 列出带命令行标号的.M文件
dbquit 退出调试模式 dbup 改变局部工作空间内容
dbstack 列出函数调用关系
附录4 基本矩阵与矩阵处理
附录4.1基本矩阵
函数名 功能描述 函数名 功能描述
eye 产生单位阵 rand 产生随机分布矩阵
linspace 构造线性分布的向量 randn 产生正态分布矩阵
logspace 构造等对数分布的向量 zeros 产生零矩阵
ones 产生元素全部为1的矩阵 :
产生向量
附录4.2特殊向量与常量
函数名 功能描述 函数名 功能描述
ans 缺省的计算结果变量 non 非数值常量常由0/0或Inf/Inf获得
computer 运行Matlab的机器类型 nargin 函数中参数输入个数
eps 精度容许误差(无穷小) nargout 函数中输出变量个数
flops 浮点运算计数 pi 圆周率
i 复数单元 realmax 最大浮点数值
inf 无穷大 realmin 最小浮点数值
inputname 输入参数名 varargin 函数中输入的可选参数
j 复数单元 varargout 函数中输出的可选参数
附录4.3时间与日期
函数名 功能描述 函数名 功能描述
calender 日历 eomday 计算月末
clock 时钟 etime 所用时间函数
cputime 所用的CPU时间 now 当前日期与时间
date 日期 tic 启动秒表计时器
datenum 日期(数字串格式) toc 读取秒表计时器
datestr 日期(字符串格式) weekday 星期函数
datevoc 日期(年月日分立格式)
附录4.4矩阵处理
函数名 功能描述 函数名 功能描述
cat 向量连接 reshape 改变矩阵行列个数
diag 建立对角矩阵或获取对角向量 rot90 将矩阵旋转90度
fliplr 按左右方向翻转矩阵元素 tril 取矩阵的下三角部分
flipud 按上下方向翻转矩阵元素 triu 取矩阵的上三角部分
repmat 复制并排列矩阵函数
附录5 特殊矩阵
函数名 功能描述 函数名 功能描述
compan 生成伴随矩阵 invhilb 生成逆hilbert矩阵
gallery 生成一些小的测试矩阵 magic 生成magic矩阵
hadamard 生成hadamard矩阵 pascal 生成pascal矩阵
hankel 生成hankel矩阵 toeplitz 生成toeplitz矩阵
hilb 生成hilbert矩阵 wilkinson 生成wilkinson特征值测试矩阵
附录6 数学函数
附录6.1三角函数
函数名 功能描述 函数名 功能描述
sin/asin 正弦/反正弦函数 sec/asec 正割/反正割函数
sinh/asinh 双曲正弦/反双曲正弦函数 sech/asech 双曲正割/反双曲正割函数
cos/acos 余弦/反余弦函数 csc/acsc