r=cs(1), xm=r/cs(2) 解微分方程
1)求解常微分、线性常微分、齐次与非齐次微分方程等问题 用命令:dsolve 数学建模算法与应用p112-P114 2)初值问题的matlab数值解
用:ode45 (采用四五阶龙哥库塔方简称RK方法)、 ode23(采用二三阶RK方法)、 ode113(采用多步法,效率一般比ode45高)
用法:例如:[x,y]=ode45(fun,[a,d],y0) 其中fun为定义微分方程,[a,d]为定义区间,y0为初始值,x为在定义区间中采用四五阶龙哥库塔方法取a——d之间的值,y为其求解对应的值。 3)高阶微分方程
方法:就是讲高阶微分方程转化为一节微分方程逐级求解,在同一个命令语句里将多同意解的多节微分方程求出。用:ode45、ode15s等命令。用法和2)中有点不同之处为:fun代表的是一次微分方程且为列向量形式。Y0为一次对应的变量的初始值且也是按列向量形式排列。具体实例见《数学建模算法与应用》的P118。 4)边值问题的Matlab数值解
应用函数:bvp4c%计算数值解以及bvpinit %给出初始猜测解的结构函数。具体用法见《数学建模算法与应用》P119 For example:
具体程序如下: clc, clear
yprime=@(x,y)[y(2);(y(1)-1)*(1+y(2)^2)^(3/2)]; %定义一阶方程组的匿名函数
res=@(ya,yb)[ya(1);yb(1)]; %定义边值条件的匿名函数
yinit=@(x)[x.^2;2*x]; %定义初始猜测解的匿名函数,这里换了另外一个初始猜测解 solinit=bvpinit(linspace(-1,1,20),yinit); %给出初始猜测解的结构 sol=bvp4c(yprime,res,solinit); %计算数值解 fill(sol.x,sol.y(1,:),[0.7,0.7,0.7]) %填充解曲线 axis([-1,1,0,1])
xlabel('x','FontSize',12)
ylabel('h','Rotation',0,'FontSize',12)
多目标规划问题 解决方案: 1)加权系数法。 2)优先等级法。 3)序贯算法
就是根据优先级的先后次序,将目标规划问题分解为一系列的单目标规划问题,然后再一次求解。
4)应用多目标规划的MATLAB函数fgoalattain具体见《数学建模算法与应用》P131 5)多目标规划可以归结为:
应用fgoalattain的多目标规划步骤实质上是将多目标先分解为单目标进行求解单目标的最优,再根据单目标求解的最优目标运用fgoalattain函数根据各目标的优先级、权重等进行重新规划,得到的才是符合整体目标的数值。
分类问题
《数学建模算法与应用》P193
一般用元素之间的距离来表示样本元素之间的相似性,一次来分类。 聚类分析:Q型和R型
用于求元素之间距离的命令:mandist 去掉非零元命令:nonzeros 去掉重复的元素命令:union Matlab聚类分析的相关命令
相关资料在《数学建模算法与应用》P198——200