matlab大作业word版
(完整word版)优化设计Matlab编程作业
优化设计无约束优化min f(x)= 21x +22x -21x 2x -41x初选x0=[1,1]程序:Step 1: Write an M-file objfun1.m.function f1=objfun1(x)f1=x(1)^2+2*x(2)^2-2*x(1)*x(2)-4*x(1);Step 2: Invoke one of the unconstrained optimization routinesx0=[1,1];>> options = optimset('LargeScale','off');>> [x,fval,exitflag,output] = fminunc(@objfun1,x0,options)运行结果:x =4.0000 2.0000fval =-8.0000exitflag =1output =iterations: 3funcCount: 12stepsize: 1firstorderopt: 2.3842e-007algorithm: 'medium-scale: Quasi-Newton line search'message: [1x85 char]非线性有约束优化1. Min f(x)=321x +22x +21x -32x +5Subject to: 1g (x)=1x +2x +18≤02g (x)=51x -32x -25≤03g (x)=131x -4122x 0≤4g (x)=14≤1x 130≤5g (x)=2≤2x 57≤初选x0=[10,10]Step 1: Write an M-file objfun2.mfunction f2=objfun2(x)f2=3*x(1)^2+x(2)^2+2*x(1)-3*x(2)+5;Step 2: Write an M-file confun1.m for the constraints.function [c,ceq]=confun1(x)% Nonlinear inequality constraintsc=[x(1)+x(2)+18;5*x(1)-3*x(2)-25;13*x(1)-41*x(2)^2;14-x(1);x(1)-130;2-x(2);x(2)-57];% Nonlinear inequality constraintsceq=[];Step 3: Invoke constrained optimization routinex0=[10,10]; % Make a starting guess at the solution>> options = optimset('LargeScale','off');>> [x, fval] = ...fmincon(@objfun2,x0,[],[],[],[],[],[],@confun1,options)运行结果:x =3.6755 -7.0744fval =124.14952. min f (x )=222154x x +s.t. 0632)(211≤-+=x x x g01)(212≥+=x x x g 初选x0=[1,1]Step 1: Write an M-file objfun3.mfunction f=objfun3(x)f=4*x(1)^2+5*x(2)^2Step 2: Write an M-file confun3.m for the constraints.function [c,ceq]=confun3(x)%Nonlinear inequality constraintsc=[2*x(1)+3*x(2)-6;-x(1)*x(2)-1];% Nonlinear equality constraintsceq[];Step 3: Invoke constrained optimization routinex0=[1,1];% Make a starting guess at the solution>> options = optimset('LargeScale','off');>> [x, fval] = ...fmincon(@objfun,x0,[],[],[],[],[],[],@confun,options)运行结果:Optimization terminated: no feasible solution found. Magnitude of searchdirection less than 2*options.TolX but constraints are not satisfied.x =1 1fval =-13实例:螺栓连接的优化设计图示为一压气机气缸与缸盖连接的示意图。
matlab大作业实验报告,《Matlab程序设计》期末实验报告-大作业2015.doc
matlab⼤作业实验报告,《Matlab程序设计》期末实验报告-⼤作业2015.doc《MATLAB程序设计》实验报告学院: 学号: 姓名:⼀、题⽬:1、(10分)已知矩阵,⽤Matlab代码实现以下要求:(1)将矩阵赋给变量A,并在屏幕上显⽰A;(2)将A按列进列逆序重排,重排后的矩阵赋给变量B,并在屏幕上显⽰B;(3)⽤reshape命令将A重排为⼀个2⾏6列矩阵并赋给变量C;(4)将A重排为⼀个列向量,将其赋给变量D,求D的平均值,在屏幕上显⽰D和它的平均值;(5)⽤命令查看变量A的维数,并显⽰运⾏结果。
2、(10分)写代码实现以下要求:构造菜单项‘Plot’,菜单项Plot有两个⼦菜单项Plot sin(选择此项后执⾏画出曲线,线型为虚线,线条颜⾊为红⾊)和Plot cos(选择此项后执⾏画出曲线 ,线型为实线,线条宽度为2)。
3、(20分)已知,实现下列操作:(1)在同⼀个图形窗⼝,同⼀坐标系下⽤不同的颜⾊和线型绘制三条曲线,并添加图例来区分三条曲线(5分)。
(2)⽤subplot命令,以⼦图的⽅式绘制三条曲线,图形排列⽅式为三⾏⼀列(5分)。
(3) 分别⽤直⽅图(bar)、棒状图(stem)和填充图(fill)绘制三条曲线,以⼦图⽅式绘制,排列⽅式为3⾏3列,共9幅⼦图(10分)。
4、(10分)⽤surf命令绘制曲⾯图形,⽤shading interp命令进⾏插值着⾊处理并添加垂直颜⾊棒。
5、(15分)⾃2011年9⽉1⽇起,我国实⾏新的个⼈所得税征收办法,起征点为3500元,请⽤If-else if-else-end结构实现⼈⼯输⼊⽉收⼊后能计算出个⼈所得税的缴纳额并显⽰⽉收⼊10000元时应缴纳的税款。
级数应纳税所得额x(元)税率备注1x<=15003%x指⽉收⼊扣除起征点3500元之后的余额;215008000045%同上6. (10分)⽤while-end循环结构计算级数和的值,输⼊n值,能计算出f的值,并显⽰结果。
MATLAB大作业
M A T L A B大作业作业要求:(1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。
(2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。
打印稿不要求MATLAB程序,但电子稿要包含MATLAB程序。
(3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。
不要抄袭复制,可以参考网上、文献资料的内容,但要理解,要变成自己的语言,按自己的思路组织内容。
(4)从给出的问题中至少选择一题(多做不限,但必须独立完成,严禁抄袭)。
(5)大作业占过程考核的20%,从完成情况、工作量、作业文档方面评分。
第一类:绘制图形。
(B级)问题一:斐波那契(Fibonacci)螺旋线,也称黄金螺旋线(Golden spiral),是根据斐波那契数列画出来的螺旋曲线,自然界中存在许多斐波那契螺旋线的图案,是自然界最完美的经典黄金比例。
斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契螺旋线,如图所示。
问题二:绘制谢尔宾斯基三角形(Sierpinskitriangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集。
其生成过程为:取一个实心的三角形(通常使用等边三角形),沿三边中点的连线,将它分成四个小三角形,然后去掉中间的那一个小三角形。
接下来对其余三个小三角形重复上述操作,如图所示。
问题三:其他分形曲线或图形。
分形曲线还有很多,教材介绍了科赫曲线,其他还有皮亚诺曲线、分形树、康托(G. Cantor)三分集、Julia集、曼德布罗集合(Mandelbrot set),等等。
这方面的资料很多(如),请分析构图原理并用MATLAB 实现。
问题四:模拟掷骰子游戏:掷1000次骰子,统计骰子各个点出现的次数,将结果以下表的形式显示,并绘制出直方图。
(完整word版)matlab经典习题及解答
第1章 MATLAB概论1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么?MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点.1.2 MATLAB系统由那些部分组成?MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。
1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。
1.5 如何启动M文件编辑/调试器?在操作桌面上选择“建立新文件”或“打开文件"操作时,M文件编辑/调试器将被启动.在命令窗口中键入edit命令时也可以启动M文件编辑/调试器.1.6 存储在工作空间中的数组能编辑吗?如何操作?存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。
1。
7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途?命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。
1。
8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的Set Path 菜单项来完成。
在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。
MATLAB期末大作业模板
MATLAB应用技术期末大作业专业:姓名:学号:分数一、在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。
请写下完整代码,展示图形结果。
(请标注题图和坐标轴,用不同颜色和不同线型分别绘制以上曲线)。
(15分)二、某公司员工的工资计算方法如下。
(1)工作时数超过120小时者,超过部分加发15%。
(2)工作时数低于60小时者,扣发700元。
(3)其余按每小时84元发。
根据员工的工时数,计算应发工资。
请写下完整的程序代码,并任意输入一工时数(使用input 函数),将结果展示(使用disp 函数)利用该代码进行计算工资,请写下计算结果。
(15分)三、编写一个函数文件,使其能够产生如下的分段函数:⎪⎩⎪⎨⎧≥<<≤-=66225.0,25.05.15.0)(x x x x xx f请编写完整的函数文件(保存函数文件名为hanshu.m ),并编写脚本文件代码,任意输入x 值(使用input 函数),在脚本文件中调用函数文件求)(x f ,展示结果(使用disp 函数),请写下计算结果。
(15分)四、将5个学生的6门功课的成绩存入矩阵P 中,进行如下处理:(1)分别求每门课的最高分、最低分及相应学生的序号。
(2)分别求每门课的平均分和标准差。
(3)5门课总分的最高分、最低分及相应学生序号。
(4)将5门课总分按从大到小顺序存入score 中,相应学生序号存入num 。
请将各小题的运行代码完整写下来,并写下运行结果。
(20分)五、请利用所学的MATLAB 知识,自主设计一个图形用户界面,请完整记录它的设计过程,需提供文字、代码和图片,以充分说明设计的图形用户界面可实现的功能。
(35分)。
利用MATLAB生成Word文档【范本模板】
function ceshi_Word%利用MATLAB生成Word文档% ceshi_Word%% Copyright 2009 — 2010 xiezhh。
%$Revision:1。
0。
0。
0 $$Date: 2009/12/14 12:37:00 $% 设定测试Word文件名和路径filespec_user = [pwd '\测试。
doc’];% 判断Word是否已经打开,若已打开,就在打开的Word中进行操作,否则就打开Wordtry% 若Word服务器已经打开,返回其句柄WordWord = actxGetRunningServer(’Word。
Application’);catch% 创建一个Microsoft Word服务器,返回句柄WordWord = actxserver(’Word.Application’);end;%设置Word属性为可见Word.Visible = 1; % 或set(Word,'Visible',1);%若测试文件存在,打开该测试文件,否则,新建一个文件,并保存,文件名为测试。
doc if exist(filespec_user,'file’);Document = Word.Documents.Open(filespec_user);% Document = invoke(Word。
Documents,’Open’,filespec_user);elseDocument = Word。
Documents。
Add;%Document = invoke(Word.Documents, 'Add’);Document。
SaveAs(filespec_user);endContent = Document.Content; %返回Content接口句柄Selection = Word。
Selection; %返回Selection接口句柄Paragraphformat = Selection.ParagraphFormat;%返回ParagraphFormat接口句柄% 页面设置Document.PageSetup。
matlab综合大作业(附详细答案)
m a t l a b综合大作业(附详细答案)-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII《MATLAB语言及应用》期末大作业报告1.数组的创建和访问(20分,每小题2分):1)利用randn函数生成均值为1,方差为4的5*5矩阵A;实验程序:A=1+sqrt(4)*randn(5)实验结果:A =0.1349 3.3818 0.6266 1.2279 1.5888-2.3312 3.3783 2.4516 3.1335 -1.67241.2507 0.9247 -0.1766 1.11862.42861.5754 1.6546 5.3664 0.8087 4.2471-1.2929 1.3493 0.7272 -0.6647 -0.38362)将矩阵A按列拉长得到矩阵B;实验程序:B=A(:)实验结果:B =0.1349-2.33121.25071.5754-1.29293.38183.37830.92471.65461.34930.62662.4516-0.17665.36640.72721.22793.13351.11860.8087-0.66471.5888-1.67242.42864.2471-0.38363)提取矩阵A的第2行、第3行、第2列和第4列元素组成2*2的矩阵C;实验程序:C=[A(2,2),A(2,4);A(3,2),A(3,4)]实验结果:C =3.3783 3.13350.9247 1.11864)寻找矩阵A中大于0的元素;]实验程序:G=A(find(A>0))实验结果:G =0.13491.25071.57543.38183.37830.92471.65461.34930.62662.45165.36640.72721.22793.13351.11860.80871.58882.42864.24715)求矩阵A的转置矩阵D;实验程序:D=A'实验结果:D =0.1349 -2.3312 1.2507 1.5754 -1.29293.3818 3.3783 0.9247 1.6546 1.34930.6266 2.4516 -0.1766 5.3664 0.72721.2279 3.1335 1.1186 0.8087 -0.66471.5888 -1.67242.4286 4.2471 -0.38366)对矩阵A进行上下对称交换后进行左右对称交换得到矩阵E;实验程序:E=flipud(fliplr(A))实验结果:E =-0.3836 -0.6647 0.7272 1.3493 -1.29294.2471 0.80875.3664 1.6546 1.57542.4286 1.1186 -0.1766 0.9247 1.2507-1.6724 3.1335 2.4516 3.3783 -2.33121.5888 1.2279 0.6266 3.3818 0.13497)删除矩阵A的第2列和第4列得到矩阵F;实验程序:F=A;F(:,[2,4])=[]实验结果:F =0.1349 0.6266 1.5888-2.3312 2.4516 -1.67241.2507 -0.17662.42861.5754 5.3664 4.2471-1.2929 0.7272 -0.38368)求矩阵A的特征值和特征向量;实验程序:[Av,Ad]=eig(A)实验结果:特征向量Av =-0.4777 0.1090 + 0.3829i 0.1090 - 0.3829i -0.7900 -0.2579 -0.5651 -0.5944 -0.5944 -0.3439 -0.1272-0.2862 0.2779 + 0.0196i 0.2779 - 0.0196i -0.0612 -0.5682 -0.6087 0.5042 - 0.2283i 0.5042 + 0.2283i 0.0343 0.6786 0.0080 -0.1028 + 0.3059i -0.1028 - 0.3059i 0.5026 0.3660 特征值Ad =6.0481 0 0 0 00 -0.2877 + 3.4850i 0 0 00 0 -0.2877 - 3.4850i 0 00 0 0 0.5915 00 0 0 0 -2.30249)求矩阵A的每一列的和值;实验程序:lieSUM=sum(A)实验结果:lieSUM =-0.6632 10.6888 8.9951 5.6240 6.208710)求矩阵A的每一列的平均值;实验程序:average=mean(A)实验结果:average =-0.1326 2.1378 1.7990 1.1248 1.24172.符号计算(10分,每小题5分):1)求方程组20,0++=++=关于,y z的解;uy vz w y z w实验程序:S = solve('u*y^2 + v*z+w=0', 'y+z+w=0','y,z');y= S. y, z=S. z实验结果:y =[ -1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))-w] [ -1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))-w] z =[ 1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))] [ 1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))]2)利用dsolve 求解偏微分方程,dx dyy x dt dt==-的解; 实验程序:[x,y]=dsolve('Dx=y','Dy=-x')实验结果:x =-C1*cos(t)+C2*sin(t)y = C1*sin(t)+C2*cos(t)3.数据和函数的可视化(20分,每小题5分):1)二维图形绘制:绘制方程2222125x y a a +=-表示的一组椭圆,其中0.5:0.5:4.5a =;实验程序:t=0:0.01*pi:2*pi; for a=0.5:0.5:4.5; x=a*cos(t); y=sqrt(25-a^2)*sin(t); plot(x,y) hold on end实验结果:2) 利用plotyy 指令在同一张图上绘制sin y x =和10x y =在[0,4]x ∈上的曲线;实验程序:x=0:0.1:4; y1=sin(x); y2=10.^x;[ax,h1,h2]=plotyy(x,y1,x,y2); set(h1,'LineStyle','.','color','r'); set(h2,'LineStyle','-','color','g'); legend([h1,h2],{'y=sinx';'y=10^x'});实验结果:3)用曲面图表示函数22z x y =+;实验程序:x=-3:0.1:3; y=-3:0.1:3; [X,Y]=meshgrid(x,y); Z=X.^2+Y.^2; surf(X,Y,Z)实验结果:4)用stem 函数绘制对函数cos 4y t π=的采样序列;实验程序:t=-8:0.1:8;y=cos(pi.*t/4); stem(y)实验结果:4. 设采样频率为Fs = 1000 Hz ,已知原始信号为)150π2sin(2)80π2sin(t t x ⨯+⨯=,由于某一原因,原始信号被白噪声污染,实际获得的信号为))((ˆt size randn x x+=,要求设计出一个FIR 滤波器恢复出原始信号。
MATLAB大作业
M A T L A B大作业作业要求:(1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。
(2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。
打印稿不要求MATLAB程序,但电子稿要包含MATLAB程序。
(3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。
90问题五:利用MATLAB软件绘制一朵鲜花,实现一定的仿真效果。
提示:二维/三维绘图,对花瓣、花蕊、叶片、花杆等的形状和颜色进行详细设置。
第二类:插值与拟合。
(B级)问题一:有人对汽车进行了一次实验,具体过程是,在行驶过程中先加速,然后再保持匀速行驶一段时间,接着再加速,然后再保持匀速,如此交替。
注意,整个实验过程中从未减速。
在一组时间段50个时间点的速度。
(2)绘制插值图形并标注样本点。
问题二:估算矩形平板各个位置的温度。
已知平板长为5m,宽为3m,平板上3×5栅格点上的温度值为44,25,20,24,30;42,21,20,23,38;25,23,19,27,40。
(1)分别使用最近点插值、线性插值和三次样条插值进行计算。
(2)用杆图标注样本点。
(3)绘制平板温度分布图。
对a,b,c,d的值。
提示:曲线拟合并绘图分析第三类:定积分问题。
(B级)问题一:地球密度随着离中心(r=0)距离的变化而变化,不同半径处的密度如表所示,试估问题二:河道平均流量Q(m3/s)可使用速度和深度的乘积的积分来计算(河道横截面不规则),公式如下。
其中V(x)是离岸x(m)距离处的水速(m/s),H(x)是离岸x距离处的水深(m)。
根据收集到过5(1(2(3(Q,单位是m(1(2(1(2(3)将节点1的力改为方向向上,计算这种改变对H2和V2的影响。
(4)将节点1的力撤销,而在节点1和2处施加1500N的水平外力,求节点3处垂直反作用力(V3)。
MATLAB大作业
MATLAB大作业作业要求:(1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。
(2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。
打印稿不要求MATLAB程序,但电子稿要包含MATLAB 程序。
(3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。
不要抄袭复制,可以参考网上、文献资料的内容,但要理解,要变成自己的语言,按自己的思路组织内容。
(4)从给出的问题中至少选择一题(多做不限,但必须独立完成,严禁抄袭)。
(5)大作业占过程考核的20%,从完成情况、工作量、作业文档方面评分。
第一类:绘制图形。
(B级)问题一:斐波那契(Fibonacci)螺旋线,也称黄金螺旋线(Golden spiral),是根据斐波那契数列画出来的螺旋曲线,自然界中存在许多斐波那契螺旋线的图案,是自然界最完美的经典黄金比例。
斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契螺旋线,如图所示。
问题二:绘制谢尔宾斯基三角形(Sierpinskitriangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集。
其生成过程为:取一个实心的三角形(通常使用等边三角形),沿三边中点的连线,将它分成四个小三角形,然后去掉中间的那一个小三角形。
接下来对其余三个小三角形重复上述操作,如图所示。
问题三:其他分形曲线或图形。
分形曲线还有很多,教材介绍了科赫曲线,其他还有皮亚诺曲线、分形树、康托(G. Cantor)三分集、Julia集、曼德布罗集合(Mandelbrot set),等等。
这方面的资料很多(如/content/16/0103/14/5315_525141100.shtml),请分析构图原理并用MATLAB实现。
MATLAB期末大作业模版
学号:《MATLAB》期末大作业学院土木工程与建筑学院专业班级姓名指导教师李琳2018年5月16日题目2:问题描述:在[0 2π]范围内绘制二维曲线图y=cos(5x)*sin(x)(1)问题分析这是一个二维绘图问题,先划定x的范围与间距,再列出y的表达式,利用plot函数绘制二维曲线。
(2)软件说明及源代码>> x = 0:pi/10:2*pi;>>y = cos(5*x).*sin(x);>>plot(x,y)(3)实验结果题目4:问题描述:创建符号函数并求解,要求写出步骤和运行结果(1)创建符号函数f=ax2+bx+c(2)求f=0的解(1)问题分析这是一个符号函数显示以及符号函数的求解问题,第一问先定义常量与变量,在写出f表达式,利用pretty函数显示f。
第二问利用solve函数求解f=0时的解。
(2)软件说明及源代码第一问>> syms a b c x;>> f=a*x^2+b*x+c;>> pretty(f)第二问>>syms a b c x;>>f=a*x^2+b*x+c;>> solve(f)(3)实验结果1、2、题目5:问题描述:求积分(1)问题分析这是一个利用符号函数求积分的问题,先定义变量x,再列出I1表达式,利用int函数求在范围0到Pi/2上的积分。
(2)软件说明及源代码>> syms x;>> I1=(1-2*sin(2*x))^0.5;>> int(I1,0,0.5*pi)(3)实验结果题目6:问题描述:分别随机产生一个6×6的整数矩阵(元素可在[-20,20]之间),求该随机阵的秩,特征值和特征向量。
(1)问题分析这是一个矩阵运算问题,先利用rand函数产生一个6*6的元素在-20到20之间的整形矩阵,再利用rank、eig两个函数分别求该随机阵的秩,特征值和特征向量。
matlab的大作业
华东交通大学matlab 大作业(matlab在信号与系统中的应用)班级:姓名:学号:前言此次的大作业内容是matlab在信号与系统中的应用。
在信号与系统中有各种各样的信号还有系统要分析,而matlab特别适用与信号通过系统的分析。
而且本人对于matlab在信号与系统中的运用蛮感兴趣的,况且当初学习时对于其在信号与系统中的运用不是很了解,故借此机会,也顺便再系统地学习和掌握matlab在信号与系统的运用。
这次设计的程序主要是围绕用matlab求解信号与系统中一些信号描述、零输入响应的求解、冲激响应的求解、卷积的计算、零状态响应的求解、傅里叶的分析(包括方波分解为正弦波之和非周期信号的频谱分析,以及用傅里叶变换计算滤波器的响应和输出)。
接下来就描述一下设计的程序。
一、程序描述Chengxu1是对于信号与系统中的一些信号的描述。
包括单位冲激函数、单位阶跃函数、复数指数信号。
程序中,t0,tf,dt,分别指的是t的起点、终点、间隔。
t1指的是在冲激函数在t1处冲激,在t1处是阶跃函数的转折点。
用matlab来描述这些信号,是根据这些信号的特点来一一描述的。
而且此次的画图用的是stairs而不是plot。
是因为要描述的是连续信号中的不连续点,故用stairs,若要波形光滑些,则用plot效果更好一些。
就如冲激函数和阶跃函数的波形对比如下(此处所取的是t0=0,tf=5,dt=0.05,t1=1):用plot所画用stairs所画此外,复数指数信号可以分解为余弦和正弦信号,他们分别是复数信号的是实部和虚部,即相位差为90度。
图如下(此处alpha=-0.5,w=10):Chengxu2是求解LTI 系统的零输入,题型为:描述n 阶线性时不变连续系统的微分方程为已知y 及其各阶导数的初始值为 求系统的零输入响应。
可以根据具体的函数求解其零输入。
Chengxu3是求解阶LTI 系统的冲激响应,是求解系统函数为: 的冲激响应。
MATLAB大作业
M A T L A B大作业(总15页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--MATLAB大作业作业要求:(1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。
(2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。
打印稿不要求MATLAB程序,但电子稿要包含MATLAB程序。
(3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。
不要抄袭复制,可以参考网上、文献资料的内容,但要理解,要变成自己的语言,按自己的思路组织内容。
(4)从给出的问题中至少选择一题(多做不限,但必须独立完成,严禁抄袭)。
(5)大作业占过程考核的20%,从完成情况、工作量、作业文档方面评分。
第一类:绘制图形。
(B级)问题一:斐波那契(Fibonacci)螺旋线,也称黄金螺旋线(Golden spiral),是根据斐波那契数列画出来的螺旋曲线,自然界中存在许多斐波那契螺旋线的图案,是自然界最完美的经典黄金比例。
斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契螺旋线,如图所示。
问题二:绘制谢尔宾斯基三角形(Sierpinskitriangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集。
其生成过程为:取一个实心的三角形(通常使用等边三角形),沿三边中点的连线,将它分成四个小三角形,然后去掉中间的那一个小三角形。
接下来对其余三个小三角形重复上述操作,如图所示。
问题三:其他分形曲线或图形。
分形曲线还有很多,教材介绍了科赫曲线,其他还有皮亚诺曲线、分形树、康托(G. Cantor)三分集、Julia集、曼德布罗集合(Mandelbrot set),等等。
MATLAB 大作业
MATLAB 大作业请各位同学,自己完成matlab 大作业的内容。
禁止相互抄袭,如有雷同,零分计算。
大作业的格式按照实验报告的格式书写,务必标明题号,作业完成后,将生成的报告打印出来提交。
正文的字号以宋体五号字,1.5倍行距的格式打印。
请与18周五前将大作业报告由班级负责人统一收齐交给我,过期不收。
1、 试编写名为test01.m 的MATLAB 函数,用以计算下述的值:⎪⎩⎪⎨⎧-<->=t t n t t t n t f 的对所有其他情况的对所有)4/sin()(si )4/sin()sin()4/sin()(si )4/sin()(ππππ要绘制t 关于函数f (t )的图形,其中t 的取值范围为ππ66≤≤-t ,间距为10/π。
(提示:注意要产生一系列的点,这里可考虑t 的输入是向量形式,可以利用find 函数找出所需限定值的元素的位置,对其按需要赋值后,再进行绘图;其次,另外一种思路,也可考虑使用循环的形式来实现)2、 编写函数,在同一窗口的4个子图中利用plot 等语句绘制y=at 2图像,其中a=[1 2 5 10],t 范围[-2,5]。
3、 求函数32)(3-+=x x x f 在区间[-5,5]上的最大值和最小值。
4、 求解函数⎰102dx e x 的数值积分和符号积分,并比较结果。
5、 求解微分方程3|;1|2)1(002='='=''+==x x y y y x y x 的精确解和解析解,并绘制图形。
假设求解区间为[0,10] 。
6、 说说你对MATLAB 及应用这门课程学习后的体会,另外请说明在所学章节中哪一章的内容你最感兴趣,为什么?哪一章的内容你认为是没有必要学习的,为什么?如果可以选择MATLAB 的学习的内容的话,谈谈你所期望学到的知识类别的前三种。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2014年春季学期MATLAB 课程考查题一.必答题 (80分)1.如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有何区别?(2)答:方法一:在MATLAB命令窗口中输入editpath或pathtool命令或通过【File】/【SetPath】菜单,进入“设置搜索路径”对话框,通过该对话框编辑搜索路径。
方法二:在命令窗口执行“path(path,…D:\Study ‟)”,然后通过“设置搜索路径”对话查看“D:\Study”是否在搜索路径中。
方法三:在命令窗口执行“addpath D:\Study- end”,将新的目录加到整个搜索路径的末尾。
如果将end改为begin,可以将新的目录加到整个搜索路径的开始。
区别:当前文件目录是正在运行的文件的目录,显示文件及文件夹的详细信息,且只有将文件设置为当前目录才能直接调用。
搜索路径中的文件可以来自多个不同目录,在调用时不用将其都设置为当前目录,为同时调用多个文件提供方便。
2.创建符号变量和符号表达式有哪几种方法?(4)答:定义符号变量:方法一:sym函数,可以定义单个符号变量,调用格式为:符号量名=sym('符号字符串');方法二,syms函数,定义多个符号变量,调用格式:syms 符号变量名1 符号变量名2 符号变量名3 符号变量名4 。
空格隔开。
定义符号表达式:方法一:用单引号定义符号表达式;方法二:用sym函数定义符号表达式;方法三:用已经定义好的符号变量组成符号表达式;3.GUIDE提供哪些常用的控件工具,各有什么功能?(5分)答:一、控件风格和外观(1)BackgroundColor:设置控件背景颜色,使用[R G B]或颜色定义。
(2)CData:在控件上显示的真彩色图像,使用矩阵表示。
(3)ForegroundColor:文本颜色。
(4)String属性:控件上的文本,以及列表框和弹出菜单的选项。
(5)Visible:控件是否可见。
二、对象的常规信息(1)Enable属性:表示此控件的使能状态,设置为on”,表示可选,为“off”时则表示不可选。
(2)Style:控件对象类型。
(3)Tag:控件表示(用户定义)。
(4)TooltipString属性:提示信息显示。
当鼠标指针位于此控件上时,显示提示信息。
(5)UserData:用户指定数据。
(6)Position:控件对象的尺寸和位置。
(7)Units:设置控件的位置及大小的单位(8)有关字体的属性,如 FontAngle, FontName等。
三、控件回调函数的执行(1)BusyAction:处理回调函数的中断。
有两种选项:即Cancel:取消中断事件,queue:排队(默认设置)。
(2)ButtonDownFcn属性:按钮按下时的处理函数。
(3)CallBack属性:是连接程序界面整个程序系统的实质性功能的纽带。
该属性值应该为一个可以直接求值的字符串,在该对象被选中和改变时,系统将自动地对字符串进行求值。
(4)CreateFcn:在对象产生过程中执行的回调函数。
(5)DeleteFcn:删除对象过程中执行的回调函数。
(6)Interruptible属性:指定当前的回调函数在执行时是否允许中断,去执行其他的函数。
四、控件当前状态信息(1)ListboxTop:在列表框中显示的最顶层的字符串的索引。
(2)Max:最大值。
(3)Min:最小值。
(4)Value:控件的当前值。
4. 建立不同数据类型的变量:包括双精度的数值型(numeric)、符号型(sym)、结构体(structure)、单元型(cell)、字符串型(char),函数句柄(function handle)、逻辑型(logical ),并且采用whos 列出各变量名,变量的数组维数,占用字节数,变量的类别。
(4分)答: pp=3.14;b=sym('sdlfkjj');d={[],[1];'cv',linspace(1,5,5)}; e='e'; fhandle=@sin;g = rand(5); g(g>0)=0; whosName Size Bytes Class Attributespp 1x1 8 double b 1x1 62 sym d 2x2 320 cell e 1x6 12 char fhandle 1x1 16 function_handle g 5x5 200 double5.求⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=728365219a 矩阵的秩,迹,特征值和特征向量,并且对矩阵进行LU 分解、QR 分解及Chollesky 分解(3分)。
答:>> a=[9 1 2;5 6 3;8 2 7];z=rank(a)j=trace(a)[c d]=eig(a)[l u]=lu(a)[q r]=qr(a)[rr p]=chol(a)z =3j =22c =-0.4330 -0.2543 -0.1744-0.5657 0.9660 -0.6091-0.7018 0.0472 0.7736d =13.5482 0 00 4.8303 00 0 3.6216l =1.0000 0 00.5556 1.0000 00.8889 0.2041 1.0000u =9.0000 1.0000 2.00000 5.4444 1.88890 0 4.8367q =-0.6903 0.3969 -0.6050 -0.3835 -0.9097 -0.1592 -0.6136 0.1221 0.7801 r =-13.0384 -4.2183 -6.8260 0 -4.8172 -1.0807 0 0 3.7733 rr =3.0000 0.3333 0.6667 0 2.4267 1.1447 0 0 2.2903 p = 06. 执行矩阵A 和B⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321,136782078451220124B A 下列的运算:A+5*cos(B)、A.*B 、 A*B 、A./B 、B.\A 、A/B, B\A ,分别解释数组运算和矩阵运算的区别。
(4分)答:>> A=[4 12 20;12 45 78;20 78 136]; B=[1 2 3;4 5 6;7 8 9]; A+5*cos(B) A.*B A*B A./B B.\A A/BB\Aans =6.7015 9.9193 15.05008.7318 46.4183 82.800923.7695 77.2725 131.4443ans =4 24 6048 225 468140 624 1224ans =192 228 264738 873 10081284 1518 1752ans =4.0000 6.0000 6.66673.0000 9.0000 13.00002.8571 9.7500 15.1111ans =4.0000 6.0000 6.66673.0000 9.0000 13.00002.8571 9.7500 15.1111Warning: Matrix is singular to working precision.ans =NaN -Inf InfNaN NaN NaNNaN -Inf InfWarning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 1.541976e-018. ans =11.3333 24.5000 65.6667-18.6667 -28.0000 -93.333310.0000 14.5000 47.0000区别:一维数组相当于向量,二维数组相当于矩阵.所以矩阵是数组的子集●数组的运算是指数组对应元素之间的运算,也称点运算;●矩阵是一个二维数组,所以矩阵的加、减、数乘等运算与数组运算是一致的;●矩阵的乘法、乘方和除法有特殊的数学含义,并不是数组对应元素的运算。
7.求半径为r的圆的面积和周长,分别采用脚本文件和函数文件进行编写, r值由input指令从键盘给出,数据的输出采用disp指令;并且说明脚本式文件和函数文件的特点。
(5分)答:脚本文件:r=input('Please Input r: \n');A=pi*r^2;s=2*pi*r;disp(A);disp(s)Please Input r:450.265525.1327函数:r=input('Please Input r: \n');[a s]=zm(r);disp(a);disp(s);Please Input r: 450.2655 25.1327函数文件:function[a s]=zm(r)a=r^2*pi; s=2*pi*r; end区别:8. 级数求和:641111111n(1)261263*(631)64*(641)n ss n ===++++++++∑(1) 分别用 for 和while 循环结构编写程序求和,并且说明for 和while 区别;答:for 循环:>> ss=0; for k=1:64ss=ss+1/(k*(k+1)); end ss ss =脚本式M 文件函数式M 文件不接受输入参数,没有返回值。
可以接受输入参数,可以有返回值。
基于matlab 基本工作空间中的数据进行操作,存储在工作空间,属于全局变量。
默认时,文件中参数的作用范围只限于函数临时工作空间内部,属于局部变量。
自动完成需要花费很多时间的多步操作时使用。
扩展MATLAB 语言功能时使用。
0.9846while循环:>> ss=0;k=1;while k<65ss=ss+1/(k*(k+1));k=k+1;endssss =0.9846区别:●for循环语句一般适用于已知到循环次数,而不知道循环运算目标的问题;●while循环语句则一般适用于已知循环运算目标,而循环次数未知的问题;●为了提高代码的运行效率,应尽可能提高代码的向量化程度,避免 for循环的使用。
(2) 分别采用sum和symsum求和。
(5分)答:sum求和:n=1:64;s=1./(n.*(n+1));sum(s)ans =0.9846symsum求和:ss=sym('1/(n*(n+1))');s=symsum(ss,1,64)s =64/659. 表1给出x0,y0的一组数据,(1)分别采用3阶和11阶多项式拟合表1数据,并且分析是不是阶数越高拟合效果越好;x0=0:0.1:1;y0=[-0.447 1.978 3.11 5.25 5.02 4.66 4.01 4.58 3.45 5.35 9.22];x=0:0.001:1;p1=polyfit(x0,y0,3);y1=polyval(p1,x);p2=polyfit(x0,y0,11);y2=polyval(p2,x);plot(x0,y0, 'p');hold on;plot(x,y1,'-');plot(x,y2,'--');z=0:0.25:1;y3=interp1(x0,y0,z,'spline');plot(z,y3,':')xlabel('x0');ylabel('y0');legend('原数据','3阶多项式拟合','11阶多项式拟合','3次样条插值');可见,插值次数太高会使得波动太大。