陈雄达-数学软件介绍-2016-数模讲座100_第1页
陈雄达-数学软件介绍-2016-数模讲座100_第2页
陈雄达-数学软件介绍-2016-数模讲座100_第3页
陈雄达-数学软件介绍-2016-数模讲座100_第4页
陈雄达-数学软件介绍-2016-数模讲座100_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数学软件介绍-Matlab

同济大学陈雄达2016年9月4日提纲MatlaB数据分析工具MATLAB微分方程求解Matlab图论工具Matlab最优化问题求解MATLAB平台上的算法实现2Matlab基础知识矩阵功能(高维矩阵)计算可视化(图形工具箱)超多工具箱(方程、统计、优化等)和其他编程或软件工具协同(C语言,Excel等)3Matlab数据分析工具数据文件的读写纯文本数据文件Fprintf(fid,format,Data)DATA=FSCANF(FID,FORMAT,SIZE)相关命令:fopen,fread,fcloseMatlab内置数据格式LOADfnamevarSAVEfnamevar–mat/-ascii4Matlab数据分析工具数据文件的读写EXcel数据文件DATA=XLSREAD(FNAME,SHEET,range)Xlswrite(fname,data,sheet,range)Range’A1:C5’例题2014D储药柜的设计2012A葡萄酒的评价5Matlab数据分析工具数据文件的读写图片数据文件A=IMREAD(FNAME,ForMaT)IMWRITE(A,FNAME,ForMaT)例题2013B碎纸片的拼接复原2011B交巡警服务平台的设置与调度2008A数码相机定位6Matlab数据分析工具数据文件的读写视频数据文件MOV=AVIREAD(FnAME)movie例题2013A车道被占用对城市道路通行能力的影响(2014B创意平板折叠桌)7Matlab数据分析工具数据处理插值interp1/2/3,

YI=INTERP1(X,Y,XI,method)griddata,

[XI,YI,ZI]=GRIDDATA(X,Y,Z,XI,YI)Spline,yy=spline(x,y,xx);例题2011A城市表层土壤重金属污染分析8Matlab数据分析工具数据处理拟合P=Polyfit(x,Y,n)Beta=NLINFIT(X,Y,FUN,BETA0)functionyhat=fun(beta,x)

b1=beta(1);

b2=beta(2);

yhat=1./(1+exp(b1+b2*x));例题2008A数码相机定位

9Matlab数据分析工具数据统计分析描述集中趋势的统计量均值geomean,mean,median,trimean描述离散趋势的统计量内四分极值iqr,极差range,方差var例题2012A葡萄酒的评价10Matlab数据分析工具数据统计分析分组数据描述Means=grpstats(x,group)包含缺失数据的样本描述Nan+max,min,mean,median,std,sum百分位Y=prctile(x,p)11Matlab数据分析工具其他数据统计工具中心矩M=moment(x,order)相关系数R=corrcoef(X)R=corrcoef(X,Y)峰度kurtosis,偏度skewness,

频数tabulate,

列联表crosstab12MATLAB微分方程求解13精确求解dsolveS=dsolve('Dx=y','Dy=-x','x(0)=0','y(0)=1')y=dsolve('D2y=sin(y)');pretty(y)MATLAB微分方程求解14近似求解Ode45,ode23s[t,y]=ode45(@fun,[020],2);plot(t,y);functiondydx=fun(t,y)

M=1e11;dydx=10*y*(1-y/M)

MATLAB微分方程求解15

MATLAB微分方程求解16两点边值问题近似求解例如:dydx

=

@(x,y)[y(2);(2*y(1)-4)/(1+x)];

%边值微分方程

res

=

@(ya,yb)[yb(2)-yb(1)/2;ya(1)];

%边界条件

solinit

=

bvpinit(linspace(0,1,10),[1

0]);%x及猜测值

sol

=

bvp4c(dydx,res,solinit);%求解

xint

=

linspace(0,1,50);

Sxint

=

deval_r(sol,xint);%画图

MATLAB图论工具17最短路径求解、最大流、最小生成树DIST=GRAPHSHORTESTPATH(G,S,D)graphallshortestpaths(G)[M,F,C]=graphmaxflow(G2,s,D)[ST,pred]=graphminspantree(G)MATLAB图论工具18最短路径求解及最大流R

