《MATLAB编程设计与应用》课程设计.doc

上传人:laozhun 文档编号:2388488 上传时间:2023-02-17 格式:DOC 页数:12 大小:307KB
返回 下载 相关 举报
《MATLAB编程设计与应用》课程设计.doc_第1页
第1页 / 共12页
《MATLAB编程设计与应用》课程设计.doc_第2页
第2页 / 共12页
《MATLAB编程设计与应用》课程设计.doc_第3页
第3页 / 共12页
《MATLAB编程设计与应用》课程设计.doc_第4页
第4页 / 共12页
《MATLAB编程设计与应用》课程设计.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《《MATLAB编程设计与应用》课程设计.doc》由会员分享,可在线阅读,更多相关《《MATLAB编程设计与应用》课程设计.doc(12页珍藏版)》请在三一办公上搜索。

1、 MATLAB编程设计与应用课程设计所在学院: 理学院 专业名称: 应用物理学 所 在 班 级: 物理09-1 学 生 姓 名: 学 生 学 号: 0907120107 2011 年 6 月一,程序的结构和流程控制:用Matlab程序的一般语句(循环语句forend,条件循环语句whileend和条件转向语句ifelseend)分别求1100的奇数和。程序一程序二:程序三sum=0;for x=1:1:100; if mod(x,2) sum=sum+x; else continue;endendsumclearx=1;sum=0;while x101sum=sum+x;x=x+2;endsu

