文档介绍:第六章数值计算方法与数据分析
第一节非线性数值计算
一、非线性微分方程的求解
Ordinary Differential Equation (ODE)
(1)非线性问题。
(2)基本命令:非刚性常微分方程(组) ode23,
Ode45, 这两个函数分别采用了二阶三级和四阶
五级RKF方法,为变步长积分。
(1)建立标准微分方程(组)
目的:将所有不同变量归为同一变量。高阶微分方程归为一阶微分方程。
例如
令
原式变为
(2)建立ODE相应的函数M文件,格式如
function ff=fun(t, )
ff=[ ]
(3)调用fun用ODE函数求解
可在命令窗进行也可在M文件中进行。
ODE的调用格式
[t, ]=ode45(‘fun’,[自变量的范围],[初值列阵])
(4)例子
练习6-1
(1)
(fun1 exno19)
(2)
(fun2 exno20)
(3) (fun3 exno21tt)
Word NO:4 p8 and assignments
二、非线性函数的最小值
(可代参数)
(1)[x,y,po1,po2]=fminbnd(fun,x1,x2,options,
p1,p2,…)
(2)fun:可代参数的目标函数
(3)x1,x2:自变量的求值范围
(4)options:输入的优化参数,包括四个域
disply, maxfunevals, maxlter, tolx.
这四个域由函数optimset()来传递。即
OPTIONS=OPTIMSET('disply',VALUE1,'maxfunevals',VALUE2,’maxlter’, VALUE3,’tolx’, VALUE4)
注: disply有四种选择:off(不显示),iter(显示叠代)
final(显示最后结果),notify (不显示参数)。
tolx:误差容限。
Maxlter :最大迭代次数。
Maxfunevals: 函数的最大求值次数。
Options 可以省去,用[ ]代替。
(5)p1,p2,: 函数参数赋值。
(6)x,y: 函数的最小值点。
(7)po1: 描述函数退出状况:大于零表示达到
精度,等于零表示达到函数的最大求值次数。
(8)po2: 包括三个域:算法,求值次数,迭代次数。
(po1, po2可省) (exno22)
注:
函数fun 可由inline(‘…’)在同一个M文件来实现。
(内联函数的用法) (exno23)
(可代参数)
(1)[x,y,po1,po2 ,po3]= fminsearch(fun,[x1,x2],options,p1,p2,…)
(exno24)
(2) 思考:
1)最大值的求解问题。
2)单变量非线性函数的零点。(exno25)
fplot ezplot 的区别
(exno26)
第二节数据分析
一、矩阵数据分析
1. MATLAB对矩阵操作的规定
如果是向量,则对数据整体操作;如果是矩阵,则对矩阵的列操作。
2. 对矩阵数据操作的部分相关函数
如下表:
函数
功能
函数
功能
cumprod
元素累计积
polyarea
多边形面积
cumsum
元素累计和
prod
求积
max
求最大值
sort
递增排序
min
求最小值
sum
求和
mean
求平均值
var
求方差
sta
求标准差
sortrows
按某列为基准递增排序