




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、暑期软件编程综合实习总结 余帆 数学10-1班 10072121从7月10号到7月20号这为期十天的暑期实习中,让我学到了很多有用的知识,进一步锻炼了我对matlab编程的运用以及巩固了spss和lingo软件的使用。接下来,我就总结下这十天的收获。提纲: 在这十天中,我主要学到了matlab中用inline在线定义函数;求解线性方程组的LU分解法;matlab中的插值函数:interp1,interp2等函数的调用;矩阵特征值与特征向量的简单调用函数:norm,cond,rcond,condeig等;matlab中有关求微分的函数调用,如:diff,gradient等;求积分的函数调用,如:
2、int,quad,bdlquad等,此外还有一些数值积分方法,如梯形法,辛普森法高斯法等;求解非线性方程中fzero和fsolve函数以及黄金分割法等其他程序方法;求解常微分方程组中dsolve函数,solver求解器;求解偏微分方程组中ODE求解方法;概率统计中参数估计和假设检验的matlab实现。 此外还学会了利用spss进行方差分析,利用Lingo软件求解线性规划、整数规划等问题。 自己讲了matlab中的积分计算,参数估计和假设检验,spss中的方差分析等。第一部分:总结概述 1.在线定义函数inline的调用,如g=(x)x.5。 2.求解线性方程组的LU分解法函数的调用:L,U=l
3、u(A),方程组Ax=b的解x可写为x=U(LBb)。b=4 0 1 -2;L,U=lu(A);x=U(Lb)输出结果为:x= -0.3721 -0.8291 -1,5336 1.4547由计算结果可知,方程组的解为x1,x2,x3,x4=-0.3721,-0.8291,-1,5336,1.4547。3.Matlab中的插值函数:interp1x=0:2*pi;y=sin(x);xx=0:0.5:2*pi;yy=interp1(x,y,xx);plot(x,y,s,xx,yy)输出图形:4.Matlab中cond函数的调用:c=cond(X),norm函数的调用:n=norm(A,1)等。5.
4、Matlab中求微分的函数diff的调用,如df=diff(sin(x);df=cos(x) df=diff(sin(x*y),y) df=cos(x*y)*x等。6.Matlab中求积分的函数的调用,求不定积分,如:f=int('sin(x)*x'),f=int('sin(x)*y', 'x')等。求定积分,如q=int('x3+sin(x) ',1,3)等。求二重积分,如syms y q=int('x3+sin(y)',y,1,3) ,q=dblquad('sin(x)*sqrt(y)',-1,
5、-1,0,2)等。此外还有几种数值积分方法的程序实现,如:复合梯形公式:function I,step=combinetraprl(f,a,b,eps)if(nargin=3) eps=1.0e-4;endn=1;h=(b-a)/2;I1=0;I2=(subs(sym(f),findsym(sym(f),a)+subs(sym(f),findsym(sym(f),b)/h;while abs(I2-I1)>eps n=n+1; h=(b-a)/n; I1=I2; I2=0; for i=0:n-1 x=a+h*i; x1=x+h; I2=I2+(h/2)*(subs(sym(f),fin
6、dsym(sym(f),x)+subs(sym(f),findsym(sym(f),x1); endendI=I2;step=n;调用此函数,q,s=combinetraprl('1/(x2-1)',2,4,1.0e-6),输出q=0.2939,s=15,可知辛普森公式:function I,step=IntSimpson(f,a,b,type,eps)%辛普森系列公式求函数f在区间a,b上的定积分%函数名:f%积分下限:a%积分上限:b%辛普森公式的类型:type%积分精度:eps%积分值:I%积分划分的子区间个数:stepif(type=3&&nargin=
7、4) disp('缺少参数!');endI=0;switch type case 1, %辛普森公式 I=(b-a)/6)*(subs(sym(f),findsym(sym(f),a)+. 4*subs(sym(f),findsym(sym(f),(a+b)/2)+. subs(sym(f),findsym(sym(f),b); step=1; case 2, %辛普森3/8公式 I=(b-a)/8)*(subs(sym(f),findsym(sym(f),a)+. 3*subs(sym(f),findsym(sym(f),(2*a+b)/3)+. 3*subs(sym(f),
8、findsym(sym(f),(a+2*b)/3)+. subs(sym(f),findsym(sym(f),b); step=1; case 3, %复合辛普森公式 n=2; h=(b-a)/2; I1=0; I2=(subs(sym(f),findsym(sym(f),a)+subs(sym(f),findsym(sym(f),b)/h; while abs(I2-I1)>eps n=n+1; h=(b-a)/n; I1=I2; I2=0; for i=0:n-1 x=a+h*i; x1=x+h; I2=I2+(h/6)*(subs(sym(f),findsym(sym(f),x)+
9、. 4*subs(sym(f),findsym(sym(f),(x+x1)/2)+. subs(sym(f),findsym(sym(f),x1); end end I=I2; step=n;end调用此函数,q,s=IntSimpson('sin(x)',0,10,1),输出q=-7.2995。此外还有很多数值积分程序实现,如牛顿-科茨法,高斯法等,由于篇幅原因,就不一一列出了。7. 非线性方程求解fzero函数是用来求解单变量的非线性方程,fsolve是用来求解多变量的非线性方程和非线性方程组的。例子:x=fzero(x2+x-1,0.5),输出x=0.6180f=(x)
10、x(1)2-x(2)-2;x(2)2-2*x(1)-4f = (x)x(1)2-x(2)-2;x(2)2-2*x(1)-4fsolve(f,x0)ans = 2.2143 2.9032由计算结果可知,方程组的一个根为(x,y)=(2,2143,2.9032)。非线性方程的二分法:function x,k=bisection(a,b,f,ep)% 二分法解非线性方程% 输入区间a,b,函数f和误差ep, Nmax为最大二分次数% x为输出近似根, k为二分次数k=0;x=;while b-a>ep k=k+1; x1=(a+b)/2; x=x x1; fx1=f(x1); fa=f(a);
11、 if abs(fx1)<=ep return elseif fx1*fa<0 b=x1; else a=x1; endend8.常微分方程的求解 符号解函数dsolve的调用:(1)计算方程的通解 dsolve('Dy+3*x*y=x*exp(-x2)','x') ans =C2*exp(-(3*x2)/2) + exp(x2/2)*exp(-(3*x2)/2) 可知通解为y=C2*exp(-(3*x2)/2) + exp(x2/2)*exp(-(3*x2)/2) (2) 计算微分方程在初始条件下的特解。 dsolve('x*Dy+2*y-
12、exp(x)=0','y(1)=2*exp(1)','x')ans = (2*exp(1)/x2 + (exp(x)*(x - 1)/x2 可知特解为 Solver工具箱的使用ode45的调用 例子:题目:dx/dt=4x-2xy dy/dt=xy-3y 0<t<=5 调用ODE45求解,并作出x(t) x(0)=3,y(0)=1输入代码:Df=(t,y)4*y(1)-2*y(1)*y(2);y(1)*y(2)-3*y(2)y0=3;1;t,Y=ode45(Df,0,5,y0)plot(t,Y(:,1)plot(t,Y(:,2)plot(t,
13、Y(:,1),'*',t,Y(:,2),'+')plot(Y(:,1),Y(:,2)%相轨线t,Y=ode45(Df,0,5,3,4);plot(X,Y(:,2)输出结果:只画出相轨线图形初边值问题的解:例子 题目:d2u/dx2-xdu/dx+u=-2xcosx 0<x< u(0)=0,u()= 真解为:u=x+2sinx输入代码f=(x,y)y(2);-2*x*cos(x)-y(1)+x*y(2)bc=(ya,yb)ya(1);yb(1)-1;solinit=bvpinit(linspace(0,1,10),0,1);sol=bvp4c(f,bc
14、,solinit);plot(sol.x,sol.y(1,:)输出结果(u关于x的图形)例子题目:d2u/dx2-du/dx+u=ex-3sinx 0<x< u(0)=2,u()=e+3 真解为:u=ex-3cosx输入代码ff=(x,y)y(2);exp(x)-3*sin(x)-y(1)+y(2);bc=(ya,yb)ya(1)-2;yb(1)-exp(pi)-3;y0=bvpinit(linspace(0,pi),(x)exp(x);exp(x);sol=bvp4c(ff,bc,y0);plot(sol.x,sol.y(1,:)输出结果(u关于x的图形)9. 偏微分方程的求解例
15、子:这里0<=x<=1 t>=0初值条件: 边值条件: 求解:(1).重写方程组。(2).将方程组的系数编成函数方便调用。function c,f,s = pdex4pde(x,t,u,DuDx)c = 1; 1;f = 0.024; 0.17 .* DuDx;y = u(1) - u(2);F = exp(5.73*y)-exp(-11.47*y);s = -F; F;(3).初始条件函数。function u0 = pdex4ic(x);u0 = 1; 0;(4).边值条件函数。function pl,ql,pr,qr = pdex4bc(xl,ul,xr,ur,t)pl
16、 = 0; ul(2);ql = 1; 0;pr = ur(1)-1; 0;qr = 0; 1;(5) .选择求解网格点。x = linspace(0,1,20);t = linspace(0,2,5);(6) .调用pde求解器。m = 0;sol = pdepe(m,pdex4pde,pdex4ic,pdex4bc,x,t);(7).画出图形。u1 = sol(:,:,1);u2 = sol(:,:,2);figuresurf(x,t,u1)title('u1(x,t)')xlabel('Distance x') ylabel('Time t'
17、;)figuresurf(x,t,u2)title('u2(x,t)')xlabel('Distance x')ylabel('Time t')结果如下:10. 假设检验 假设检验是对总体的参数或总体的分布函数的形式的目中假设检验进行判断的过程。设检验包括以下几个过程步骤:(1) 根据问题需要,设置原假设H0或备选假设H1;(2) 选择合适的检验统计量,在H0成立的条件下,确定其概率分布;(3) 确定拒绝域,对给定的显著水平a,由统计量的分布查表或计算确定出临界值,进而得到H0的拒绝域。(4) 根据样本观察值计算出统计量;(5) 根据统计量的值是
18、否落入拒绝域,做出拒绝或保留H0.有如下几类主要的假设检验(1)方差存在,期望为u的z检验x=99 98.5 102.5 101 98 99 102 102.1 100.5;m=100;h=ztest(x,m,0.4)h =1>> h,sig,ci=ztest(x,m,0.4)h = 1sig = 0.0303ci = 100.0276 100.5502由h=1可得出拒绝原命题假设。(2)方差未知的,关于期望u的的t检验y=32.56 29.66 32.64 30.00 31.87 32.03;m=32.5;h=ttest(y,m,0.05,'right')h =
19、0当h=0时在显著水平为0.05情况下,不能拒绝原假设,平均抗断强度不大于32.5kg/cm2。(3)两个正态总体均值差的检验(t检验)x=0.225 0.262 0.217 0.240 0.230 0.229 0.235 0.217;y=0.209 0.205 0.196 0.210 0.202 0.207 0.224 0.223 0.220 0.201;h=ttest2(x,y)h = 1在h=1下显著水平为0.05的情况下拒绝原假设。(4) 基于成对数据的检验x=0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0;y=0.10 0.21 0.52 0.32 0.78
20、0.59 0.68 0.77 0.89;h=ttest(x,y,0.01)h = 0当h=0下,在显著水平为0.01下,不能拒绝原假设,两者无差异(5)正态总体方差检验 两个总体x=6.2 5.7 6.5 6.0 6.3 5.8 5.7 6.0 6.0 5.8 6.0;y=5.6 5.9 5.6 5.7 5.8 6.0 5.5 5.7 5.5;h=vartest2(x,y,0.05,'left')h= 0故在显著水平为0.05情况下接受原假设单个总体x1.19 1.21 1.21 1.18 1.17 1.20 1.20 1.17 1.19 1.18;v=0.0002;h=var
21、test(x,v)h= 0故在显著水平为0.05情况下接受原假设。此外利用spss可以更加方便直观的进行参数估计、假设检验、方差分析、回归分析等。由于spss基本上是直接操作,每一个功能都能在工具栏里面找到,没有具体的代码,无法直接直观的讲操作过程显示出来,再此就不阐述了。第二部分 编程及设计的实验的题目和求解过程。一、实验名称 利用Lingo软件求解数学规划模型二、实验目的掌握MATLAB进行数据处理的命令,学会利用Lingo软件求解线性规划、整数规划等问题,掌握对实际问题建立相应的数学规划模型,并利用Lingo软件进行求解,并对求解结果进行分析。三、实验要求每个题目要包含完整的实验步骤,具
22、体如下:建立的模型、求解模型所编写的程序、程序运行结果、对实际问题的解答。四、实验内容1、 用LINGO软件求解:在约束条件下的最大值输入:model:max=4*x1+5*x2+x3;3*x1+2*x2<=10;x1+4*x2<=11;3*x1+3*x2+x3<=13;gin(x1);gin(x2);gin(x3);end输出: Global optimal solution found. Objective value: 19.00000 Objective bound: 19.00000 Infeasibilities: 0.000000 Extended solver
23、 steps: 0 Total solver iterations: 0 Variable Value Reduced Cost X1 2.000000 -4.000000 X2 2.000000 -5.000000 X3 1.000000 -1.000000 Row Slack or Surplus Dual Price 1 19.00000 1.000000 2 0.000000 0.000000 3 1.000000 0.000000 4 0.000000 0.000000结果:2.某商业集团公司在地设有仓库,他们分别库存40,20,40,30个单位产品,而零售商品分布在地区它们需要的产
24、品数量分别是25,10,20个单位。产品从到的每个单位装运费列于下表: 销售地仓库554030404555304060202530试建立装运费最省调运方案的数学模型并运用LINGO编程求解,数据的调用赋值与结果的存储,采用与EXCEL之间的链接。模型建立:设四个仓库的库存量为,三个销售地区需要的产品数量为 产品从到的每个单位装运费为,从到运送产品的数量为输入:model:sets:cangku:kucun;xiaoshou:need;links(cangku,xiaoshou):f,x;endsetsmin=sum(links:f*x);for(xiaoshou(j):sum(cangku(i
25、):x(i,j)=need(j);for(cangku(i):sum(xiaoshou(j):x(i,j)<=kucun(i);data:cangku,xiaoshou,kucun,need,f=ole('D:4.xlsx','cangku','xiaoshou','kucun','need','f');ole('D:4.xlsx','x')=x;enddataend输出: Global optimal solution found. Objective val
26、ue: 1400.000 Total solver iterations: 2 Export Summary Report - Transfer Method: OLE BASED Workbook: D:4.xlsx Ranges Specified: 1 x Ranges Found: 1 Range Size Mismatches: 1Values Transferred: 12 Variable Value Reduced Cost KUCUN( A1) 40.00000 0.000000 KUCUN( A2) 20.00000 0.000000 KUCUN( A3) 40.00000
27、 0.000000 KUCUN( A4) 30.00000 0.000000 NEED( B1) 25.00000 0.000000 NEED( B2) 10.00000 0.000000 NEED( B3) 20.00000 0.000000 F( A1, B1) 55.00000 0.000000 F( A1, B2) 40.00000 0.000000 F( A1, B3) 30.00000 0.000000 F( A2, B1) 40.00000 0.000000 F( A2, B2) 45.00000 0.000000 F( A2, B3) 55.00000 0.000000 F( A3, B1) 30.00000 0.000000 F( A3, B2) 40.00000 0.000000 F( A3, B3) 60.00000 0.000000 F( A4, B1) 20.00000 0.000000 F( A4, B2) 25.00000 0.000000 F( A4, B3) 30.00000 0.000000 X( A1, B1) 0.000000 25.0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新人教版七年级生物下册教师培训计划
- 2025年幼儿园大班创客教育实施计划
- 某年度放射治疗计划系统产业分析报告
- 同桌的你中考作文(11篇)
- 数字电视450字(11篇)
- 论读书的议论文作文(15篇)
- 有机硅基天冬聚脲防污涂层的制备与性能研究
- 基于深度学习的小样本视网膜血管分割研究
- 叶兆言历史题材创作的互文性研究
- 地球母亲的一封信一封信作文11篇范文
- 学校安全风险分级管控清单
- 2024年安徽省中考物理试卷真题(含答案解析)+2023年中考物理试卷及答案
- 青年兴则国家兴青年强则国家强
- 药物分析智慧树知到答案2024年中国药科大学
- 2023年海南省中考物理试题(解析版)
- 2024年北京中考地理试卷
- 入藏安全承诺书怎么写
- 2024年安徽省初中地理会考卷真题含参考答案
- 《月亮与六便士》读书分享课件
- 车辆超载超限培训
- 燃气行业数字化转型与智能化升级
评论
0/150
提交评论