Ⅰ mathmodl功能简介
mathmodl 是一个集目录与功能于一体的工具箱,专门用于数学建模任务。它涵盖了从基础的数学运算到高级的优化与图形绘制,为研究人员、工程师和学生提供了丰富的工具集合。下面将对 mathmodl 提供的主要功能进行概述。
在数学建模领域,数据拟合是一个基础但关键的步骤。mathmodl 提供了多种插值方法,如一元函数插值(interp1)、样条插值(spline)、多项式插值(polyfit)和最小二乘法(lsqnonlin、lsqcurvefit)等,用于在已知数据点之间构建连续函数,以便进行预测或分析。对于二元函数插值,提供了 interp2 和 griddata 方法,以处理更复杂数学模型的拟合问题。
对于方程求根问题,mathmodl 提供了多种方法来解决,包括矩阵运算(inv)、特征值与特征向量计算(eig)、多项式根求解(roots)、一元函数零点查找(fzero)和非线性方程组求解(fsolve)。其中,牛顿迭代法(newton)是求解非线性方程的一种有效方法。
微积分和微分方程是数学建模中不可或缺的部分。mathmodl 提供了数值差分(diff)、符号导函数计算(diff)、数值偏导数(gradient)、梯形积分(trapz)、高精度数值积分(quad8、quadl)和符号积分(int)等工具。此外,它还支持一元函数(ode45)和符号微分方程求解(dsolve),以及常微分方程的数值求解(rk4)。
在随机模拟和统计分析方面,mathmodl 提供了计算最大、最小值(max, min)、求和(sum)、均值(mean)、中位数(median)、标准差(std)等基本统计指标,以及排序(sort, sortrows)功能,帮助用户分析数据。同时,它还提供了生成各种随机数的能力,包括均匀分布、正态分布、二项分布、泊松分布等,以及相关统计检验(chi2test)和参数估计(regress, classify, mahal)。
对于优化问题,mathmodl 提供了线性规划(lp, linprog)、二次规划(qp, quadprog)、一元函数极值(fminbnd, fminsearch)和多元函数极值(constr, fmincon)等优化方法,以及动态规划(dynprog)。在离散优化方面,它支持线性整数规划、0-1整数规划的求解,以及使用 Kruskal 和 Dijkstra 算法解决最小生成树和最短路问题。
在图形绘制方面,mathmodl 提供了基础的平面曲线绘制(plot)、空间曲线绘制(plot3)和空间曲面绘制(mesh)功能。此外,它还支持生成非矩形网格图(meshf)和使用鼠标绘制光滑曲线(draw)。
mathmodl 还提供了一系列基于数学建模的竞赛题解,如中国大学生数学建模竞赛中的飞行调度、捕鱼策略、节水洗衣机、零件参数设计、截断切割和风险投资模型求解等问题,以及自动化车床模型、灾情巡视路线等实例,帮助用户理解和应用数学建模技术。
最后,mathmodl 包含了演示程序,如函数计算器(funtool)、MATLAB 优化工具箱教程(tutdemo)和数学建模工具箱演示(mathmodl),为用户提供了一个直观的学习和实验平台。
Ⅱ 数学建模常用到的matlab函数有哪些
sort (排序)
xlsread ( exl文件导入)
load (txt 文件,mat文件等导入)
实际上,常用的函数也是很有针对性的,我还真不知道 你要问什么
Ⅲ 用matlab进行非线性拟合 nlinfit函数 X=[ 4 7; 8 7; 12 7; 16 7; 4 28; 8 28; 12 28; 16 28; 4 60; 8 60;
函数
表Ⅰ-1 概率密度函数
函数名 对应分布的概率密度函数
betapdf 贝塔分布的概率密度函数
binopdf 二项分布的概率密度函数
chi2pdf 卡方分布的概率密度函数
exppdf 指数分布的概率密度函数
fpdf f分布的概率密度函数
gampdf 伽玛分布的概率密度函数
geopdf 几何分布的概率密度函数
hygepdf 超几何分布的概率密度函数
normpdf 正态(高斯)分布的概率密度函数
lognpdf 对数正态分布的概率密度函数
nbinpdf 负二项分布的概率密度函数
ncfpdf 非中心f分布的概率密度函数
nctpdf 非中心t分布的概率密度函数
ncx2pdf 非中心卡方分布的概率密度函数
poisspdf 泊松分布的概率密度函数
raylpdf 雷利分布的概率密度函数
tpdf 学生氏t分布的概率密度函数
unidpdf 离散均匀分布的概率密度函数
unifpdf 连续均匀分布的概率密度函数
weibpdf 威布尔分布的概率密度函数
表Ⅰ-2 累加分布函数
函数名 对应分布的累加函数
betacdf 贝塔分布的累加函数
binocdf 二项分布的累加函数
chi2cdf 卡方分布的累加函数
expcdf 指数分布的累加函数
fcdf f分布的累加函数
gamcdf 伽玛分布的累加函数
geocdf 几何分布的累加函数
hygecdf 超几何分布的累加函数
logncdf 对数正态分布的累加函数
nbincdf 负二项分布的累加函数
ncfcdf 非中心f分布的累加函数
nctcdf 非中心t分布的累加函数
ncx2cdf 非中心卡方分布的累加函数
normcdf 正态(高斯)分布的累加函数
poisscdf 泊松分布的累加函数
raylcdf 雷利分布的累加函数
tcdf 学生氏t分布的累加函数
unidcdf 离散均匀分布的累加函数
unifcdf 连续均匀分布的累加函数
weibcdf 威布尔分布的累加函数
表Ⅰ-3 累加分布函数的逆函数
函数名 对应分布的累加分布函数逆函数
betainv 贝塔分布的累加分布函数逆函数
binoinv 二项分布的累加分布函数逆函数
chi2inv 卡方分布的累加分布函数逆函数
expinv 指数分布的累加分布函数逆函数
finv f分布的累加分布函数逆函数
gaminv 伽玛分布的累加分布函数逆函数
geoinv 几何分布的累加分布函数逆函数
hygeinv 超几何分布的累加分布函数逆函数
logninv 对数正态分布的累加分布函数逆函数
nbininv 负二项分布的累加分布函数逆函数
ncfinv 非中心f分布的累加分布函数逆函数
nctinv 非中心t分布的累加分布函数逆函数
ncx2inv 非中心卡方分布的累加分布函数逆函数
icdf
norminv 正态(高斯)分布的累加分布函数逆函数
poissinv 泊松分布的累加分布函数逆函数
raylinv 雷利分布的累加分布函数逆函数
tinv 学生氏t分布的累加分布函数逆函数
unidinv 离散均匀分布的累加分布函数逆函数
unifinv 连续均匀分布的累加分布函数逆函数
weibinv 威布尔分布的累加分布函数逆函数
表Ⅰ-4 随机数生成器函数
函 数 对应分布的随机数生成器
betarnd 贝塔分布的随机数生成器
binornd 二项分布的随机数生成器
chi2rnd 卡方分布的随机数生成器
exprnd 指数分布的随机数生成器
frnd f分布的随机数生成器
gamrnd 伽玛分布的随机数生成器
geornd 几何分布的随机数生成器
hygernd 超几何分布的随机数生成器
lognrnd 对数正态分布的随机数生成器
nbinrnd 负二项分布的随机数生成器
ncfrnd 非中心f分布的随机数生成器
nctrnd 非中心t分布的随机数生成器
ncx2rnd 非中心卡方分布的随机数生成器
normrnd 正态(高斯)分布的随机数生成器
poissrnd 泊松分布的随机数生成器
raylrnd 瑞利分布的随机数生成器
trnd 学生氏t分布的随机数生成器
unidrnd 离散均匀分布的随机数生成器
unifrnd 连续均匀分布的随机数生成器
weibrnd 威布尔分布的随机数生成器
表Ⅰ-5 分布函数的统计量函数
函数名 对应分布的统计量
betastat 贝塔分布函数的统计量
binostat 二项分布函数的统计量
chi2stat 卡方分布函数的统计量
expstat 指数分布函数的统计量
fstat f分布函数的统计量
gamstat 伽玛分布函数的统计量
geostat 几何分布函数的统计量
hygestat 超几何分布函数的统计量
lognstat 对数正态分布函数的统计量
nbinstat 负二项分布函数的统计量
ncfstat 非中心f分布函数的统计量
nctstat 非中心t分布函数的统计量
ncx2stat 非中心卡方分布函数的统计量
normstat 正态(高斯)分布函数的统计量
poisstat 泊松分布函数的统计量
续表
函数名 对应分布的统计量
raylstat 瑞利分布函数的统计量
tstat 学生氏t分布函数的统计量
unidstat 离散均匀分布函数的统计量
unifstat 连续均匀分布函数的统计量
weibstat 威布尔分布函数的统计量
表Ⅰ-6 参数估计函数
函 数 名 对应分布的参数估计
betafit 贝塔分布的参数估计
betalike 贝塔对数似然函数的参数估计
binofit 二项分布的参数估计
expfit 指数分布的参数估计
gamfit 伽玛分布的参数估计
gamlike 伽玛似然函数的参数估计
mle 极大似然估计的参数估计
normlike 正态对数似然函数的参数估计
normfit 正态分布的参数估计
poissfit 泊松分布的参数估计
unifit 均匀分布的参数估计
weibfit 威布尔分布的参数估计
weiblike 威布尔对数似然函数的参数估计
表Ⅰ-7 统计量描述函数
函 数 描 述
bootstrap 任何函数的自助统计量
corrcoef 相关系数
cov 协方差
crosstab 列联表
geomean 几何均值
grpstats 分组统计量
harmmean 调和均值
iqr 内四分极值
kurtosis 峰度
mad 中值绝对差
mean 均值
median 中值
moment 样本模量
nanmax 包含缺失值的样本的最大值
续表
函 数 描 述
Nanmean 包含缺失值的样本的均值
nanmedian 包含缺失值的样本的中值
nanmin 包含缺失值的样本的最小值
nanstd 包含缺失值的样本的标准差
nansum 包含缺失值的样本的和
prctile 百分位数
range 极值
skewness 偏度
std 标准差
tabulate 频数表
trimmean 截尾均值
var 方差
表Ⅰ-8 统计图形函数
函 数 描 述
boxplot 箱形图
cdfplot 指数累加分布函数图
errorbar 误差条图
fsurfht 函数的交互等值线图
gline 画线
gname 交互标注图中的点
gplotmatrix 散点图矩阵
gscatter 由第三个变量分组的两个变量的散点图
lsline 在散点图中添加最小二乘拟合线
normplot 正态概率图
pareto 帕累托图
qqplot Q-Q图
rcoplot 残差个案次序图
refcurve 参考多项式曲线
refline 参考线
surfht 数据网格的交互等值线图
weibplot 威布尔图
表Ⅰ-9 统计过程控制函数
函 数 描 述
capable 性能指标
capaplot 性能图
ewmaplot 指数加权移动平均图
续表
函 数 描 述
histfit 添加正态曲线的直方图
normspec 在指定的区间上绘正态密度
schart S图
xbarplot x条图
表Ⅰ-10 聚类分析函数
函 数 描 述
cluster 根据linkage函数的输出创建聚类
clusterdata 根据给定数据创建聚类
cophenet Cophenet相关系数
dendrogram 创建冰柱图
inconsistent 聚类树的不连续值
linkage 系统聚类信息
pdist 观测量之间的配对距离
squareform 距离平方矩阵
zscore Z分数
表Ⅰ-11 线性模型函数
函 数 描 述
anova1 单因子方差分析
anova2 双因子方差分析
anovan 多因子方差分析
aoctool 协方差分析交互工具
mmyvar 拟变量编码
friedman Friedman检验
glmfit 一般线性模型拟合
kruskalwallis Kruskalwallis检验
leverage 中心化杠杆值
lscov 已知协方差矩阵的最小二乘估计
manova1 单因素多元方差分析
manovacluster 多元聚类并用冰柱图表示
multcompare 多元比较
多项式评价及误差区间估计
polyfit 最小二乘多项式拟合
polyval 多项式函数的预测值
polyconf 残差个案次序图
regress 多元线性回归
regstats 回归统计量诊断
续表
函 数 描 述
Ridge 岭回归
rstool 多维响应面可视化
robustfit 稳健回归模型拟合
stepwise 逐步回归
x2fx 用于设计矩阵的因子设置矩阵
表Ⅰ-12 非线性回归函数
函 数 描 述
nlinfit 非线性最小二乘数据拟合(牛顿法)
nlintool 非线性模型拟合的交互式图形工具
nlparci 参数的置信区间
nlpredci 预测值的置信区间
nnls 非负最小二乘
表Ⅰ-13 试验设计函数
函 数 描 述
cordexch D-优化设计(列交换算法)
daugment 递增D-优化设计
dcovary 固定协方差的D-优化设计
ff2n 二水平完全析因设计
fracfact 二水平部分析因设计
fullfact 混合水平的完全析因设计
hadamard Hadamard矩阵(正交数组)
rowexch D-优化设计(行交换算法)
表Ⅰ-14 主成分分析函数
函 数 描 述
barttest Barttest检验
pcacov 源于协方差矩阵的主成分
pcares 源于主成分的方差
princomp 根据原始数据进行主成分分析
表Ⅰ-15 多元统计函数
函 数 描 述
classify 聚类分析
mahal 马氏距离
manova1 单因素多元方差分析
manovacluster 多元聚类分析
表Ⅰ-16 假设检验函数
函 数 描 述
ranksum 秩和检验
signrank 符号秩检验
signtest 符号检验
ttest 单样本t检验
ttest2 双样本t检验
ztest z检验
表Ⅰ-17 分布检验函数
函 数 描 述
jbtest 正态性的Jarque-Bera检验
kstest 单样本Kolmogorov-Smirnov检验
kstest2 双样本Kolmogorov-Smirnov检验
lillietest 正态性的Lilliefors检验
表Ⅰ-18 非参数函数
函 数 描 述
friedman Friedman检验
kruskalwallis Kruskalwallis检验
ranksum 秩和检验
signrank 符号秩检验
signtest 符号检验
表Ⅰ-19 文件输入输出函数
函 数 描 述
caseread 读取个案名
casewrite 写个案名到文件
tblread 以表格形式读数据
tblwrite 以表格形式写数据到文件
tdfread 从表格间隔形式的文件中读取文本或数值数据
表Ⅰ-20 演示函数
函 数 描 述
aoctool 协方差分析的交互式图形工具
disttool 探察概率分布函数的GUI工具
glmdemo 一般线性模型演示
randtool 随机数生成工具
polytool 多项式拟合工具
rsmdemo 响应拟合工具
robustdemo 稳健回归拟合工具
Ⅰ.2 优化工具箱函数
表Ⅰ-21 最小化函数表
函 数 描 述
fgoalattain 多目标达到问题
fminbnd 有边界的标量非线性最小化
fmincon 有约束的非线性最小化
fminimax 最大最小化
fminsearch, fminunc 无约束非线性最小化
fseminf 半无限问题
linprog 线性课题
quadprog 二次课题
表Ⅰ-22 方程求解函数表
函 数 描 述
\ 线性方程求解
fsolve 非线性方程求解
fzero 标量非线性方程求解
表Ⅰ-23 最小二乘函数表
函 数 描 述
\ 线性最小二乘
lsqlin 有约束线性最小二乘
lsqcurvefit 非线性曲线拟合
lsqnonlin 非线性最小二乘
lsqnonneg 非负线性最小二乘
表Ⅰ-24 实用函数表
函 数 描 述
optimset 设置参数
optimget 获取参数
表Ⅰ-25 大型方法的演示函数表
函 数 描 述
circustent 马戏团帐篷问题—二次课题
molecule 用无约束非线性最小化进行分子组成求解
optdeblur 用有边界线性最小二乘法进行图形处理
表Ⅰ-26 中型方法的演示函数表
函 数 描 述
bandemo 香蕉函数的最小化
dfildemo 过滤器设计的有限精度
goaldemo 目标达到举例
optdemo 演示过程菜单
tutdemo 教程演示
Ⅰ.3 样条工具箱函数
表Ⅰ-27 三次样条函数
函 数 描 述
csapi 插值生成三次样条函数
csape 生成给定约束条件下的三次样条函数
csaps 平滑生成三次样条函数
cscvn 生成一条内插参数的三次样条曲线
getcurve 动态生成三次样条曲线
表Ⅰ-28 分段多项式样条函数
函 数 描 述
pplst 显示关于生成分段多项式样条曲线的M文件
ppmak 生成分段多项式样条函数
ppual 计算在给定点处的分段多项式样条函数值
表Ⅰ-29 B样条函数
函 数 描 述
splst 显示生成B样条函数的M文件
spmak 生成B样条函数
spcrv 生成均匀划分的B样条函数
spapi 插值生成B样条函数
spap2 用最小二乘法拟合生成B样条函数
spaps 对生成的B样条曲线进行光滑处理
spcol 生成B样条函数的配置矩阵
表Ⅰ-30 有理样条函数
函 数 描 述
rpmak 生成有理样条函数
rsmak 生成有理样条函数
表Ⅰ-31 操作样条函数
函 数 描 述
fnval 计算在给定点处的样条函数值
fmbrk 返回样条函数的某一部分(如断点或系数等)
fncmb 对样条函数进行算术运算
fn2fm 把一种形式的样条函数转化成另一种形式的样条函数
fnder 求样条函数的微分(即求导数)
fndir 求样条函数的方向导数
fnint 求样条函数的积分
fnjmp 在间断点处求函数值
fnplt 画样条曲线图
fnrfn 在样条曲线中插入断点。
fntlr 生成tarylor系数或taylor多项式
表Ⅰ-32 样条曲线端点和节点处理函数
函 数 描 述
augknt 在已知节点数组中添加一个或多个节点
aveknt 求出节点数组元素的平均值
brk2knt 增加断点数组中元素的重次
knt2brk 从节点数组中求得节点及其重次
knt2mlt 从节点数组中求得节点及其重次
sorted 求出节点数组points的元素在节点数组meshpoints中属于第几个分量
aptknt 求出用于生成样条曲线的节点数组
表Ⅰ-33 样条曲线端点和节点处理函数
函 数 描 述
newknt 对分段多项式样条函数进行重分布
optknt 求出用于内插的最优节点数组
chbpnt 求出用于生成样条曲线的合适节点数组
表Ⅰ-34 解线性方程组的函数
函 数 描 述
slvblk 解对角占优的线性方程组
bkbrk 描述分块对角矩阵的详细情况
表Ⅰ-35 样条GUI函数
函 数 描 述
bspligui 在节点处生成B样条曲线
splinetool 用一系列方法生成各种样条曲线
Ⅰ.4 偏微分方程数值解工具箱函数
表Ⅰ-36 偏微分方程求解算法函数
函 数 描 述
adaptmesh 生成自适应网格并求解PDE问题
assema 组合面积的整体贡献
assemb 组合边界条件的贡献
assempde 组合刚度矩阵和PDE问题的右端项
hyperbolic 求解双曲线PDE问题
parabolic 求解抛物线型PDE问题
pdeeig 求解特征值PDE问题
pdenonlin 求解非线性PDE问题
poisolv 在矩形网格上对泊松方程进行快速求解
表Ⅰ-37 用户界面算法函数
函 数 描 述
pdecirc 绘圆
pdeellip 绘椭圆
pdemdlcv 将PDE工具箱1.0模型的M文件转换为PDE工具箱1.0.2版本的格式
pdepoly 绘多边形
pderect 绘矩形
pdetool PDE工具箱图形用户集成界面(GUI)
表Ⅰ-38 几何算法函数
函 数 描 述
csgchk 核对几何描述矩阵的有效性
csgdel 删除最小子域之间的界线
decsg 将建设性实体几何模型分解为最小子域
initmesh 创建初始三角形网格
jigglemesh 微调三角形网格的内部点
pdearcl 在参数表示和圆弧长度之间进行内插
poimesh 在矩形几何图形上生成规则网格
refinemesh 加密一个三角形网格
wbound 写边界条件指定文件
wgeom 写几何指定函数
表Ⅰ-39 绘图函数
函 数 描 述
pdecont 绘等值线图
pdegplot 绘制PDE几何图
pdemesh 绘PDE三角形网格
pdeplot 一般PDE工具箱绘图函数
pdesurf 绘三维表面图
表Ⅰ-40 实用函数
函 数 描 述
Dst idst 离散化sin转换
pdeadgsc 使用相对容限临界值选择三角形
pdeadworst 选择相对于最坏值的三角形
pdecgrad PDE解的变动
pdeent 与给定三角形集合相邻的三角形的指数
pdegrad PDE解的梯度
pdeintrp 从节点数据至三角形中点数据进行内插
pdejmps 对于自适应网格进行误差估计
pdeprtni 从三角形中点数据向节点数据进行内插
pdesde 子域集合中点的指数
pdesdp 子域集合边缘的指数
pdesdt 子域集合三角形的指数
pdesmech 计算结构力学张量函数
pdetrg 三角形几何数据
pdetriq 三角型质量度量
续表
函 数 描 述
Poiasma 用于泊松方程快速求解器的边界点矩阵
poicalc 矩形网格上泊松方程的快速求解器
poiindex 经过规范排序的矩形网格的点的指数
sptarn 求解广义稀疏特征值问题
tri2grid 从PDE三角形网格到矩形网格进行内插
表Ⅰ-41 自定义算法函数
函 数 描 述
pdebound 边界条件M文件
pdegeom 几何模型M文件
表Ⅰ-42 演示函数
函 数 描 述
pdedemo1 单位圆盘上泊松方程的精确解
pdedemo2 求解Helmholtz方程,研究反射波
pdedemo3 求解最小表面问题
pdedemo4 用子域分解求解PDE问题
pdedemo5 求抛物线型问题(热传导方程)
pdedemo6 求双曲线型PDE问题(波动方程)
pdedemo7 点源的自适应求解
pdedemo8 在矩形网格上求解泊松方程
Ⅳ 图论在数学建模中一般用于哪些类型的题
1 最短路问题(SPP-shortest path problem)
一名货柜车司机奉命在最短的时间内将一车货物从甲地运往乙地。从甲地到乙地的公路网纵横交错,因此有多种行车路线,这名司机应选择哪条线路呢?假设货柜车的运行速度是恒定的,那么这一问题相当于需要找到一条从甲地到乙地的最短路。
2 公路连接问题
某一地区有若干个主要城市,现准备修建高速公路把这些城市连接起来,使得从其中任何一个城市都可以经高速公路直接或间接到达另一个城市。假定已经知道了任意两个城市之间修建高速公路的成本,那么应如何决定在哪些城市间修建高速公路,使得总成本最小?
3 指派问题(assignment problem)
一家公司经理准备安排 名员工去完成 项任务,每人一项。由于各员工的特点不同,不同的员工去完成同一项任务时所获得的回报是不同的。如何分配工作方案可以使总回报最大?
4 中国邮递员问题(CPP-chinese postman problem)
一名邮递员负责投递某个街区的邮件。如何为他(她)设计一条最短的投递路线(从邮局出发,经过投递区内每条街道至少一次,最后返回邮局)?由于这一问题是我国管梅谷教授1960年首先提出的,所以国际上称之为中国邮递员问题。
5 旅行商问题(TSP-traveling salesman problem)
一名推销员准备前往若干城市推销产品。如何为他(她)设计一条最短的旅行路线(从驻地出发,经过每个城市恰好一次,最后返回驻地)?这一问题的研究历史十分悠久,通常称之为旅行商问题。
6 运输问题(transportation problem)
某种原材料有 个产地,现在需要将原材料从产地运往 个使用这些原材料的工厂。假定 个产地的产量和 家工厂的需要量已知,单位产品从任一产地到任一工厂的运费已知,那么如何安排运输方案可以使总运输成本最低?
7.最短路已有成熟的算法:迪克斯特拉(Dijkstra)算法
8.计算赋权图中各对顶点之间最短路径,显然可以调用Dijkstra算法。具体方法是:每次以不同的顶点作为起点,用Dijkstra算法求出从该起点到其余顶点的最短路径,反复执行n次这样的操作,就可得到从每一个顶点到其它顶点的最短路径。这种算法的时间复杂度为O(n^3)。第二种解决这一问题的方法是由Floyd R W提出的算法,称之为Floyd算法。(可以解决第一个问题)
9.prim算法、Kruskal算法构造最小生成树(使所有点连通)
10.匈牙利算法、Kuhn-Munkres算法解决人员分配问题
11.Euler回路的Fleury算法(中国邮递员问题)
12.最大流的一种算法—标号法(用标号法寻求网络中最大流的基本思想是寻找可增广轨,使网络的流量得到增加,直到最大为止。)
我的计算机不好,用的是MATLAB,网上很多资料可以网络到。程序好直接网络对应算法搞成C的吧……
算法很多网络能到……
Ⅳ 什么是科研人员应该具有的能力,什么是工程师应该具有的能力
这几天,由于项目工作需要暂停,所以我就抽空开始学《算法导论》。认为这是一本很不错的书,不仅介绍了各种算法,而且给出了算法的由来(它的发明者是如何想到它的),以及效率的数学计算,当然还包含了算法的数学基础。我觉得这本书应该很耐看。它不向目前的一些国内的算法教材,只是罗列些经典算法,让你应用的时候可以想到去套这些算法。 昨天晚上和大师兄说了我正在学算法导论的事情。本以为大师兄会很支持,结果大师兄说,其实科研人员并不关心算法效率的问题,只有程序员或编程高手才会更关心效率的问题。 比如我曾经用C语言和MATLAB同时实现prim和kruskal算法,由于matlab语言对矩阵的特殊支持,matlab实现的算法显然比C语言高。 我们在本科多是工程上的训练。其目的就是:以后无论那门编程语言,只要学一个星期就能上手。。 可是当我在考研面试的时候,说道不同的编程语言对实现不同的算法有不同的效率时,在场的老师不屑一顾。当我能使用多种编程语言。又有人认为编程只是一种工具罢了,我充其量只不过是一个木匠。当人家问我数据库知识,我答出一小部分时,有人有任务我没有理论素养。。荒谬,真是荒谬。。。 我承认在本科,我们受到的训练都是工程上的训练,其目的是深刻的认识编程语言只是工具,不是限制人思维的桎梏。不学几种语言,怎么能深刻认识到这样一点,怎么能在研究生的学习中用一周就能基本入门一种特定的编程语言。当然,我们不是大专,也不是职业培养学校。我们虽然注重工程能力,但是并不要求一个学生在某一门程序语言上成为大牛(这是职业培训的目的。所以即便很多人是职业培训出来的,编程能力也可能比我们强)。我们的优势是在于在注重工程培养的同时,我们还有很多理论学习,报考计算机的各种理论,算法的各种理论。。。这些理论的学习是给在研究生期间做理论研究做初步准备的。 所以,我认为 一个软件领域的科研人员,在本科阶段应该是一个优秀的程序编写员。本科的偏工程背景,不应该认为和做理论研究是不相关的。
Ⅵ 大哥大姐们什么是图论
图论起源于18世纪。第一篇图论论文是瑞士数学家欧拉于1736 年发表的“哥尼斯堡的七座桥”。1847年,克希霍夫为了给出电网络方程而引进了“树”的概念。1857年,凯莱在计数烷 的同分异构物时,也发现了“树”。哈密尔顿于1859年提出“周游世界”游戏,用图论的术语,就是如何找出一个连通图中的生成圈,近几十年来,由于计算机技术和科学的飞速发展,大大地促进了图论研究和应用,图论的理论和方法已经渗透到物理、化学、通讯科学、建筑学、生物遗传学、心理学、经济学、社会学等学科中。
图论中所谓的“图”是指某类具体事物和这些事物之间的联系。如果我们用点表示这些具体事物,用连接两点的线段(直的或曲的)表示两个事物的特定的联系,就得到了描述这个“图”的几何形象。图论为任何一个包含了一种二元关系的离散系统提供了一个数学模型,借助于图论的概念、理论和方法,可以对该模型求解。哥尼斯堡七桥问题就是一个典型的例子。在哥尼斯堡有七座桥将普莱格尔河中的两个岛及岛与河岸联结起来问题是要从这四块陆地中的任何一块开始通过每一座桥正好一次,再回到起点。当
然可以通过试验去尝试解决这个问题,但该城居民的任何尝试均未成功。欧拉为了解决这个问题,采用了建立数学模型的方法。他将每一块陆地用一个点来代替,将每一座桥用连接相应两点的一条线来代替,从而得到一个有四个“点”,七条“线”的“图”。问题成为从任一点出发一笔画出七条线再回到起点。欧拉考察了一般一笔画的结构特点,给出了一笔画的一个判定法则:这个图是连通的,且每个点都与偶数线相关联,将这个判定法则应用于七桥问题,得到了“不可能走通”的结果,不但彻底解决了这个问题,而且开创了图论研究的先河。
图与网络是运筹学(Operations Research)中的一个经典和重要的分支,所研究的问题涉及经济管理、工业工程、交通运输、计算机科学与信息技术、通讯与网络技术等诸多领域。下面将要讨论的最短路问题、最大流问题、最小费用流问题和匹配问题等都是图与网络的基本问题。
个人觉得在实际应用中就是找出对应问题,找出算法,之后再搞定程序。
现在经常用的算法就十来个,都有对应的算法的。
1 最短路问题(SPP-shortest path problem)
一名货柜车司机奉命在最短的时间内将一车货物从甲地运往乙地。从甲地到乙地的公路网纵横交错,因此有多种行车路线,这名司机应选择哪条线路呢?假设货柜车的运行速度是恒定的,那么这一问题相当于需要找到一条从甲地到乙地的最短路。
2 公路连接问题
某一地区有若干个主要城市,现准备修建高速公路把这些城市连接起来,使得从其中任何一个城市都可以经高速公路直接或间接到达另一个城市。假定已经知道了任意两个城市之间修建高速公路的成本,那么应如何决定在哪些城市间修建高速公路,使得总成本最小?
3 指派问题(assignment problem)
一家公司经理准备安排 名员工去完成 项任务,每人一项。由于各员工的特点不同,不同的员工去完成同一项任务时所获得的回报是不同的。如何分配工作方案可以使总回报最大?
4 中国邮递员问题(CPP-chinese postman problem)
一名邮递员负责投递某个街区的邮件。如何为他(她)设计一条最短的投递路线(从邮局出发,经过投递区内每条街道至少一次,最后返回邮局)?由于这一问题是我国管梅谷教授1960年首先提出的,所以国际上称之为中国邮递员问题。
5 旅行商问题(TSP-traveling salesman problem)
一名推销员准备前往若干城市推销产品。如何为他(她)设计一条最短的旅行路线(从驻地出发,经过每个城市恰好一次,最后返回驻地)?这一问题的研究历史十分悠久,通常称之为旅行商问题。
6 运输问题(transportation problem)
某种原材料有 个产地,现在需要将原材料从产地运往 个使用这些原材料的工厂。假定 个产地的产量和 家工厂的需要量已知,单位产品从任一产地到任一工厂的运费已知,那么如何安排运输方案可以使总运输成本最低?
7.最短路已有成熟的算法:迪克斯特拉(Dijkstra)算法
8.计算赋权图中各对顶点之间最短路径,显然可以调用Dijkstra算法。具体方法是:每次以不同的顶点作为起点,用Dijkstra算法求出从该起点到其余顶点的最短路径,反复执行n次这样的操作,就可得到从每一个顶点到其它顶点的最短路径。这种算法的时间复杂度为O(n^3)。第二种解决这一问题的方法是由Floyd R W提出的算法,称之为Floyd算法。(可以解决第一个问题)
9.prim算法、Kruskal算法构造最小生成树(使所有点连通)
10.匈牙利算法、Kuhn-Munkres算法解决人员分配问题
11.Euler回路的Fleury算法(中国邮递员问题)
12.最大流的一种算法—标号法(用标号法寻求网络中最大流的基本思想是寻找可增广轨,使网络的流量得到增加,直到最大为止。)
我的计算机不好,用的是MATLAB,网上很多资料可以网络到。程序好直接网络对应算法搞成C的吧……
算法很多网络能到……