首页 > 编程知识 正文

matlab常微分方程,matlab求解线性方程组

时间:2023-05-06 00:48:59 阅读:61071 作者:681

一、数值微分和数值积分1.向前差分的函数diff

dx=diff(x )一次前向差分dx ) I )=x ) I1 )-x (I ) ) ) ) ) ) 65

dx=diff(x,n )计算向量x的n阶前向差分

dx=diff(a,n,dim )计算矩阵a的n阶差分

dim=1按列计算

dim=2按行计算

2.数值积分

1 )基于适应滞后的美人法

[l,n ]=四边形(文件名,a,b,工具) )。

2 )基于自适应Gauss-Lobatto方法

[l,n ]=quadl (文件名,a,b,tol ) ) ) ) ) ) )。

filename为被积函数名a,b为积分上下限tol为积分精度,默认值为10^-6

3 )基于全球自适应方法

I=integral(filename,a,b ) a,b可以为无限大

4 )基于自适应dddzfj方法

[ I.err ]==quadk (文件名称,a,b ) ) )。

a、b可以无限大,也可以是多个

5 )梯形积分法

I=trapz(x,y ) x,y是坐标点

6 )多重积分数值求解

二重积分:

I=integral2(文件名称、a、b、c、d ) )。

I=quad 2d (文件名、a、b、c、d ) )。

I=dbl quad (文件名称、a、b、c、d、tol ) )。

三重积分:

I=integral3(文件名称、a、b、c、d、e、f ) )

I=triplequadI=(filename,a,b,c,d,e,f,tol )

二、求解线性方程1.直接法

ax=B--------x=AB

2.矩阵分解

[L,u]=Lu(a )生成上三角矩阵u和下三角矩阵l,以满足a=Lu(a是方阵)

[L,u,p]=Lu(a )生成上三角矩阵u和下三角矩阵l,以满足PA=LU

x=u(LB ) ) ) ) ) ) 0

3 .非线性方程求解和函数极值计算1.单变量非线性方程求解

x=f zero (文件名,x0 ) ) ) ) ) ) ) ) )。

filename求出根方程式左端的公式,

x0初始值

2.非线性方程组的求解

x=f solve (文件名称,x0,选项) )。

option用于设置调用optimset完成的优化工具箱的优化参数

3.函数极值的计算

如果只考虑最小值的计算,则最大值为-f(x )的最小值

1 )无约束优化问题

[xmin,fmin ]=fmin bnd (文件名称,x1,x2,选项) )。

[xmin,fmin ]=fmin search (文件名称,x0,option ) )。

[xmin,fmin ]=FMI nunc (文件名称,x0,选项) ) ) ) ) )。

x1、x2是左右区间,x0是极值点初始值

2 )有约束的优化问题

[xmin,fmin ]=fmin con (文件名称,x0,a,b,Aeq,beq,Lbnd,Ubnd,Nonf,option ) )。

a、b线性不等式约束、Aeq、beq线性等式约束

Lbnd,Ubnd x的上界和下界

Nonf非线性约束的函数

如果不存在jpdkn个约束,则替换为空矩阵

4.常微分方程的求解

1 )函数的调用格式

[t,y ]=slover (文件名称,tspan,y0,option ) )。

t、y分别为响应时间和数值解,solver是求常微分数值解的函数,filename是定义t、y的函数名,tspan是求解区间,y0是初始状态向量,option用于设定求解属性

2 )函数统一命名格式

odennxx

nn是一个数字,表示所用方法的阶数,xx是专门用于字母表示方法的特征。

例如ode45

3 )二阶微分方程

matlab的函数用于求解一阶微分方程,求解二阶微分方程需要转化为一阶微分方程。

4 )刚度问题

方程式的解中,有些成分变化很快,有些成分变化很慢,相差很远。 这就是刚性的问题

函数以s结束时,可以转换为求解刚性问题的方程

例如:ode45s

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。