2、mclearsum=0;for x=1:2:99;sum=sum+x;endsum二,2D绘制、函数图形的绘制:1,用plot语句绘制函数图形,熟悉分区绘图命令(subplot),建立图形命令(figure),以及用title命令和一些指定的线性、颜色和标记对图形作注释的功能。x=-pi:pi/20:pi;y1=sin(x);y2=cos(x);figure(1)subplot(2,2,1),plot(x,y1,+)grid on,title(sin(x)subplot(2,2,2),plot(x,y2,k)grid on,title(cos(x)subplot(2,2,3),plot(x,y

3、1,b*,x,y2,g-.)grid on,title(sin(x) and cos(x)subplot(2,2,4),plot(x,y1,-,x,y1,ro)grid on,title(sin(x)2,用subplot命令将画图区域分为三份,分别用ploy,comet和fplot命令做y=sin(3x+2)的图像。并用图形标题设置命令(title),X轴标签设置命令(xlabel),y轴标签设置命令(ylabel)对图形作注释。程序:x=-2*pi:pi/20:2*pi;y=sin(3*x+2);subplot(3,1,1)plot(x,y)title(y=sin(3x+2)xlabel(x

4、 -2*pi,2*pi)ylabel(y=sin(3x+2)subplot(3,1,2)comet(x,y,g)title(y=sin(3x+2)xlabel(x -2*pi,2*pi)ylabel(y=sin(3x+2)subplot(3,1,3)fplot(sin(3*x+2),-2*pi,2*pi)title(y=sin(3x+2)xlabel(x -2*pi,2*pi)ylabel(y=sin(3x+2)用行结果:,3,练习使用ezplot命令绘制参数曲线图形:参数方程及程序用行结果参数方程:程序:subplot(2,1,1)ezplot(cos(x)3,(sin(x)3),-4*pi

5、,4*pi)subplot(2,1,2)ezplot(x-sin(x),(1-cos(x),-4*pi,4*pi参数方程:程序:subplot(2,1,1)ezplot(x*(cos(x)3,x*(sin(x)3),-pi,pi)subplot(2,1,2)ezplot(x*(x-sin(x),x*(1-cos(x),-pi,pi)4,用polar命令绘制极坐标图形,并熟悉gtext命令,用鼠标将文本点击到图形相应的位置上。在同一坐标区域内绘制三叶玫瑰线和四叶玫瑰线。程序:subplot(2,2,1)ezpolar(sin(2*x),0,2*pi)gtext(r=sin(2x)subplot(

6、2,2,2)ezpolar(cos(2*x),0,2*pi)gtext(r=cos(2x)subplot(2,2,3)ezpolar(sin(3*x),0,2*pi)gtext(r=sin(3x)subplot(2,2,4)ezpolar(cos(3*x),0,2*pi)gtext(r=cos(3x)用行结果:5,在同一坐标系中绘制不同函数的图像。函数表达式及程序用行结果,程序:x=-2*pi:pi/20:2*pi;y1=sin(x);y2=x-x.3/prod(1:3);y3=x-x.3/ prod(1:3)+x.5/ prod(1:5);y4=y3-x.7/( prod(1:7);plot

7、(x,y1,r,x,y2,b,x,y3,g,x,y4,k)函数表达式:程序:x=-1:0.01:1;syms ty=(t2-1)3+1;y1=diff(y,t);y2=diff(y1,t);y=subs(y,t,x);y1=subs(y1,t,x);y2=subs(y2,t,x);plot(x,y,r,x,y1,g,x,y2,b)6,课外扩展:分段函数的表达与绘图编写程序计算并画出在上的曲线。x=-3:0.01:3;y1=zeros(size(x); y2=zeros(size(x);y3=zeros(size(x);N=length(x); for k=1:N if x(k)=-3; y1(

8、k)=(-x(k).2-4*x(k)-3)/2; elseif x(k)=-1&x(k)1 ; y2(k)=-x(k).2+1; else x(k)=1 ; y3(k)=(-x(k).2+4*x(k)-3)/2; endendy=y1+y2+y3; plot(x,y)三,符号运算与数值运算综合练习.已知函数的表达式为编写一个函数文件,定义函数在处的一阶泰勒多项式。函数文件myfun.m调用语句用行结果function y=myfun(x)syms t1 t2 t3 t4 t5 t6 t7x0=0.1 0.3 0.1 0.1 1.5 16 0.75;u(1)=174.42*(t1/t5)*(t3

9、/(t2-t1)0.85*sqrt(1-2.62*(1-0.36*(t4/t2)(-0.56)1.5*(t4/t2)1.16)/(t6*t7)u(2)=diff(u(1),t1);u(3)=diff(u(1),t2);u(4)=diff(u(1),t3);u(5)=diff(u(1),t4);u(6)=diff(u(1),t5);u(7)=diff(u(1),t6);u(8)=diff(u(1),t7);u=subs(u,t1,t2,t3,t4,t5,t6,t7,x0)y=u*1,x-x0 x=1:7; y=myfun(x)u =8721/50*t1/t5*(t3/(t2-t1)(17/20)

10、*(1-131/50*(1-9/25/(t4/t2)(14/25)(3/2)*(t4/t2)(29/25)/t6/t7)(1/2)u = Columns 1 through 6 1.7256 24.5896 -5.9911 14.6675 -4.0281 -1.1504 Columns 7 through 8 -0.0539 -1.1504y = 29.820y = 29.8206注意事项:保存时须要以函数名命名,负责不能调用函数。说明:用行结果没有完全按给出的形式,其中空行被去掉了2.编辑一个函数文件,实现如下功能:对输入的矩阵a,若a是方阵,计算其特征值与特征向量,并求出最大特征值及其对应

11、的特征向量。若a不是方阵,计算a的转置与a的乘积的特征值与特征向量,并求出最大特征值及其对应的特征向量。函数文件myfun.m调用语句用行结果function Emax,Dmax=myfun(x)n=size(x);if n(1)=n(2); b=x;else b=x*x;ende,d=eig(b)dmax=d(1,1);k=1;for i=2:n(2) if (dmax a=1,2,3,21;1,4,4,12;1,2,43,12;4,2,3,5; myfun(a)e = -0.1182 -0.7264 0.8795 0.3798 -0.1272 -0.5119 0.3012 -0.9188

12、-0.9804 0.2202 0.0579 0.0040 -0.0928 -0.4022 -0.3638 0.1079d = 44.5164 0 0 0 0 13.1276 0 0 0 0 -6.8039 0 0 0 0 2.1599Emax = -0.1182 -0.1272 -0.9804 -0.0928Dmax = 44.5164四、优化工具箱试验1,非线性不等式约束最优化问题求解 约束条件:,实验步骤用行结果一,目标函数文件:function f=objfun(x)f=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);Optimizatio

13、n terminated: first-order optimality measure less than options.TolFun and maximum constraint violation is less than options.TolCon.Active inequalities (to within options.TolCon = 1e-006): lower upper ineqlin ineqnonlin 1 2x = -9.5474 1.0474fval = 0.0236二,约束函数文件:function c,ceq=confun(x)c=1.5+x(1)*x(2

14、)-x(1)-x(2); -x(1)*x(2)-10;ceq=;三,初始化调用函数: x0=-1,1; options=optimset(LargeScale,off); x,fval=fmincon(objfun,x0,confun,options)2,线性规划求解下述问题:根据函数linprog函数的功能,可知此问题可用linprog函数求解:函数程序为:f=-3,-2,-1;a=1,2,4;-2,1,-1;4,-1,-2;-4,1,2;b=5,-35,40,-30;aeq=1,2,3;beq=30;lb=0,-50100000,5;ub=20,4,2010000;options=opti

15、mset(disp,iter);x,fval=linprog(f,a,b,aeq,beq,lb,ub)用行结果如下:Exiting: One or more of the residuals, duality gap, or total relative error has stalled: the primal appears to be infeasible and the dual unbounded since the dual objective 1e+10 and the primal objective -1e+6.x = 11.7483 8.8882 5.0003fval =

16、-58.0216五,网络应用:两种蠓Af和Apf已由生物学家W.L.Grogan和W.W.Wirth根据它们的触角长度和翼长加以区分。已知9种Af蠓、6只Apf蠓的触角长度和翼长的数据为种类ApfApfApfApfApfApfAfAfAfAfAfAfAfAfAf触角长1.141.201.181.261.281.301.241.361.381.381.381.401.481.541.56翼长1.781.861.962.002.001.961.721.741.641.821.901.701.821.822.08据此识别出给定的触角长度和翼长的一只标本是Af还是Apf是重要的。(1) 给定一只Af或

17、Apf族的蠓,如何正确地区分它属于哪一族?(2) 将你的方法用于触角长和翼长分别为(1.24,1.80)、(1.28,1.84)、(1.40,2.04)的三个标本。解:第一步 确定分类问题的输入、理想输出P=1.14,1.20,1.18,1.26,1.28,1.30,1.24,1.36,1.38,1.38,1.38,1.40,1.48,1.54,1.56;1.78,1.86,1.96,2,2,1.96,1.72,1.74,1.64,1.82,1.90,1.70,1.82,1.82,2.08;T=-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1;第二步 创建网络,并初始化参

18、数net=newff(minmax(P),3 1,tansig purelin,traingdm);net_1.trainParam.show = 50; net_1.trainParam.lr = 0.05; net_1.trainParam.mc = 0.9; net_1.trainParam.epochs = 10000; net_1.trainParam.goal = 1e-3;第三步 训练网络 net,tr=train(net,P,T);第四步 对训练好的网络利用仿真函数进行仿真检验Y=sim(net,P);G=1.24,1.28,1.40;1.80,1.84,2.04;sim(ne

19、t,G);用行结果TRAINGDM, Epoch 0/100, MSE 1.79456/0, Gradient 3.00967/1e-010TRAINGDM, Epoch 25/100, MSE 0.963986/0, Gradient 0.351793/1e-010TRAINGDM, Epoch 50/100, MSE 0.943152/0, Gradient 0.303505/1e-010TRAINGDM, Epoch 75/100, MSE 0.928298/0, Gradient 0.176639/1e-010TRAINGDM, Epoch 100/100, MSE 0.921443/

20、0, Gradient 0.144009/1e-010TRAINGDM, Maximum epoch reached, performance goal was not met.六,体会与建议 MATLAB以矩阵作为基本单元。其书写语句简单且功能强大。具有丰富的绘图功能。提供了许多面向应用问题求解的工具箱函数。MATLAB的学习必须要有吃苦精神。必须认真对待每一个小标点即数据。应为一个小标点的错误将会导致程序不能用行。编写程序时,必须不厌其烦的修改,一次一次的调试程序才能最终得到真确的结果。用MATLAB解决实际问题,是比较方便的。因为其提供了许多面向问题的求解的工具箱,所以只要能掌握其相应的工具箱,解诀实际问题不用发愁。 教学时间太过集中。希望能像别的课程一样一周上一到两次。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号