数学问题计算机求解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1)矩阵的三角分解 目的:将一个矩阵分解成一个下三角矩阵和一个上三角矩阵
的乘积。 指令:[L, U]=lu(A)
2.6.1 线性代数问题的matlab求解
2. 矩阵分解
2)Cholesky分解 目的:把矩阵分解为上三角矩阵和其转置的乘积。 条件:A矩阵必须正定,即所有对角线元素都是正的,非对
dx2
例 1 求 du 1 u 2 的通解. dt
运行结果:ans = i
-i
解 输入命令:dsolve('Du=1+u^2','t')
tan(C5 + t)
例 2 求微分方程的特解.
d 2 y dx2
4
dy dx
29
y
0
y(0) 0, y' (0) 15
解 输入命令: y=dsolve('D2y+4*Dy+29*y=0','y(0)=0,Dy(0)=15','x')
T=tr(A)——矩阵A为n阶方阵。 也适合于符号矩阵
2.6.1 线性代数问题的matlab求解
3 矩阵的秩 矩阵的秩,就是指这个矩阵的最高阶非零子式的阶数。 所有矩阵都有秩;
R=rank(A)
2.6.1 线性代数问题的matlab求解
4 矩阵的范数 https://www.zhihu.com/question/21868680范数对于数学的意
1 矩阵的行列式 行列式是一个数,且行数必须等于列数,才称为n阶行列式。 只有方阵才可以定义它的行列式,而对于长方阵不能定义它
的行列式。 D=det(A)——矩阵A为n阶方阵。 也适合于符号矩阵
2.6.1 线性代数问题的matlab求解
2 矩阵的迹 矩阵的迹为该矩阵对角线上各元素之和; 长方阵矩阵也可以计算迹。
自变 函数 量值 值
ode45 ode23 ode113 ode15s ode23s
由待解 方程写 成的m-
ts=[t0,tf], t0、tf为自 变量的初
函数的 初值
文件名
值和终值
ode23:组合的2/3阶龙格-库塔-芬尔格算法 ode45:运用组合的4/5阶龙格-库塔-芬尔格算法
用于设定误差限(缺省时设定相对误差10-3, 绝对误差10-6), 命令为:options=odeset(’reltol’,rt,’abstol’,at), rt,at:分别为设定的相对误差和绝对误差.
C=ploy(A) ——求矩阵A的特征多项式系数的函数;(48页公式2-5)
返回的C为按降幂排列的特征多项式系数; 若A为一向量,则视为特征根,求相应的特征多项式。
2.6.1 线性代数问题的matlab求解
7-8 多项式求值与矩阵多项式求值(矩阵分析) C=ployval(a,x),求多项式的值。 其中a为多项式系数降幂排列构成的向量,x为一标量。
norm(A,1)1
范数
norm(A,inf)
矩阵参数化
2 3 4 5 6.特征多项式系数
10 6 1 11 6 16 2 21 C=poly(A)
7C.多为项一式个求行值向量; 2 7 9 12 4 17 7 22 CC=系po数ly(降a,x幂) = 排 列
5 8 7 13 1 18 5 23 8a.而矩为来阵一多个项行式向求量值;
析中占有重要地位。 指令:[L,A1,M]=svd(A) L,M为正交变换矩阵,由奇异向量作为列向量构成;A1为奇
异值构成的对角方阵;满足:A=LA1MT.
2.6.1 线性代数问题的matlab求解
5)矩阵的条件数 矩阵的奇异值大小决定矩阵是否病态。(病态矩阵:又称坏条
件矩阵,矩阵中某个元素有微小的变化,将严重影响原矩阵的参数。) 矩阵存在等于0的奇异值时,称为奇异矩阵。 最大奇异值与最小奇异值的比值称为该矩阵的条件数。 在MATLAB中,计算矩阵A的3种条件数的函数是:
z=simple(z)
运行结果为:x = C10*exp(2*t) + C11/exp(t) y = C10*exp(2*t) + C11/exp(t) + C12/exp(2*t) z =C10*exp(2*t) + C12/exp(2*t)
2. 用Matlab求常微分方程的数值解
[t,x]=solver(’f’,ts,x0,options)
矩阵分解
2345
10 6 1 11 6 16 2 21 2 7 9 12 4 17 7 22 5 8 7 13 1 18 5 23 3 9 4 14 5 19 4 24 13 10 13 15 0 20 3 25
5.矩阵条件数 cond(A)
2.6.1 线性代数问题的matlab求解
2. 矩阵分解
subplot(m,n,p);函数功能及各参数含义?
获取图形对象属性和设置图像对象属性的函 数?
得到该图的两种方式是什么?
标题、坐标轴标注、图例、注释用什么函数 或命令?
三维图形绘制讲了哪三个函数?
第 2 章 MATLAB语言必备的基础知识 2.6 MATLAB语言与数学问题计算机求解
相同。推荐使用后者,运算更精确,占用内存更小。
2.6.1 线性代数问题的matlab求解
3. 方程求解问题
2)矩阵的广义逆 一般的非方阵(/奇异矩阵)没有逆和行列式,这时矩阵的
逆矩阵称为广义逆矩阵。 B=pinv(A); 其中A为奇异阵。 满足:AmnBnm=Imn
2.6.1 线性代数问题的matlab求解
cond(A,1) 计算A的1—范数下的条件数。 cond(A)或cond(A,2) 计算A的2—范数数下的条件数。 cond(A,inf) 计算A的 ∞—范数下的条件数。
2.6.1 线性代数问题的matlab求解
3. 方程求解问题
1)矩阵逆 C=Inv(A);其中A为非奇异方阵。 满足:AC=I或CA=I. 注意:C=B/A=inv(A)*B 和C=A\B 在忽略误差情况下,结果
1. 微分方程的解析解
求微分方程(组)的解析解命令: dsolve(‘方程1’, ‘方程2’,…‘方程n’, ‘初始条件’, ‘自变量’)
记号: 在表达微分方程时,用字母 D 表示求微分,D2、D3 等
表示求高阶微分.任何 D 后所跟的字母为因变量,自变量可以指
定或由系统规则选定为确省.
例如,微分方程 d 2 y 0 应表达为:D2y=0.
义?1范数、2范数、无穷范数该怎么用? norm(A)或norm(A,2) 2范数 norm(A,1) 1范数 norm(A,inf) ∞范数
2.6.1 线性代数问题的matlab求解
5 矩阵的特征值与特征向量 在MATLAB中,计算矩阵A的特征值和特征向量的函数是
eig(A),常用的调用格式有5种:
运行结果为 : y = (3*sin(5*x))/exp(2*x) y =3e-2xsin(5x)
例 3 求微分方程组的通解.
Baidu Nhomakorabea
dx
dt dy
dt dz
2x 4x 4x
3y 5y 4y
3z 3z 2z
dt
解 输入命令 :
[x,y,z]=dsolve('Dx=2*x-3*y+3*z','Dy=4*x-5*y+3*z','Dz=4*x-4*y+2*z', 't'); x=simple(x) % 将x化简 y=simple(y)
解: 令 y1=x,y2=y1’
则微分方程变为一阶微分方程组:
y1' y2
y2
'
1000(1
y12
)
y2
y1
y1(0) 2, y2 (0) 0
1、建立m-文件vdp1000.m如下: function dy=vdp1000(t,y) dy=zeros(2,1); dy(1)=y(2);
角线元素不会太大。 指令:chol(A)
2.6.1 线性代数问题的matlab求解
2. 矩阵分解
3)矩阵的正交基 目的:正交矩阵满足Q*Q=I,且QQ*=I. 指令:Q=orth(A) Q的列数即为A矩阵的秩。
2.6.1 线性代数问题的matlab求解
2. 矩阵分解
4)矩阵的奇异值分解 奇异值分解法主要用于解最小二乘法和数据压缩,在矩阵分
注意:
1、在解n个未知函数的方程组时,x0和x均为n维向量, m-文件中的待解方程组应以x的分量形式写成.
2、使用Matlab软件求数值解时,高阶微分方程必须 等价地变换成一阶微分方程组.
例4
d 2x dt 2
1000(1
x2
)
dx dt
x
0
x(0) 2; x'(0) 0
2.6.1 线性代数问题的matlab求解
6.矩阵的特征多项式、特征方程与特征根
Matlab中,多项式由一个行向量表示,它的系数是按降幂排列的。
多项式:
p( X ) a0 X n a1X n1 ... an1X an
用以下向量表示系数: P [a0 a1,...an1 an ]
9矩阵的指数 expm(A)——求eA,其中A为矩阵。
1. 三 角 分 解 1 [L,U]=lu(A)
2.Cholesky1分 4 1
解
2 82
[D,P]=chol(A)
可 3.矩扩阵展正到交长基3方 7 3
形 Q=行or列th式(A)
04
4.奇异值分解4
[L,A1,M]=sv5d 23 5
(A)
2.6.1 线性代数问题的matlab求解 2.6.2 常微分方程问题的matlab求解 2.6.3 最优化问题的matlab求解
2.6.1 线性代数问题的matlab求解
1. 矩阵的参数化分析(矩阵分析) 控制系统分析中,矩阵参数
化分析可以反映出对应系统 的某些性质。 如矩阵的特征值可以用来分 析系统的稳定性,矩阵的秩 可以用来分析系统的可控性 和可观测性。
解析解—— 一种包含分式、三角函数、指数、对数甚至无限级数等 基本函数形式的解析表达式(比如求根公式之类的) 求出的是精确解 能在任意精度下满足方程。
2.6.1 线性代数问题的matlab求解
数值解——数值分析课程 当无法凭微积分技巧求得解析解时,只能利用数值分析 的方式来求得其数值解了。 在数值分析的过程中,首先会将原方程式加以简化,然 后在一定条件下通过某种近似(如数值逼近、插值等方 法)计算得出来的一个数值。 能在给定的精度条件下满足方程。 如,先将微分符号改为差分符号,再用传统的代数方法 将原方程式改写成另一方便求解的形式。
C a1xn a2 xn1 ... an1 X为矩阵或向量时,计算矩阵的每个元素带入多项式后的
值。(举例) B=ployvalm(a,A),求矩阵多项式的值,即:
B a1 An a2 An1 ... an1I
2.6.1 线性代数问题的matlab求解
3)线性方程求解 方程AX=B,解为X=A\B(左除); 方程XA=B ,解为X=B/A (右除); A为非奇异方阵,X为方程的解;否则是最小二乘解。 4)Lyapunov方程求解 5)Silvester方程求解 6)Riccati方程求解
2.6.1 线性代数问题的matlab求解
4.矩阵问题的解析解
C多=p项oly式(a系,A)数 降 幂
39 13 10
4 14 13 15
5 0
19 20
4 3
24 25
9Ca多.=排 量矩为e项。列阵x一p式指;m个(系数xA行是)e数向A一降量个;幂标
1排 阵0.其。列他;函A是数一个矩
cos(A)
funm(A ,’cos’)
2.6.1 线性代数问题的matlab求解
2.6.1 线性代数问题的matlab求解
符号运算工具箱能直接处理线性代数的解析解问题。 >> B= sym(A) ; % 求矩阵A的符号矩阵B >> C= det(A); %求A矩阵行列式的精确值C >> D= inv(A); %求A矩阵的逆矩阵的精确值D 举例:(见书上例2-19)
2.6.2 用MATLAB求解微分方程
Matlab中求解矩阵参数的函数有哪些?
1.行列式
1
det(A) 数2.值迹矩 阵 : 1
41
数tra值ce解(A) 2 8 2 符可3.号秩扩矩展阵到:
解长ra析n方k解(形A)行 3 7 3
列4.式范数
04
n5o. 特rm征(A值) 或和4
n二特eoig范征r(mA数向()A量,2)5 23 5
的乘积。 指令:[L, U]=lu(A)
2.6.1 线性代数问题的matlab求解
2. 矩阵分解
2)Cholesky分解 目的:把矩阵分解为上三角矩阵和其转置的乘积。 条件:A矩阵必须正定,即所有对角线元素都是正的,非对
dx2
例 1 求 du 1 u 2 的通解. dt
运行结果:ans = i
-i
解 输入命令:dsolve('Du=1+u^2','t')
tan(C5 + t)
例 2 求微分方程的特解.
d 2 y dx2
4
dy dx
29
y
0
y(0) 0, y' (0) 15
解 输入命令: y=dsolve('D2y+4*Dy+29*y=0','y(0)=0,Dy(0)=15','x')
T=tr(A)——矩阵A为n阶方阵。 也适合于符号矩阵
2.6.1 线性代数问题的matlab求解
3 矩阵的秩 矩阵的秩,就是指这个矩阵的最高阶非零子式的阶数。 所有矩阵都有秩;
R=rank(A)
2.6.1 线性代数问题的matlab求解
4 矩阵的范数 https://www.zhihu.com/question/21868680范数对于数学的意
1 矩阵的行列式 行列式是一个数,且行数必须等于列数,才称为n阶行列式。 只有方阵才可以定义它的行列式,而对于长方阵不能定义它
的行列式。 D=det(A)——矩阵A为n阶方阵。 也适合于符号矩阵
2.6.1 线性代数问题的matlab求解
2 矩阵的迹 矩阵的迹为该矩阵对角线上各元素之和; 长方阵矩阵也可以计算迹。
自变 函数 量值 值
ode45 ode23 ode113 ode15s ode23s
由待解 方程写 成的m-
ts=[t0,tf], t0、tf为自 变量的初
函数的 初值
文件名
值和终值
ode23:组合的2/3阶龙格-库塔-芬尔格算法 ode45:运用组合的4/5阶龙格-库塔-芬尔格算法
用于设定误差限(缺省时设定相对误差10-3, 绝对误差10-6), 命令为:options=odeset(’reltol’,rt,’abstol’,at), rt,at:分别为设定的相对误差和绝对误差.
C=ploy(A) ——求矩阵A的特征多项式系数的函数;(48页公式2-5)
返回的C为按降幂排列的特征多项式系数; 若A为一向量,则视为特征根,求相应的特征多项式。
2.6.1 线性代数问题的matlab求解
7-8 多项式求值与矩阵多项式求值(矩阵分析) C=ployval(a,x),求多项式的值。 其中a为多项式系数降幂排列构成的向量,x为一标量。
norm(A,1)1
范数
norm(A,inf)
矩阵参数化
2 3 4 5 6.特征多项式系数
10 6 1 11 6 16 2 21 C=poly(A)
7C.多为项一式个求行值向量; 2 7 9 12 4 17 7 22 CC=系po数ly(降a,x幂) = 排 列
5 8 7 13 1 18 5 23 8a.而矩为来阵一多个项行式向求量值;
析中占有重要地位。 指令:[L,A1,M]=svd(A) L,M为正交变换矩阵,由奇异向量作为列向量构成;A1为奇
异值构成的对角方阵;满足:A=LA1MT.
2.6.1 线性代数问题的matlab求解
5)矩阵的条件数 矩阵的奇异值大小决定矩阵是否病态。(病态矩阵:又称坏条
件矩阵,矩阵中某个元素有微小的变化,将严重影响原矩阵的参数。) 矩阵存在等于0的奇异值时,称为奇异矩阵。 最大奇异值与最小奇异值的比值称为该矩阵的条件数。 在MATLAB中,计算矩阵A的3种条件数的函数是:
z=simple(z)
运行结果为:x = C10*exp(2*t) + C11/exp(t) y = C10*exp(2*t) + C11/exp(t) + C12/exp(2*t) z =C10*exp(2*t) + C12/exp(2*t)
2. 用Matlab求常微分方程的数值解
[t,x]=solver(’f’,ts,x0,options)
矩阵分解
2345
10 6 1 11 6 16 2 21 2 7 9 12 4 17 7 22 5 8 7 13 1 18 5 23 3 9 4 14 5 19 4 24 13 10 13 15 0 20 3 25
5.矩阵条件数 cond(A)
2.6.1 线性代数问题的matlab求解
2. 矩阵分解
subplot(m,n,p);函数功能及各参数含义?
获取图形对象属性和设置图像对象属性的函 数?
得到该图的两种方式是什么?
标题、坐标轴标注、图例、注释用什么函数 或命令?
三维图形绘制讲了哪三个函数?
第 2 章 MATLAB语言必备的基础知识 2.6 MATLAB语言与数学问题计算机求解
相同。推荐使用后者,运算更精确,占用内存更小。
2.6.1 线性代数问题的matlab求解
3. 方程求解问题
2)矩阵的广义逆 一般的非方阵(/奇异矩阵)没有逆和行列式,这时矩阵的
逆矩阵称为广义逆矩阵。 B=pinv(A); 其中A为奇异阵。 满足:AmnBnm=Imn
2.6.1 线性代数问题的matlab求解
cond(A,1) 计算A的1—范数下的条件数。 cond(A)或cond(A,2) 计算A的2—范数数下的条件数。 cond(A,inf) 计算A的 ∞—范数下的条件数。
2.6.1 线性代数问题的matlab求解
3. 方程求解问题
1)矩阵逆 C=Inv(A);其中A为非奇异方阵。 满足:AC=I或CA=I. 注意:C=B/A=inv(A)*B 和C=A\B 在忽略误差情况下,结果
1. 微分方程的解析解
求微分方程(组)的解析解命令: dsolve(‘方程1’, ‘方程2’,…‘方程n’, ‘初始条件’, ‘自变量’)
记号: 在表达微分方程时,用字母 D 表示求微分,D2、D3 等
表示求高阶微分.任何 D 后所跟的字母为因变量,自变量可以指
定或由系统规则选定为确省.
例如,微分方程 d 2 y 0 应表达为:D2y=0.
义?1范数、2范数、无穷范数该怎么用? norm(A)或norm(A,2) 2范数 norm(A,1) 1范数 norm(A,inf) ∞范数
2.6.1 线性代数问题的matlab求解
5 矩阵的特征值与特征向量 在MATLAB中,计算矩阵A的特征值和特征向量的函数是
eig(A),常用的调用格式有5种:
运行结果为 : y = (3*sin(5*x))/exp(2*x) y =3e-2xsin(5x)
例 3 求微分方程组的通解.
Baidu Nhomakorabea
dx
dt dy
dt dz
2x 4x 4x
3y 5y 4y
3z 3z 2z
dt
解 输入命令 :
[x,y,z]=dsolve('Dx=2*x-3*y+3*z','Dy=4*x-5*y+3*z','Dz=4*x-4*y+2*z', 't'); x=simple(x) % 将x化简 y=simple(y)
解: 令 y1=x,y2=y1’
则微分方程变为一阶微分方程组:
y1' y2
y2
'
1000(1
y12
)
y2
y1
y1(0) 2, y2 (0) 0
1、建立m-文件vdp1000.m如下: function dy=vdp1000(t,y) dy=zeros(2,1); dy(1)=y(2);
角线元素不会太大。 指令:chol(A)
2.6.1 线性代数问题的matlab求解
2. 矩阵分解
3)矩阵的正交基 目的:正交矩阵满足Q*Q=I,且QQ*=I. 指令:Q=orth(A) Q的列数即为A矩阵的秩。
2.6.1 线性代数问题的matlab求解
2. 矩阵分解
4)矩阵的奇异值分解 奇异值分解法主要用于解最小二乘法和数据压缩,在矩阵分
注意:
1、在解n个未知函数的方程组时,x0和x均为n维向量, m-文件中的待解方程组应以x的分量形式写成.
2、使用Matlab软件求数值解时,高阶微分方程必须 等价地变换成一阶微分方程组.
例4
d 2x dt 2
1000(1
x2
)
dx dt
x
0
x(0) 2; x'(0) 0
2.6.1 线性代数问题的matlab求解
6.矩阵的特征多项式、特征方程与特征根
Matlab中,多项式由一个行向量表示,它的系数是按降幂排列的。
多项式:
p( X ) a0 X n a1X n1 ... an1X an
用以下向量表示系数: P [a0 a1,...an1 an ]
9矩阵的指数 expm(A)——求eA,其中A为矩阵。
1. 三 角 分 解 1 [L,U]=lu(A)
2.Cholesky1分 4 1
解
2 82
[D,P]=chol(A)
可 3.矩扩阵展正到交长基3方 7 3
形 Q=行or列th式(A)
04
4.奇异值分解4
[L,A1,M]=sv5d 23 5
(A)
2.6.1 线性代数问题的matlab求解 2.6.2 常微分方程问题的matlab求解 2.6.3 最优化问题的matlab求解
2.6.1 线性代数问题的matlab求解
1. 矩阵的参数化分析(矩阵分析) 控制系统分析中,矩阵参数
化分析可以反映出对应系统 的某些性质。 如矩阵的特征值可以用来分 析系统的稳定性,矩阵的秩 可以用来分析系统的可控性 和可观测性。
解析解—— 一种包含分式、三角函数、指数、对数甚至无限级数等 基本函数形式的解析表达式(比如求根公式之类的) 求出的是精确解 能在任意精度下满足方程。
2.6.1 线性代数问题的matlab求解
数值解——数值分析课程 当无法凭微积分技巧求得解析解时,只能利用数值分析 的方式来求得其数值解了。 在数值分析的过程中,首先会将原方程式加以简化,然 后在一定条件下通过某种近似(如数值逼近、插值等方 法)计算得出来的一个数值。 能在给定的精度条件下满足方程。 如,先将微分符号改为差分符号,再用传统的代数方法 将原方程式改写成另一方便求解的形式。
C a1xn a2 xn1 ... an1 X为矩阵或向量时,计算矩阵的每个元素带入多项式后的
值。(举例) B=ployvalm(a,A),求矩阵多项式的值,即:
B a1 An a2 An1 ... an1I
2.6.1 线性代数问题的matlab求解
3)线性方程求解 方程AX=B,解为X=A\B(左除); 方程XA=B ,解为X=B/A (右除); A为非奇异方阵,X为方程的解;否则是最小二乘解。 4)Lyapunov方程求解 5)Silvester方程求解 6)Riccati方程求解
2.6.1 线性代数问题的matlab求解
4.矩阵问题的解析解
C多=p项oly式(a系,A)数 降 幂
39 13 10
4 14 13 15
5 0
19 20
4 3
24 25
9Ca多.=排 量矩为e项。列阵x一p式指;m个(系数xA行是)e数向A一降量个;幂标
1排 阵0.其。列他;函A是数一个矩
cos(A)
funm(A ,’cos’)
2.6.1 线性代数问题的matlab求解
2.6.1 线性代数问题的matlab求解
符号运算工具箱能直接处理线性代数的解析解问题。 >> B= sym(A) ; % 求矩阵A的符号矩阵B >> C= det(A); %求A矩阵行列式的精确值C >> D= inv(A); %求A矩阵的逆矩阵的精确值D 举例:(见书上例2-19)
2.6.2 用MATLAB求解微分方程
Matlab中求解矩阵参数的函数有哪些?
1.行列式
1
det(A) 数2.值迹矩 阵 : 1
41
数tra值ce解(A) 2 8 2 符可3.号秩扩矩展阵到:
解长ra析n方k解(形A)行 3 7 3
列4.式范数
04
n5o. 特rm征(A值) 或和4
n二特eoig范征r(mA数向()A量,2)5 23 5