matlab 大作业
MATLAB大作业
1.设计一个程序,要求用户用键盘输入10次,输入内容可以是数字、英文、汉字、或者
其他文字或者符号。
如果输入的是数字,则把存入一个数字数组当中;如果输入的是英文的字符,则存入一个英文字符数组当中;如果是其他字符,则存入一个字符串数组中。
当10次内容都输入完毕后,先输出英文数组中的内容,然后输出字符串数组中的内容。
如果数字数组中元素数量大于3个,则由数字数组中的数字组成一个a0 X n+a1X n-1+………an=f(X),其中a0…an是数组中第一到最后一个元素,n为元素的个数,并且画出这个函数在区间[0,20]之间的曲线。
如果数字数组中的元素数量小于等于3个,则由数字数组中的数字组成一个a0 X n+a1Y n-1+anZ=0的方程,并且画出这个函数在[0,10]之间的曲线。
具体要求:
(1)画出程序的结构图
(2)画出程序的流程图
(3)每一行或者每一小段都需要标注
(4)附上完整的程序
2.按如下条件,设计一个完整的程序。
(1)有一片草原,草原上有人、狼、羊、鸡和蝗虫生活;
(2)被吃过的草,三年之后可以修复;
(3)一个人一年吃一只羊,10个人一年杀一只狼,一个人一年吃一只鸡;
(4)一头狼一年吃一只羊,一头狼三年成活一个幼崽;
(5)一只羊一年吃掉100平方米的草原;
(6)一只鸡一年吃掉1000只蝗虫;
(7)一只蝗虫一年吃掉一平方米的草原。
按如上条件,模拟出草原及其上述的生物从现在起500年间的状态。
具体要求:
(1)写出具体的解题思路
(2)列出详细的变量表,写出每一个变量的含义
(3)写出完整的程序,最好有图。
Matlab大作业
Matlab 大作业(组内成员:彭超杰、南彦东、江明伟)一、研究模型(电车)通过控制油门(保持一定角度)来调节电动机能输出稳定的转速,从而控制车速稳定。
数学依据说明如下:由图可知存在以下关系:a d a au w k R i dtdi L =++ (w k e d d =) L M M dtdw J-=a m i k M =La m M i k dtdw J -=k为反电势常数,m k为电动机电磁力矩常数,这里忽略阻尼力矩。
d二、数学模型再看整个研究对象,示意图以课本为依据,不同点是这里将数控的进给运动,转换为汽车行驶所需要的扭矩。
(这里不说明扭矩的具体产生过程,仅仅说明输出车轮旋转的角速度w )对照课本不同,() s θ变为()s N ,1221z z w w =,1w 为电动机的转速,2w 为轮胎的转速,1z 为电动机的光轴齿轮的齿数,2z 为与轮胎相连光轴的齿轮齿数。
)(*10110w x w k x ==,121z z k =()c a m m d ba m x K K K k s k k JRs JLs K K K k s G i 1231+++=()ca m m d M K K K k s k k JRs JLs R Ls K s G L 1231)(++++-=同理,忽略电枢绕组的电感L ,简化系统传递函数方框图如下()JRK K K k JR s k k s JR K K K k s G c a m m d ba m x i 121++=()JRK K K k JR s k k s K K K K k s k k Rs R K s G c a m m d c a m m d M L 121121++-=++-=三、系统分析1.分析时间响应其传递函数如下:(1)系统时间响应令τ=0、τ=0.0125、τ=0.025,应用impulse函数,可得到系统单位脉冲响应;应用step函数,可得系统单位跃阶响应。
Matlab大作业
Matlab的基本操作一、使用函数实现对下列矩阵的左旋和右旋以及反转已知答案:如图:矩阵如图矩阵的左旋如图一矩阵的右旋如图二矩阵的左右反转如图三矩阵的上下反转如图四二、已知A=[8 9 5 ] B=[-1 3 -2][36 -7 11] [2 0 3][21 -8 5] [-3 1 9 ]计算:1)A+5*B;2)A*B和A.*B3)A^3和A.^34)A/B和B\A5)[A,B]答案:A=[8 9 5;36 -7 11;21 -8 5];B=[-1 3 -2;2 0 3;-3 1 9];A+5*BA*BA.*BA^3A.^3A/BA\B[A,B]程序运行结果如下:第二章、Matlab程序设计一、已知S=1+2+22+23+…+263求S的值答案:代码如下:ClearClcs=0,j=2for i=1:63s=s+j^iends程序运行结果如下:二、第三章、Matlab绘图一、在同一坐标系中画出下列函数的图像:x2,-x2,xsin(x)在[0,2π]上的函数图像程序代码如下:clearclcx=0:pi/100:2*pi;y1=x.^2;y2=-x.^2;y3=x.*sin(x);title('同一坐标下的函数图像')plot(x,y1,':',x,y2,'h',x,y3,'--')程序运行结果如下:二、绘制极坐标图像:程序代码如下:clearclcx=0:0.01:2*pi;y=2*cos(2*(x-pi/8));title('极坐标图像')xlabel('x')ylabel('y')polar(x,y)程序运行结果如下:第四章、Matlab符号运算一、求函数y=e-x2 的傅立叶变换及其逆变换程序代码如下:clearclcsyms x t;y=exp(-x^2);Ft=fourier(y,x,t)fx=ifourier(Ft,t,x)程序运行结果如下:二、求下列极限值:答案:1、程序代码:clearclcsyms x;s1=sin(2*x)/sin(5*x);limit(s1,x,0)s2=(1+1/x)^(2*x);limit(s2,x,inf)程序运行结果如下:第五章、Matlab数值运算一、建立一个3*4阶随机矩阵,求矩阵的最大值、最小值、方差和标准差、极差、协方差,和自相关阵程序代码如下:clearclcA=rand(3,4)B=var(A)C=std(A)D=range(A)E=cov(A)F=corrcoef(A)程序运行结果如下:二、求函数f(x)=x3-2x+1在x=[-1 1]之间的极小值和x=-1附近的零点程序代码如下:clearclc[x,y]=fminbnd('x.^3-2.*x+1',-1,1)[x,y]=fzero('x.^3-2.*x+1',-1)程序运行结果如下:第六章、Matlab图形用户界面一、建立一个具有三个输入框的窗口对话框程序代码如下:clearclcprompt={'姓名','年龄','班级'};DTitle='注册学生信息';line[1;1;1];def{'乔阳','18','100412105'};info=inputdlg(prompt,DTitle,line,def,'ON')程序运行结果如下:二、设计一个表现下载进度的进度条程序代码如下:clearclch = waitbar(0,'正在下载,请稍等……');for i=1:1000waitbar(i/10000,h)endclose(h)程序运行结果如下:第七章、Matlab Simulink 仿真一、仿真信号x(t)=sin(t)sin(10t)的波形仿真步骤:1.建立模型窗口:生成无标题(intitled)的模型窗口;2.添加信号源模块(sine)、输出模块(scope)、数学模块(Dot product)3.设置模块参数:如下图:4.编辑模块即将各个模块连接起来。
matlab大作业实验报告
matlab大作业学号姓名:年级:专业:1、产生一个10 10的随机矩阵A,要求A中元素均为整数,范围[1,50]。
1)求出A中所有元素之和S,平均值M。
2)找到所有小于平均值,且能被3整除的元素。
3)绘制出A的二维纵向柱状图,横坐标为[8 5 9 1 2 3 4 7 10 13],条形宽度为0.7的“stacked”样式。
代码如下:clc,clear all,close allA=round(rand(10,10)*50);disp(A)S=sum(sum(A));P=mean(mean(A));disp(S)disp(P)disp('所有小于平均数且能被三整除的元素')XPS=H((mod(H,3)==0)&(H<P));disp(XPS')subplot(1,1,1),bar(A,0.7,'stacked'),title('ygh');set(gca,'XTickLabel',{'8','5','9','1','2','3','4','7','10','13'})2、产生一个随机四位密码。
用户用“input”进行输入对比。
猜错提示“WRONG”,正确提示“RIGHT”同时退出程序,最多五次机会。
代码如下:clc,clear all,close alldisp('请输入密码')A=round(8999*rand(1,1))+1000;m=1;while m<=5N=input('请输入一个四位数:');if A==N;disp('RIGHT');breakelsedisp('WRONG');endm=m+1;enddisp('密码是:')disp(A)disp('输入结束')3、按照脚本文件的编程风格,用for和while循环嵌套输出如下的乘法口诀表。
matlab课程设计大作业
matlab课程设计大作业一、教学目标本课程的教学目标是使学生掌握MATLAB基本语法、编程技巧以及MATLAB 在工程计算和数据分析中的应用。
通过本课程的学习,学生将能够熟练使用MATLAB进行简单数学计算、线性方程组求解、函数图像绘制等。
1.掌握MATLAB基本语法和编程结构。
2.了解MATLAB在工程计算和数据分析中的应用。
3.熟悉MATLAB的函数库和工具箱。
4.能够使用MATLAB进行简单数学计算。
5.能够使用MATLAB求解线性方程组。
6.能够使用MATLAB绘制函数图像。
7.能够利用MATLAB进行数据分析和处理。
情感态度价值观目标:1.培养学生对计算机辅助设计的兴趣和认识。
2.培养学生团队合作和自主学习的能力。
二、教学内容本课程的教学内容主要包括MATLAB基本语法、编程技巧以及MATLAB在工程计算和数据分析中的应用。
1.MATLAB基本语法:介绍MATLAB的工作环境、基本数据类型、运算符、编程结构等。
2.MATLAB编程技巧:讲解MATLAB的函数调用、脚本编写、函数文件编写等编程技巧。
3.MATLAB在工程计算中的应用:介绍MATLAB在数值计算、线性方程组求解、图像处理等方面的应用。
4.MATLAB在数据分析中的应用:讲解MATLAB在数据采集、数据分析、数据可视化等方面的应用。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合的方式进行教学。
1.讲授法:通过讲解MATLAB的基本语法、编程技巧以及应用案例,使学生掌握MATLAB的基本知识和技能。
2.案例分析法:通过分析实际工程案例,使学生了解MATLAB在工程计算和数据分析中的应用。
3.实验法:安排上机实验,使学生在实际操作中巩固所学知识,提高实际编程能力。
四、教学资源本课程的教学资源包括教材、实验设备、多媒体资料等。
1.教材:选用《MATLAB教程》作为主要教材,辅助以相关参考书籍。
2.实验设备:为学生提供计算机实验室,配备有MATLAB软件的计算机。
MATLAB期末大作业
1.龟兔赛跑本题旨在可视化龟兔赛跑的过程。
比赛的跑道由周长为P面积为A的矩形构成。
每单位时间,乌龟沿跑道缓慢前进一步,而兔子信心满满,每次以一个固定的概率决定走或不走。
如果选择走,就从2-10步中等概率选择一个步长。
每个单位时间用一个循环表示。
赛跑从矩形跑道左上点(0,0)开始,并沿顺时针方向进行。
不管是乌龟或兔子,谁先到达终点,比赛就告结束。
要求:编写MATLAB程序可视化上述过程。
程序以P,A以及兔子每次休息或前进的概率为输入参量。
程序必须可视化每个时刻龟兔赛跑的进程,并以红色“*”表示乌龟,蓝色的“—”表示兔子。
测试时可取P=460,A=9000。
通过上述例子,可否从理论和实验角度估计兔子休息或前进的概率,是的兔子和乌龟在概率意义下打平手。
2.黄金分割Fibonacci数列F n通过如下递推格式定义F n=F n-1+F n-2,其中F0=F1=1要求:1.计算前51项Fibonacci数,并存入一个向量2.利用上述向量计算比值F n/F n-13.验证该比值收敛到黄金比例(1+5)/23.图像处理此题旨在熟悉图像处理的基本操作,请各位自己选择一张彩色图像pMATLAB以三维数组读取一张彩图。
该彩图上每个像素位置分别存放一个取值0-255的三维向量,其三个分量分别表示该点的红(R)绿(G)蓝(B)强度信息。
要求:编写MATLAB程序,读入原始彩色图像,并且在一个图形窗口界面下显示六张图像。
这六张图分别是原始RGB彩图,及其5各变形:RBG,BRG,BGR,GBR和GRB。
每张子图要求以其对应变形命名。
最后将图像以a.jpg形式保存并黏贴至报告中。
提示:imread, imshow, cat。
MATLAB大作业
贵州大学实验报告姓名学号实验组实验时间指导教师成绩实验项目名称MATLAB大作业实验通过综合考察,让同学们能对学到的知识综合运用,更好地灵活地解决问题目的实验利用matlab提供的一些函数实现数据分析和数值计算。
原理实验运行MATLAB7.0或以上的计算机一台仪器实验内容实验数据1、试编写名为test01.m的MATLAB函数,用以计算下述的值:⎪⎩⎪⎨⎧-<->=ttntttntf的)4/sin()(si对所有)4/sin(其他情况)sin(的)4/sin()(si对所有)4/sin()(ππππ要绘制t关于函数f(t)的图形,其中t的取值范围为ππ66≤≤-t,间距为10/π。
(提示:注意要产生一系列的点,这里可考虑t的输入是向量形式,可以利用find函数找出所需限定值的元素的位置,对其按需要赋值后,再进行绘图;其次,另外一种思路,也可考虑使用循环的形式来实现)①test01.m代码如下:function y=test01(t)if sin(t)>sin(pi/4)y=sin(pi/4);elseif sin(t)<sin(-pi/4)y=sin(-pi/4);elsey=sin(t);end②调用test01函数计算值③绘制t关于函数f(t)的图形,其中t的取值范围为ππ66≤≤-t,间距为10/π代码如下:t=-6*pi:pi/10:6*pi;y=sin(t);y(find(y>sin(pi/4)))=sin(pi/4);%f(t)=sin(pi/4),y>sin(pi/4) y(find(y<sin(-pi/4)))=sin(-pi/4);%f(t)=sin(pi/4),y>sin(pi/ 4)plot(t,y) %绘制图形title('t from -6{\pi} to 6{\pi}') %添加图形标题xlabel('t') %x轴标签ylabel('f(t)') %y轴标签实验结果:2、编写函数,在同一窗口的4个子图中利用plot等语句绘制y=at2图像,其中a=[1 2 5 10],t范围[-2,5]。
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大作业题目
一、 程序分析题1、命令窗口中输入如下命令,在%号后写出每行命令的功能。
(不用写出运算结果) A=1; f0=4; phi=pi/3; w0=2*pi*f0;t=0:0.01:1; %__________________________________________ y=A*cos(w0*t+phi) ;axis off %__________________________________________ PT=plot(t,y); %__________________________________________ set(PT,’LineWidth ’,[5]); %__________________________________________ AX=gca; %__________________________________________ set(AX,’FontSize ’,14); %__________________________________________ axis square %__________________________________________ xlabel(‘时间[s]’); %__________________________________________ T=title(‘余弦波’) %__________________________________________ set(T,’FontSize ’,’16’); %__________________________________________ legend(‘cos ’); %__________________________________________ grid on %__________________________________________二、 程序设计题2、已知两个矩阵:3765213100132610A ---⎡⎤⎢⎥---⎢⎥=⎢⎥-⎢⎥-⎣⎦,1468237021570010B ⎡⎤⎢⎥⎢⎥=⎢⎥--⎢⎥-⎣⎦将矩阵A 中所有等于-1的元素改为3,将矩阵B 中等于0的元素值改为新的矩阵A 中相应位置元素的值,最后将新的矩阵A 的第三、四列的元素全改为-1,编写相应的程序。
MATLAB大作业
1. 某控制系统为单位负反馈系统,其开环传递函数为:()()10.5KG s s s =+。
(1) 要求设计一校正装置,使校正后系统的静态速度误差系数20v K >,超调量%15%σ<,调整时间5s t s <,同时使用Simulink 仿真(示波器)验证。
(2) 绘制校正前后系统的根轨迹。
解:1)查看符合条件的zeta 。
zeta=0:0.001:0.99;sigma=exp(-zeta*pi./sqrt(1-zeta.^2))*100; plot(zeta,sigma) xlabel('\zeta'); ylabel('\sigma');title('\sigma%=e^{-\zeta*\pi/sqrt(1-\zeta^2)}*100%', 'fontsize',16) gridz=spline(sigma,zeta,15)运行结果: z=0.5169σ与ζ的关系曲线如图1-1图1-12)求系统期望主导极点sigma=0.15;zeta=((log(1/sigma))^2/((pi)^2+(log(1/sigma))^2))^(1/2);wn=1/zeta;p=[1 2*zeta*wn wn*wn];s=roots(p)运行结果:s = -1.0000 + 1.6560i,-1.0000 - 1.6560i3)查看根轨迹G0=tf([1],[0.5 1 0]);rlocus(G0);sgrid(.5169,[])根轨迹如图1-2和局部放大根轨迹图1-3图1-2图1-3读出增益为1.88,则校正前系统的稳态误差Kv=1.88/1=1.88。
按要求,偶极子的零点和极值比值应为20/1.88=10.6383,取Zc=0.01,Pc=0.01/11=0.0009,因此校正环节为0009.0)01.0(88.1)(++=s s s Gc4)得出校正后的系统,并进行验证。
matlab期末大作业题目及答案
matlab 期末大作业(30分,每题6分)1. 积分运算(第四数值和五章符号)(1)定积分运算:分别采用数值法(quad ,dblquad )和符号运算(syms, int )一重定积分π⎰1. 数值法(quad )a) 运行代码:b) 运行结果:2. 符号运算(syms )a) 运行代码:b) 运行结果:二重定积分112200()x y dxdy+⎰⎰1.数值法(dblquad):a)运行代码:b)运行结果:2.符号运算(syms):a)运行代码:b)运行结果:(2) 不定积分运算sin dxdy ⎰⎰((x/a)+b/y) i.运行代码:ii.运行结果:2. 用符号法和数值法求解线性代数方程 (第五章和第二章)⎩⎨⎧=+=+12*22x *213*12x *a11y a a y a (1) 用syms 定义待解符号变量x,y 和符号参数a11,a12,a21,a22,用符号solve 求x,y 通解 1. 运行代码:2. 运行结果:(2) 用subs 带入a11=2,a12=4,a21=6,a22=8,求x 和y 特解,用vpa 输出有效数值4位的结果 1. 运行代码:2. 运行结果:(3) 采用左除(\)和逆乘法求解符号参数赋值后的方程 ⎩⎨⎧=+=+12*8x *63*4x *2y y1. 运行代码:2. 运行结果:3.数值法和符号法求解非线性方程组(第四数值和五章符号 )(1)采用数值法(fsolve )求解初始估计值为x0 = [-5; -5]的数值解1. 运行代码:2. 运行结果:21x 21x 21e x 2x e x x 2--=+-=-(2)符号法(solve )的符号结果用eval 或double 转化为数值结果.1. 运行代码:2. 运行结果:4. 解二阶微分方程 (第四数值和五章符号 )⎪⎩⎪⎨⎧===++6)0(',0)0(09322y y y dx dy dx y d(1)数值ode 求特解,用plot (x,y) 画t 在[0,10]范围内(x ,y )数值曲线 1. 运行代码:2. 运行结果:(2)符号运算dsolve求通解,用ezplot画t在[0,10]范围内(x,y)符号曲线1. 运行代码:2. 运行结果:5. 三维绘图(第六章)已知:x和y都在[-8,8]范围内,采用subplot(3,1,x)绘制三个子图,它们分别是用meshgrid和mesh绘制网格图、用c=contour 绘制等位线和用surf 绘制曲面图1.运行代码:2.运行结果:。
MATLAB大作业
实验七图像的形态学运算一、实验目的1.掌握图像的奇异值分解与合成2.能够利用模板操作实现图像的腐蚀运算3.能够利用模板操作实现图像的膨胀运算4.掌握图像的开、闭运算二、实验内容1. 读下面的程序,分析该程序要完成什么样的功能。
A=[1 2 1;2 3 2;1 2 1];[u d v]=svd(A);[nx,ny]=size(A);I=eye(nx,nx);for i=nx:-1:2I(i,i)=0;endB=u*I*d*v';BX=imread('cameraman.bmp');X=double(X);A=X(20:256,20:256);[nx,ny]=size(A);I=eye(nx,nx);for i=nx:-1:21I(i,i)=0;end[u d v]=svd(A);B=u*I*d*v';A=uint8(A);`B=uint8(B);subplot(2,2,1);imshow(A)subplot(2,1,2);imshow(B)该程序的功能是对图像分别进行膨胀和腐蚀的操作!2. 利用模板操作,编写程序实现二值图像的腐蚀运算函数imerode的功能。
程序:a=imread('D:\005.bmp');b=~a;m=[1;1;1];n=[1 1 0];p=[0 0 0;0 1 0;0 0 0];q=[0 0 1;0 0 0;1 0 0];c1=imerode(b,m);c2=imerode(b,n);c3=imerode(b,p);c4=imerode(b,q); subplot(1,5,1);imshow(b)subplot(1,5,2);imshow(c1)subplot(1,5,3);imshow(c2)subplot(1,5,4);imshow(c3)subplot(1,5,5);imshow(c4)3. 利用模板操作,编写程序实现二值图像的膨胀运算函数imdilate的功能。
MATLAB大作业
若系统是完全可控的,则可引入状态反馈调节器,且:
u v Kx
这时,闭环系统的状态空间模型为: (A BK)x Bu x y Cx 系统方框图如下:
此时,相稳定裕量Pm=46.7deg,满足题目中430<γ<480的要求。
(5)计算校正后系统阶跃响应曲线及其性能指标。 程序如下: % BodeJiaoZheng4 % 系统校正后性能指标及阶跃响应曲线 global y t; k0=1000;n1=1;d1=conv([1 0],[1 2]); s1=tf(k0*n1,d1); n2=[0.05443 1];d2=[0.009339 1]; s2=tf(n2,d2); sope=s1*s2; sys=feedback(sope,1); step(sys); %绘制阶跃响应曲线 [y,t]=step(sys); % 求出阶跃响应的函数值及其对应时间 [sigma,tp,ts]=ste(y,t) % 调用函数ste()
1 s(s 2)
2)作原系统的波特图与阶跃响应曲线,检查是否满足要求。
在MATLAB命令窗口输入:(SysExpBode.M) >>k0=1000;n1=1;d1=conv([1 0],[1 2]); [mag,phase w]=bode(k0*n1,d1); s1=tf(k0*n1,d1); figure(1);
根据校正后的结构与参数,调用函数ste(),给出上述例题系统的性 能指标及阶跃响应曲线。程序如下:
%计算系统超调量,峰值时间,调节时间。 global y,t s1=tf(20700,[1 20 75 0]); s2=tf([1 3.841],[1 73.12]); sope=s1*s2;sys=feedback(sope,1); step(sys) [y,t]=step(sys); [sigma,tp,ts]=ste(y,t) 运行该程序,可得到系统的阶跃响应曲线,并有系统性能指标: 超调量:sigma=0.2489<30% 峰值时间:tp=0.2209 调节时间:ts=0.3037<0.5s
matlab大作业例子
Matlab作业题目1:(1)程序部分:>> x=0:pi/50:2*pi;>> y=cos(0.5+((3*sin(x))./(1+x.^2))); >> plot(x,y)>> xlabel('x');>> ylabel('y');>> title('x-y');(2)运行结果截图:(1)程序部分:>> clear>> clc>> x=0:pi/100:4*pi;>> y1=sin(x);>> y2=cos(x);>> plot(x,y1,'r-',x,y2,'g:') >> hold on>> y3=x(find(abs(y1-y2)<0.001)); >> plot(y3,sin(y3),'*')(2)运行结果截图:(1)程序部分:>> t=(0:2*pi/100:2*pi)'; >> y1=sin(t)*[1,-1]; >> y2=sin(t).*sin(9*t); >> subplot(2,1,1);>> plot(t,[y1,y2]);>> subplot(2,1,2);>> plot(t,[y1,y2]) (2)运行结果截图:题目4(1)程序部分:>> t=0:pi/50:4*pi;>> y=exp(-t/3);>> y0=exp(-t/3).*sin(3*t); >> plot(t,y,'r-',t,y0,'b:') >> xlabel('\bf\it t')>> ylabel('\bf\it y')>> grid on;(2)运行结果截图:题目5(1)程序部分:>> n=0;>> sum=0;>> while sum<2000n=n+1;sum=sum+n;end>> n(2)运行结果截图:题目6(1)程序部分:for j=1:3n=input('n='); sum=0;for i=1:na=1/(i.^2);sum=sum+a;endPI=sqrt(6*sum) end(2)运行结果截图:题目7(1)程序部分:n0=0;y0=0;while 3*y0<5n0=n0+1;y0=y0+1/(2*n0-1);y=y0-1/(2*n0-1);n=n0-1;endn(2)运行结果截图:题目8(1)程序部分:for i=1:7x=input('put x:');if x<0&x~-3y=x^2+x-6;elseif x>=0&x<5&x~=3&x~=2 y=x*x-5*x+6;elsey=x*x-x-1;endend(2)运行结果截图:题目9①switch语句(1)程序部分:>> score=input('请输入成绩'); switch fix(score/10)case {9,10}disp('A');case {8}disp('B');case {7}disp('C');case {6}disp('D');case {0,5}disp('E');otherwisedisp('error');end(2)运行结果截图:如右图②if语句(1)程序部分:score=input('请输入成绩:') n=score/10;if n>=9&n<10disp Aelseif n>=8&n<9disp Belseif n>=7&n<8disp Celseif n>=6&n<7disp Delseif n>=0&n<6disp Eelsedisp errorend(2)运行结果截图:题目10(1)程序部分:t=input('员工的工作时间:')if t<60m=84*t-700;elseif t>120m=84*(t-120)*1.15+84*120;elsem=84*t;endm2)运行结果截图:题目11(1)程序部分:a=round(20*rand(5,6))n=input('请输入n的值:') tryb=a(n,:);catchb=a(5,:);endblasterr(2)运行结果截图:。
matlab大作业1
计算机实习班级:姓名:学号:题目一:使用while循环及for循环计算1+2+3+…+100分析:无。
解答:MATLAB程序:%使用for-end语句>> clear>> sum=0;>> for i=1:1:100sum=sum+i;end>> sumsum =5050%使用while-end语句>> clear>> sum=0;i=0;>> while i<100i=i+1;sum=sum+i;end>> sumsum =5050小结:了解matlab中的基本语句,与C语言中的相关内容进行对比,从而更好的掌握及运用语句。
题目二:圆轮在平面上滚动时,圆周上任一点的轨迹为摆线,圆内任一点的轨迹为内摆线,圆外任一点的轨迹为外摆线,建立模型,并作出图。
分析:建立模型:设r为轮的半径,R为点的半径,则由分析得方程x=rt-Rsinty=r-Rcost;(t为参数)MATLAB程序:t=0:0.1:10;r=1;R=input('R=');x=r*t-R*sin(t); y=r-R*cos(t); plot(x,y),axis('equal');hold ont=0:0.1:10;r=1;R=input('R=');x=r*t-R*sin(t); y=r-R*cos(t); plot(x,y),axis('equal');hold ont=0:0.1:10;r=1;R=input('R=');x=r*t-R*sin(t); y=r-R*cos(t); plot(x,y),axis('equal');hold on令R=1, 0.5, 2,作出如下图形小结:逐渐将matlab应用到解决实际问题当中,了解matlab强大的绘图功能。
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)。
上海电力学院
通信原理Matlab仿真
实验报告
实验名称: 8QAM误码率仿真
试验日期: 2014年 6月3日
专业:通信工程
姓名:罗侃鸣
班级: 2011112班
学号: 20112272
一、实验要求
写MATLAB程序,对图示的信号星座图完成M=8的QAM通信系统Monte Carlo仿真,在不同SNRindB=0:15时,对N=10000(3比特)个符号进行仿真。
画出该QAM系统的符号误码率。
二、实验原理
1 QAM调制原理
QAM(Quadrature Amplitude Modulation)正交幅度调制技术,是用两路独立的基带信号对两个相互正交的同频载波进行抑制载波双边带调幅,利用这种已调信号的频谱在同一带宽内的正交性,实现两路并行的数字信息的传输。
该调制方式通常有8QAM,16QAM,64QAM。
QAM调制实际上就是幅度调制和相位调制的组合,相位+ 幅度状态定义了一个数字或数字的组合。
QAM的优点是具有更大的符号率,从而可获得更高的系统效率。
通常由符号率确定占用带宽。
因此每个符号的比特(基本信息单位)越多,频带效率就越高。
调制时,将输入信息分成两部分:一部分进行幅度调制;另一部分进行相位调制。
对于星型8QAM信号,每个码元由3个比特组成,可将它分成第一个比特和后两个个比特两部分。
前者用于改变信号矢量的振幅,后者用于差分相位调制,通过格雷编码来改变当前码元信号矢量相位与前一码元信号矢量相位之间的相位差。
QAM是一种高效的线性调制方式,常用的是8QAM,16QAM,64QAM等。
当随着M 的增大,相应的误码率增高,抗干扰性能下降。
2 QAM星座图
QAM调制技术对应的空间信号矢量端点分布图称为星座图。
QAM的星座图呈现星状分
层分布,同一层信号点的振幅相同,位于一个圆周上。
常见的调制方式如8QAM,16QAM,
64QAM所对应的星座图中分别有8,16,64个矢量端点。
三、代码
%产生一个8位随机信号
M=8; x=randint(30000,1,M);
%调制
h1=modem.genqammod('Constellation', [1+j*1, -1+j*1, ...
1+3^0.5, -1-j*1, 1-j*1, -1-3^0.5, j*(1+3^0.5),
-j*(1+3^0.5), ... %构建8QAM调制器对象h1,其星座图符合题目要求
], 'InputType', 'integer');
y=modulate(h1,x);
%调制信号
%设置噪声
snr=0:1:15;
for n=1:length(snr);
%经过高斯信道
ynoisy=awgn(y,snr(n),'measured');
%解调经过高斯信道后的信号
h2=modem.genqamdemod('Constellation', [1+j*1, -1+j*1, ...
1+3^0.5, -1-j*1, 1-j*1, -1-3^0.5, j*(1+3^0.5),
-j*(1+3^0.5), ... %构建8QAM解调器对象h2
], 'OutputType', 'integer') ;
z=demodulate(h2,ynoisy);
%解调信号
[nErrors(n),BITBER(n)]=biterr(x,z);%计算误码率
end
disp(nErrors);
disp(BITBER);
%画出误码率曲线和星座图
semilogy(snr,BITBER,'-r*');
title('误比特率性能');xlabel('snr(dB)');ylabel('误码率');
legend('仿真误码率');
hold on;
scatterplot(ynoisy);
title('Received?Signal');legend('接收信号','星座点');axis([-5 5 -5
5]);hold off;
hold on;
scatterplot(y);
title('Signal');legend('接收信号','星座点');axis([-5 5 -5 5]);
hold off;
四、实验结果
五、实验心得
通过本次实验让我对QAM的调制与解调有了近一步的了解,对星座图有了一定的了
解并且对于matlab的运用有了更多的经验。
相信这对我的未来有很大的帮助。