=

[112412335734567];C

=

[233345566677888];W

=

[286711513429863];G

=

sparse(R,C,W);view(biograph(G,[],'ShowW','ON'));[distpath]=graphshortestpath(G,1,8);graphallshortestpaths(G);h=view(biograph(G,[],'showW','on'));edges=getedgesbynodeid(h,get(h.Nodes(path),'ID'));set(h.Nodes(path),'color',[100]);

set(edges,'LineColor',[100]);

set(edges,'LineWidth',1.5);[M,F,C]=graphmaxflow(G2,1,8);m=view(biograph(F,[],'showW','ON'));Matlab最优化问题求解19无约束优化问题x=fminbnd(fun,x1,x2)%单变量x=fminunc(fun,x0)%多变量x=fminsearch(fun,x0)

%多变量算法参数设置optimsetoptimgetMatlab最优化问题求解20约束优化问题线性规划x=linprog(f,A,b,Aeq,beq,lb,ub,x0)二次规划x=

quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)例题:2000B钢管订购和运输非线性规划x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)Matlab最优化问题求解21特殊形式的约束优化问题最大最小问题x=fminimax(fun,x0,A,B,Aeq,beq)最小二乘问题x=lsqnonneg(C,d,x0)x=lsqlin(C,D,A,B,Aeq,beq)非线性最小二乘x=lsqnonlin(fun,x0,lb,ub)非线性曲线拟合x=lsqcurvefit(fun,x0,xdata,ydata)Matlab最优化问题求解22

Matlab最优化问题求解23例:预测田鼠和猫头鹰的种群数量变化。每两个月作一次田间调查,已知它们种群的大致数目如下田鼠29.733.132.569.1134.2236.0269.6162.369.6猫头鹰12810488968810414417619239.834.020.721.737.657.6124.6215.8272.7195.795.016815212012096728810412818419241.925.710.922.633.648.192.5183.3268.5230.6111.116813614411296807288104152184Matlab最优化问题求解

24Matlab最优化问题求解

25Matlab最优化问题求解functionvolterrax=[29.733.132.569.1134.2236.0269.6162.369.639.834.0...20.721.737.657.6124.6215.8272.7195.795.041.925.7...10.922.633.648.192.5183.3268.5230.6111.1]’;y=[128104889688104144176192168152...

120120967288104128184192168136...14411296807288104152184]’;n=length(x);te=2;%timeelapseplot(te*(0:n-1),x,'ro',te*(0:n-1),y,'b*');legend('mice','owl');holdon;dt=te*ones(n-1,1);Sy=te*(y(1:end-1)+y(2:end))/2;Sx=te*(x(1:end-1)+x(2:end))/2;p1=[dt-Sy]\[diff(log(x))];p2=[-dtSx]\[diff(log(y))];26Matlab最优化问题求解27delta=p1(1);mu=p2(1);alpha=p1(2);beta=p2(2);[t,y]=ode45(@vollot,[0:0.5:60],[x(1)y(1)]',odeset,...delta,mu,alpha,beta);pauseplot(t,y(:,1),'r-',t,y(:,2),'b-','linewidth',2);functiondydt=vollot(t,y,delta,mu,alpha,beta)dydt=[(delta-alpha*y(2))*y(1)(-mu+beta*y(1))*y(2)];Matlab最优化问题求解28如果分析不到位,直接处理整个流程?(效率很低)

functiondydt=vollot(t,y,delta,mu,alpha,beta)dydt=[(delta-alpha*y(2))*y(1)(-mu+beta*y(1))*y(2)];Matlab最优化问题求解29如果分析不到位,直接处理整个流程?(效率很低)functionerr=pray(para)delta=para(1);alpha=para(2);mu=para(3);beta=para(4);x0=para(5);y0=para(6);x=[29.733.132.569.1134.2236.0269.6162.369.639.834.0...20.721.737.657.6124.6215.8272.7195.795.041.925.7...10.922.633.648.192.5183.3268.5230.6111.1]';y=[128104889688104144176192168152...120120967288104128184192168136...

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论