-
% MATLAB
数学建模工具箱
% Version 1.2 28-March-2001
% Copyright (c) 2000
%
东华大学万维软件研究中心
%
p>
上海市延安西路
1882
号
% Email: ljhu@
%
%
本工具箱主要包含三部分内容
%
(
p>
支持平台
MA
TLAB5.3
或
5.2,Symbolic
math,optim,spline,stats)
% 1. MA
TLAB
常用数学建模工具的中文帮助
% 2.
贡献
MATLAB
数学建模工具
(
打
*<
/p>
号
)
% 3.
中国大学生数学建模竞赛历年试题
MATLAB
程序
%
%
安装步骤
% 1.
将
MA
解压缩至
matlab11toolbox;
% 2.
启
动
Matlab,
利用
Path
Browser
中的
Add
path
菜单将
%
mat
lab11toolboxmathmodl
增至
path
p>
中
,
放在最前面,并保存设置;
% 3.
回到你的工作目录。现在
MATHMODL
已成为一个普通的工具箱了。
%
%
可以使用命令
help mathmodl
查看内容或直接用命令
mathmodl
学习教程。
%
%
数据拟合
%
interp1
-
一元函数插值
%
spline
-
样条插值
%
polyfit
-
多项式插值或拟合
%
curvefit
-
曲线拟合
%
caspe
-
各种边界条件的样条插值
%
casps
-
样条拟合
%
interp2
-
二元函数插值
%
griddata
-
不规则数据的二元函数插值
%
*interp
-
不单调节点插值
%
*lagrange
-
拉格朗日插值法
%
%
方程求根
%
inv
-
逆矩阵
%
roots
-
多项式的根
%
fzero
-
一元函数零点
%
fsolve
-
非线性方程组
%
solve
-
符号方程解
%
*newton
-
牛顿迭代法解非线性方程
%
%
微积分和微分方程
%
diff
-
差分
%
diff
-
符号导函数
%
trapz
-
梯形积分法
%
quad8
-
高精度数值积分
%
int
-
符号积分
%
dblquad
-
矩形域二重积分
%
ode45
-
常微分方程
%
dsolve
-
符号微分方程
%
*polyint
-
多项式积分法
%
*quadg
-
高斯积分法
%
*quad2dg
-
矩形域高斯二重积分
%
*dblquad2
-
非矩形域二重积分
%
*rk4
- <
/p>
常微分方程
RungeKutta
法
p>
%
%
随机模拟和统计分析
%
max,min
-
最大,最小值
%
sum
-
求和
%
mean
-
均值
%
std
-
标准差
%
sort
-
排序(升序)
%
sortrows
-
按某一列排序
(
< br>升序
)
%
rand
- [0
,
1]
区间均匀分布随机数
%
randn
-
标准正态分布随机数
%
randperm
- 1...n
随机排列
%
regress
-
线性回归
%
classify
-
统计聚类
%
*trim
-
坏数据祛除
%
*specrnd
-
给定分布律随机数生成
%
*randrow
-
整行随机排列
%
*randmix
-
随机置换
%
*chi2test
-
分布拟合度卡方检验
%
%
数学规划
%
lp
-
线性规划
%
linprog
-
线性
规划
(
在
MA
TLAB5.3
使用
)
%
fmin
-
一元函数极值
%
fminu
-
多元函数极值拟牛顿法
%
fmins
-
多元函数极值单纯形搜索法
%
constr
-
非线性规划
%
fmincon
-
非线
性规划
(
在
MA
TLAB5.3
使用
)
%
%
离散优化
%
*enum
-
枚举法
%
*monte
-
蒙特卡洛法
%
*lpint
-
线性整数规划
%
*L01p_e
- 0-1
整数规划枚举法
%
*L01p_ie
-
0-1
整数规划隐枚举法
%
*bnb18
-
非线性整数规划
(
在
MA
TLAB5.3
使用<
/p>
)
%
*bnbgui
-
非线
性整数规划图形工具
(
在
MA
TLAB5.3
使用
)
%
*mintreek
-
最小
生成树
kruskal
算法
%
*minroute
-
最短
路
dijkstra
算法
%
*krusk
-
最小生成树
kruskal
算法
mex
程序<
/p>
%
*dijkstra
-
最短路
dijkstra
算法
mex
程序
%
*dynprog
-
动态规划
%
%
%
图形
%
plot
-
平面曲线(一元函数)
%
plot3
-
空间曲线
%
mesh
-
空间曲面(二元函数)
%
*meshf
-
非矩形网格图
%
*draw
-
用鼠标划光滑曲线
%
%
中国大学生数学建模竞赛题解
%
jm96a
-
捕鱼策略
%
jm96b
-
节水洗衣机
%
jm96bfun
-
节水洗衣机优化函数
%
jm97a
-
零件参数设计
%
jm97afun
-
零件参数函数
%
jm97aoptim -
零件参数设计优化函数
%
jm97b
-
截断切割
%
jm97bcount -
截断切割枚举法
%
jm97brule
-
截断切割优化准则
%
jm98a1
-
风险投资模型求解
%
jm98a2
-
风险投资模型讨论
%
jm98a3
-
收益与风险非线性模型求解
%
jm98a3fun
-
收益与风险非线性模型优化函数
%
jm98b
-
灾情巡视路线(
C
程序)
%
jm99a1
-
自动化车床模型一
%
jm99a1fun
-
自动化车床模型目标函数
%
jm99a1simu
-
自动化车床模型随机模拟
%
jm99asmfun
-
自动化车床模型费用函数
%
%
演示程序
%
funtool
-
函数计算器
%
tutdemo
-
MA
TLAB
优化工具箱教程
%
mathmodl
-
数学建模工具箱演示
help
fmincon
求解下列形式非线性规划问题:
min f(x)
s.t.
Ax<= b,
Aeqx=beq,
c(x)<=0, ceq(x) = 0, lb<=x<=ub
调用格式为:
x=fmincon(fun,
初值
,A,b,Aeq,beq,lb,ub,nonlcon
)
此时当
约束条件中缺
A
和
b
< br>、
Aeq
和
beq
或
lb
和
ub
时,
相关项可用
[
]
代替以表示省略。
fun
写
成如下的
M-
函数形式
(fun.m)
:
function
f = fun (x)
f =
f(x);
非线性
约束条件写成如下的
M-
函数形式
(nonlcon.m)
:
function
[c,ceq]=nonlcon(x)
c =
c(x);ceq=ceq(x);
注意:方程变量必须拼成一个向量变量,即用
x(1),x(2),...
例题
max x*y*z
-x+x*y+2*z>=0
x+2*y+2*z<=72
10<=y<=20
x-y=10
先化为
min
-x(1)*x(2)*x(3)
x(1)+2*x(2)+2*x(3)<=72
x(1)-x(2)=10
x(1)-x(1)*x(2)-2*x(3)<=0
10<=x(2)<=20
写
M
函数
fconfun.m
function
f=fconfun(x)
f=-x(1)*x(2)*x(3)
再写
M
函数
fconfun2.m
function
[g,geq]=fconfun2(x)
g=x(1)-x(1)*x(2)-2*x(3);
geq=0;
求解
x0=[10,10,10];
A=[1 2 2];b=72;
Aeq=[1 -1
0];beq=10;
[x,f]=fmincon('fconfun',x0,
A,b,Aeq,beq,[-inf,10,-inf]',[inf,20,inf],'fconfun2
')
线性规划
lp
求解线性规划问题:
min
c'x
s.t. Ax<=b
这里
A
为
m*n
矩阵
p>
,C
为
m*1
向量
,b
为
m*1
向量
用法
x=lp(C,A,b)
求得上述线性规划的解。