matlab 数学基础.docx
- 文档编号:5268079
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:19
- 大小:46.53KB
matlab 数学基础.docx
《matlab 数学基础.docx》由会员分享,可在线阅读,更多相关《matlab 数学基础.docx(19页珍藏版)》请在冰豆网上搜索。
matlab数学基础
一,矩阵与基本运算
1.矩阵
helpsqrt;%联机求助
m=input(‘请输入初始量,m=’);
d=linspace(0,2*pi,22);
A(2,:
);%取出A第2行所有元素
A([1,3],:
);%取出A第1,3行所有元素
A(2:
3,1:
2);%取出A的2,3行与1,2列交叉的元素
numel(A);%返回A的元素数
size(A);%以数组形式返回A的行数,列数
A([1,3],:
)=A([3,1],:
);%交换A的1,3行元素
A(:
[2,3])=A(:
[3,2]);%交换A的2,3列元素
A(find(A==3))=-3;%将A中等于3的所有元素换为-3
A(2,:
)=[];%删除A的第2行
A(3,:
)=2*A(2,:
)+3;%将A的第2行元素乘2加3作为第3行元素
A(:
);%提出所有元素
A(:
)=B;%令B=A
reshape(A,2,6)%返回A的元素构造的2×6维矩阵
A(4,5)=0;%扩充A成4×5的矩阵,未定义元素为0
A=[1,3,5;5,8,3;6,1,6]B=[3,6;9,3;4,7]C=[3,7,9,4,0,7]D=2:
6
[A,B]行右加[A;C]列下加
diag(A,k);%抽取A的第k条对角线元素
5625
5835
59371
3565第0条
2585-1
3595
3797
tril(A,k);%抽取A的第k条对角线(含)下面的部分,剩下的0填充
triu(A,k);%抽取A的第k条对角线(含)上面的部分,剩下的0填充
flipud(A):
%A进行上下翻转
fliplr(A);%A进行左右翻转
rot90(A,n);%A逆时针旋转n*90°
eye(n);n维单位矩阵ones(n,m);n×m维1矩阵zeros(n,m);n×m维0矩阵
rand(n,m);n×m维随机矩阵(0~1之间)
randn(m,n);m×n正态分布随机矩阵
randperm(n);产生1~n之间整数的随机排列
A=10+10*rand(4,4);产生在10~20之间的4阶随机矩阵
logspace(a,b,n);%在(10a,10b)之间产生n个对数等分向量
hilb(n);返回n阶Hilbert矩阵H(i,j)=
magic(n);n阶魔方矩阵(幻方)
det(A):
A的行列式rank(A):
A的秩inv(A):
A的逆eig(A):
A的特征值
trace(A):
A的迹(特征值之和)A’:
A的转置
A/B右除A\B左除A./B点运算(每一个相应的元素的运算)
A^2=A*A(区别A.*2)
2.数与变量
4/2=24\2=0.5exp(3):
e的3次方log(4)自然对数log10(4)以十为底
3.多维数组的创建
方式1:
A=cat(n,A1,A2,…,Am)n=1[A1;A2]n=2[A1,A2]都是2维数组
A4=cat(3,A1,A2,A3)3维数组
方式2:
A4(:
:
1)=A1,A4(:
:
2)=A2,A4(:
:
3)=A3
4.张量积,范数
1)张量积C=kron(A,B);%A:
m×nB:
p×qC为mp×nq
C=
=A
B
2)范数
n=norm(A)=norm(A,2)
%普范数A最大的奇异值,就是
A最大特征值的平方根,也叫2-范数
n=norm(A,1)%列范数(A的最大列之和,1-范数)最大列元素绝对值之和
n=norm(A,inf)%行范数(A的最大行之和,无穷大范数)最大行元素绝对值之和
n=norm(A,’fro’)%Frobenius范数||A||F=
弗罗贝尼乌斯
5.LU分解,QR分解
1)LU分解矩阵的三角形分解
[L,U]=lu(X)%U为上三角阵,L为下三角阵或其他变化形式X=LU
[L,U,P]=lu(X)%U为上三角阵,L为下三角阵,P为单位矩阵行变化LU=PX
2)QR分解矩阵分解成一个正交矩阵与一个上三角矩阵的乘积
[Q,R]=qr(A)%A=QR,Q是正交矩阵,R是上三角阵
[Q,R,E]=qr(A)%A=QR,Q是正交矩阵,R是上三角阵,E为单位矩阵行变化
6.总结
1)数学函数
函数名
含义
函数名
含义
sin/cos
正弦/余弦函数
asin/acos
反正弦/反余弦函数
tan/cot
正切/余切函数
atan/acot
反正切/反余切函数
sec/csc
正割/余割函数
asec/acsc
反正割/反余割函数
sinh/cosh
双曲正弦/双曲余弦函数
asinh/acosh
反双曲正弦/反双曲余弦函数
tanh/coth
双曲正切/双曲余切函数
atanh/acoth
反双曲正切/反双曲余切函数
sech/csch
双曲正割/双曲余割函数
asech/acsch
反双曲正割/反双曲余割函数
exp
指数函数
sqrt
平方根函数
log
对数函数
log10
常用对数函数
abs
绝对值函数
angle
角相位函数
imag
复数虚部函数
real
复数实部函数
conj
共轭复数函数
sign
正负符号函数
fix
朝零方向取整
ceil
朝正无穷方向取整
round
四舍五入取整
floor
朝无穷方向取整
rem
求余函数
mod
求余函数(带符号)
ged
最大公约数
lem
最小公约数
perms
排列
nchoosek
组合
2)特殊函数与变量
函数名
含义
函数名
含义
ans
默认返回变量
eps
默认相对浮点精度
nargin
函数输入变量个数
nargout
函数输出变量个数
varargin
函数中输入的可选参数
varargout
函数中输出的可选参数
i
虚数参数
pi
圆周率
inf
无穷值
nan
不定值
flops
浮点运算次数
inputname
输入参数名
3)矩阵变换与矩阵函数
函数名
含义
函数名
含义
flipud
矩阵上下翻转
fliplr
矩阵左右翻转
rot90
矩阵旋转90
diag
产生或提取对角阵
tril
产生或提取下三角阵
triu
产生或提取上三角阵
eye
产生单位矩阵
rand
产生随机矩阵
ones
产生1矩阵
zeros
产生零矩阵
linespace
构造线性分布向量
logspace
构造对数分布函数
det
行列式的值
eig
矩阵的特征值
trace
矩阵的迹
inv
矩阵的逆
rref
化行最简形
null
零空间
二.多项式和线性方程组的求解
1.矩阵求其特征多项式|λI-A|p=poly(A)
2.由根求其多项式p=poly(r)r是包含所有根的矩阵
poly2sym(p)将多项式的向量表示转变为符号形式
3.多项式的加减法用矩阵且必须同维
4.多项式的乘积是向量的卷积conv(p,s)除法则是解卷积
向量的除法除数不能为零如s=[0,0,1,2,3]则[q,r]=deconv(p,s(3:
5))其中q是商,r是余数
5.求根r=roots(p)%p(x)=0
pc=company(p)求多项式的伴随矩阵r=eig(pc)伴随矩阵的特征值等于多项式的根
6.微分d=polyder(p)多项式一阶微分d=polyder(p,s)多项式ps乘积的一阶微分
A=
147
-305
987阶次按照从上到下,从左到右递减,先列后行
[q,d]=polyder(p,s)多项式ps商p/s的一阶微分,q为分子,d为分母
y=polyval(p,a)p=a时的值a可以表示多个数用:
隔开
7.解方程
1)非齐次线性方程组
ØX=A\b%矩阵左除法求线性方程组的AX=b的解b中不能有零
ØC=[A,b]%由系数矩阵A和常数列向量b构成增广矩阵D=rref(C)%将C化成最简行
2)齐次线性方程组
基础解系Z=null(A,’r’)
命令
数据显示(以sqrt
(2)为例)
说明
formatshort
1.4142
短格式,显示5位
formatlong
1.41421356237310
长格式,显示15位
formatshorte
1.4142e+000
最优化短格式,5位加指数
formatlonge
1.41421356237310e+000
最优化长格式,15位加指数
formathex
3ff6a09e667f3bed
十六进制
formatbank
1.41
货币银行格式,小数点后两位
formatrat
1395/985
有理格式(最接近的分数)
format+
+
紧密格式,显示数据+,-,0
3)分解
ØLU分解
[L,U]=lu(A)X=U\(L\b)%dimensionsmustagree
ØCholesky分解
若A为对称正定矩阵,A=RTR,R为上三角矩阵,R=chol(A)X=R‘\(R\b)
ØQR分解
[Q,R]=qr(A)X=R\(Q\b)
三.编程基础
1.’’字符串变量sym(‘’)单个符号变量,符号表达式,符号方程
syms多个符号变量,符号表达式syms之后的符号变量之间不能用逗号
区别字符串和符号
2.合并同类项
collect(S)对S,按缺省变量x的次数合并系数collect(S,v)对指定的变量v做以上操作
3.复合函数compose(f,g,x,y)返回f[g(y)]x=g(y)
4.符号表达式的展开R=expand(S)展开符号表达式S中每个因式的乘积
5.符号因式分解factor(S)S可以是正整数,符号表达式,符号整数
6.符号表达式的通分[N,D]=numden(S)%将符号表达式S中的每一个元素进行通分,其中N为分子的表达式,D为分母的表达式
7.符号表达式的化简R=simplify(S)%运用多种恒等式转换对符号表达式S进行综合化简
8.搜索符号表达式的最简形式r=simple(S)%运用包括simplify在内的各种指令找出符号
表达式S的代数上的最简短形式,多次使用,可找到最少字母的简化式
9.将复杂的符号表达式显示为我们习惯的数学书写形式
pretty(S)%用缺省的线型宽度79显示符号矩阵S中每一个元素
10.反函数g=finverse(f)%g[f(x)]=x
11.数列符号表达式求和r=symsum(S,v,a,b)%对S中指定的符号变量v从a到求和
A=[1,3,5,7;5,8,3,6;2,0,9,7]sum(A)按列求和
12.确定符号表达式中或矩阵中的符号变量
r=findsym(S)%以字母表的顺序返回表达式S中的所有符号变量(除了i和j)
r=findsym(S,n)%从S中返回靠x最近的n个符号变量,若n大于S中符号变量的个数,则按字母表的顺序返回符号变量
13.置换符号变量subs(S,old,new)%用new置换S中的old
14.字符变量,符号变量和数值变量之间的转换
double(S)S是字符变量,转换S中相应字符的ASCII值若S是符号变量,转换为数值形式,若有非数字符号,则给出错误信息
str2num(S)字符变量转换为数值变量
num2str(x)数值变量转换为变量字符
sym(f)将f转换为符号变量
digits(d)设置返回有效数字个数为d的近似解精度
vpa(S,d)求符号表达式S在精度digits(d)下的数值解
eval(S)执行符号表达式S的功能
15.关系运算逻辑运算
关系运算符:
比较大小,返回真假><>=<===~=(不等于)
逻辑运算符:
与(&)或(|)非(~)异或(xor):
只有一个真值结果为1
逻辑,计算,关系优先级
优先级别
运算符
1
括号()
2
转置.’
共轭转置‘
数组幂.^
矩阵幂^
3
代数正+
代数-
逻辑非~
4
数组乘.*
数组除./
数组除.\
矩阵乘*
矩阵左除\
矩阵右除/
5
加+
减-
6
冒号:
7
小于<
大于>
等于==
不小于>=
不大于<=
不等于~=
8
数组与&
9
数组或|
16.函数文件和M文件
函数格式:
function[y1,y2,…]=ff(x1,x2,…)ff:
函数名x1,x2…:
输入变量y1,y2,…:
输出变量
函数名和文件名必须相同
17.if,for,while,switch
1)if
Øif表达式if表达式if表达式1
执行语句执行语句1执行语句1
endelseelseif表达式2
执行语句2执行语句2
endelse
执行语句3
end
2)for(break可以将循环提前结束)3)while循环
fori=表达式while表达式
可执行语句1可执行语句1
…..…..
可执行语句n可执行语句n
endend
R=rem(X,Y),求余数函数,X,Y应该为正数
4)switch
switch表达式case后面是{}
case常量表达式1当表达式的值与case后面的常量表达式的值相
语句块1等时,就执行case后面的语句块
case常量表达式2
语句块2case后面的常量表达式可以有多个
case常量表达式n
语句块n
otherwise
语句块n+1每次只执行一个语句块,执行完一个语句块
end就退出switch语句
四.集合和向量
1.集合
Ø交集
c=intersect(a,b)%c=a∩b
c=intersect(A,B,’rows’)%A,B相同列数的矩阵,返回元素相同的行
[c,ia,ib]=intersect(a,b)%c为a,b的公共元素,ia表示a中的位置
ib表示b中的位置
Ø差集
c=setdiff(a,b)%c=a-b
c=setdiff(A,B,’rows’)%返回属于A但不属于B的不同行
[c,i]=setdiff(a,b)%i表示C中元素在A中的位置
Ø异或
c=setxor(a,b)%a,b交集的非
c=setxor(A,B,’rows’)%A,B相同列数的矩阵,返回a,b的非同行
[c,ia,ib]=setxor(a,b)%ia表示a中的位置,ib表示b中的位置
Ø并集
c=union(a,b)%c=a∪b
c=union(A,B,’rows’)%返回不同行+相同行(取一)
[c,ia,ib]=union(a,b)%ia表示a中的位置,ib表示b中的位置
2.向量
Ø点积
C=dot(A,B)=sum(A.*B)%若A,B为向量,A与B长度必须相同,则返回向量
A,B的点积.若A,B为矩阵,A,B必须有相同的维数
C=dot(A,B,dim)%在dim维数中给出A与B的点积
Ø叉积
C=cross(A,B)%向量:
C=A×B法相向量
矩阵:
3*n返回:
3*n(分别叉乘)
Ø混合积由点积+叉积组成a﹒(b×c)
Ø长度sqrt(dot(A,A))
Ø方向角L=sqrt(dot(A,A))
alpha=acos(A)
(1)/L)
beta=acos(A
(2)/L)
gamma=acos(A(3)/L)
Ø夹角L1=sqrt(dot(A,A))
L2=sqrt(dot(B,B))
c=dot(A,B)/L1/L2
alpha=acos(c)
求直线的夹角,先要找到方向向量det([A,B,C])=0则共面matlab中是弧度制
3.距离
Ø点点S=A-BL=sqrt(dot(S,S))
Ø点线
vp=[xo,yo,zo]v=[A,B,C]点p=[a,b,c]
vs=p-vp
d1=sqrt(dot(v,v))
c=cross(v,vs)
d2=sqrt(dot(c,c))
d=d2/d1
Ø点面
Ax+By+Cz+D=0法向量[A,B,C]
f=[A,B,C,D]P=[a,b,c]
d1=dot(f,[P,1])
d2=sqrt(dot(f(1:
3),f(1:
3)))
d=abs(d1/d2)
五.绘图
1.2维
1)基本
Øplot(X,Y)linspace而不是linespace
Øplot(X1,Y1,LineSpec1,X2,Y2,LineSpec2,…)
定义符
-
--
:
-.
线型
实线(缺省)
双划线
虚线
点划线
定义符
r(red)
g(green)
b(blue)
c(cyan)
颜色
红色
绿色
蓝色
青色
定义符
m(magenta)
y(yellow)
k(black)
w(white)
颜色
品红
黄色
黑色
白色
标记类型
定义符
+
O(字母)
*
.
x
颜色
加号
小圆圈
星号
实点
交叉号
定义符
D
^
v
>
<
颜色
棱形
向上三角形
向下三角形
向右三角形
向左三角形
定义符
S
h
P
颜色
正方形
正六角星
正五角星
plot(t,sin(2*t),'-mo','Linewidth',2,'MarkerEdgeColor','k','MarkerFaceColor',[0.49,1,0.63],
'MarkerSize',12)
2)函数
Øfplot(‘function’,limits)如:
fplot('[sin(x),cos(x)]',[-2*pi,2*pi])
Øezplot(f,[a.b])如:
ezplot(y,[-2*pi,2*pi])y=sym(‘cos(x)’)
Øloglog(X,Y)%X,Y轴用常用对数值
Øsemilogx(X,Y)%X用常用对数值,Y线性x=logspace(-1,2)
Øsemilogy(X,Y)%Y常用对数值,X线性
3)修饰
title(‘字符串’)%图形标题
axis([xmin,xmax,ymin,ymax])%x范围,y范围
xlabel(‘字符串’)%x轴字符串
ylabel(‘字符串’)%y轴字符串
gridon%加网格线
holdon%保持当前图形
subplot(m,n,p)%将当前窗口分成m行n列,并指定在p区绘图
legend(‘First’,’Second’,n)%一个窗口多个曲线做注释
参数n
意义
参数n
意义
0
自动放在最佳位置
3
图形的左下角
1
图形的右上方
4
图形的右下角
2
图形的左上方
-1
图形外右边
fill(X,Y,’b’)%将(x
(1),y
(1)),(x
(2),y
(2))围成的图形填充成蓝色
矩阵一一对应
4)特殊2维图形
line([x1,x2],[y1,y2],’color’,[0,0,1])%在(x1,y1),(x2,y2)之间画一条蓝色的线
polar(theta,r)%用极角theta和极径r画出极坐标图
pie(X)%饼图
bar(X)%条形图
stairs(X,Y)%绘制梯形图
compass(X,Y)%从原点画箭头图到[X,Y]
compass(Z)%从原点到[real(Z),imag(Z)]
feather(X,Y)%速度向量图x轴速度,轴速度
comet(X,Y)%向量x和y确定的路线
errorbar(X,Y,E)%沿着曲线,画出长度为2*E(i)
如:
X=0:
pi/30:
2*pi
Y=exp(X)
E=std(Y)*ones(size(X))std算出标准差
errorbar(X,Y,E)
stem(Y,’fill’)%按Y元素的顺序画出饼状图,fill指定是否对饼形图末端小圆圈填充颜色
2.3维
1)曲线
plot3(x,y,z,'格式')comet3(x(t),y(t),z(t))fill3(x,y,z,C)
2)网格
mesh(X,Y,Z,C)%颜色由C指定
meshc(X,Y,Z,C)%带有等高线
meshz(X,Y,Z,C)%带有底座
[X,Y]=meshgrid(x,y)%点阵
3)曲面
surf(X,Y,Z,C)%C指定颜色
surfc(X,Y,Z,C)%带有等高线的曲面
[X,Y,Z]=cylinder(r,n)%旋转曲面r为半径,n个距离相同的点
如:
z=0:
20
R=(60*z).^(1/2)
[X,Y,Z]=cylinder(R,40)
mesh(X,Y,Z)
[X,Y,Z]=sphere%画出球体
4)其他图
Ø矢量图
quiver(X,Y,U,V)
如电场强度矢量图:
quiver(X,Y,-EX,-EY,0.5)
Ø等高线
[c,h]=contour(x,y,z,n)%z是高度值,n是等高线条数
clabel(C,h)%之前要[c,h]=contour(x,y,z)之后添加标签
counter3(x,y,z,n)%等高线3维图
Ø法线图
surfnorm(x,y,z)
Ø饼图pie3(X,explode)%explode是与X同类型的矩阵,用于抽离一部分
Ø坐标转换
[x,y]=pol2cart(theta,r)%将2维极坐标转换为直角坐标
[theta,r]=cart2pol(x,y)%将2维直角坐标转换为极坐标
[x,y,z]=pol2cart(theta,r,z)%将三维柱坐标转换为直
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 数学基础 数学 基础