MATLAB考试题 2_第1页
MATLAB考试题 2_第2页
MATLAB考试题 2_第3页
MATLAB考试题 2_第4页
MATLAB考试题 2_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、基础篇1设置matlab的工作环境,将工作目录设置为d:work,添加搜索目录d:example设置当前目录:在Matlab工具栏Current Directory中输入或者浏览设置搜索目录命令在资源管理器中创建work文件夹addpath('d:work'); savepath;【也可以在file/ Set Path 路径设置窗口中完成】2在matlab的命令窗口里完成如下计算,其中t的值分别取-1,0,1,表达式如下: 答:>> t=-1 0 1;>> y=sqrt(2)/2*exp(-4*t).*sin(4*sqrt(3*t)+pi/3)y = 1

2、.0e+004 * 1.7063 + 0.9851i 0.0001 0.0000 >>3自行产生一个5行5列的数组,得到最中间的三行三列矩阵。答:>> A=magic(5) A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9>> I=2 3 4;>> J=2 3 4;>> A(I,J)ans = 5 7 14 6 13 20 12 19 21>>4用magic产生一个5*5的矩阵,将这个矩阵的第二行与第三行互换位置答:>>

3、A=magic(5)A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9>> I=1 3 2 4 5;>> J=1 2 3 4 5;>> A(I,J)ans = 17 24 1 8 15 4 6 13 20 22 23 5 7 14 16 10 12 19 21 3 11 18 25 2 9>>5求方程组的根x1+4x2-3x3=22x1+5x2-x3=11x1+6x2+x3=12答:>> clear>> a=1 4 -3;2 5 -1;

4、-1 3 4;>> b=2;11;12;>> x=abx = 2.5526 1.6579 2.39476已知:一个多项式的系数向量是p=1 -6-72 -27,求这个多项式的根。答:>>p=1 -6-72 -27 >> r=roots(p)7已经两个多项式的系数分别是:1 2 3 4和1 4 9 16,请求这两个多项式的乘积,及商和余数。答:>>p1=1 2 3 4;p2=1 4 9 16; >>C=conv(p1,p2) >>q,r=deconv(p1,p2)8给定一个多项式的根是-5 -3+4i -3-4i

5、,求原来的多项式答:>>r=-5 -3+4i -3-4i >>p=poly(r) >>disp(poly2sym(p)9: A=2 3 4;1 5 7;6 2 5用什么函数,保证第一列排序的时候,其他列跟着变化。最后的结果是:1 5 7;2 3 4;6 2 5答:>> A=2 3 4;1 5 7;6 2 5;>> temp,idx=sort(A(:,1);>> A(idx,:)10补充题:电路分析电路分析常常涉及到对方程组的求解,这些方程常常是利用描述电流进入和离开节点的电流方程,或者描述电路中网络回路上的电压的电压方程得

6、出的。下图描述了3个回路电压的方程方程式如下:假设5个电阻值为已知,2个电压值也为已知,求3个电流值。答:A=R1+R2 R2 0;-R2 R2+R3+R4 R4;0 R4 R4+r5;b=V1;0;-V2; >>R=Ab 11自行产生一个5行5列的数组,用两种方法得到最中间的三行三列矩阵。答:>> A=magic(5)A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9>> I=2 3 4;>> J=2 3 4;>> A(I,J)ans = 5 7

7、 14 6 13 2012 19 21 或>> A=magic(5)A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9>> A(1,5,:)=;>> A(:,1,5)=;>> AA = 5 7 14 6 13 20 12 19 2112根据a=reshape(-4:4,3,3)做一个矩阵,然后(1)取出所有大于0的元素构成一个向量(可推广到从一个矩阵里筛选出符合条件的元素组成一个向量)(2)将原矩阵中大于0的元素正常显示,而小于等于0的元素全部用0来表示(可推

8、广到将原矩阵中不符合条件的全用0来表示,符合条件的值不变)。(思考:大于0的正常显示,小于等于0的用-10来表示)答:(1)>>a=reshape(-4:4,3,3) >>pos=(a>0) >>a(pos)(2)>>pos=(a>0) >>a.*pos 13建立如下一个元胞数组,现在要求计算第一个元胞第4行第2列加上第二个元胞+第三个元胞里的第二个元素+最后一个元胞的第二个元素。a=pascal(4),'hello'17.3500,7:2:100答:>> a=pascal(4),'he

9、llo'17.3500,7:2:100>>a1(4,2)+a2+a3(2)+a4(2)14建立一个结构体的数组,包括3个人,字段有姓名,年龄,分数,其中分数由随机函数产生一个3行10列的数据表示了有10门课程,每门课程有三个阶段的分数。问题是:问题1,如何找到第2个人的分数并显示出来问题2,如何找到第2个人的每门课程3个阶段的平均分数并显示出来问题3,全班同学(指这3个学生)的10门课程的每门课程的平均分如何计算出来?要求放到一个数组里。stud=struct('name','Jim','Henry','Smith&#

10、39;,'age',22,18,26,'score',int16(rand(3,10)*100),int16(rand(3,10)*100),int16(rand(3,10)*100)stud(2).scoremean(stud(2).score)mean(stud.score)15给定一个图像文件,格式是jpg,通过inportdata引入这个文件,查看引入后数据保存是一个数组,是100*100*3的一个数组,这是一个三维的数组,表明有100*100个点,每个点有RGB三个方面决定的。现在,要求将这些点的中间部分30个象素宽度的正方形用黑点表示。>>

11、; a=importdata('1.jpg');>> a(160:190,210:240,:)=0;>> image(a)16手动构造一个长宽页是1000*1000*3的图像,每个图像的点有三个0-255之间的随机值构成。然后使用image函数显示这个图像,再用imwrite函数保存这个图像,使这个图像用图片浏览器也能够查看。imgdata=uint8(255*rand(1000,1000,3);image(imgdata)imwrite(imgdata,'myimg.jpg','jpg')17给定一个矩阵a = 1 2

12、3 4 5 6编写一个M函数,要求输入是a,输出有三个:平均数,标准差,秩。程序运行后分析其性能指标(主要从时间上分析)function avg,stdev,r=ourstats(x,tol)m,n=size(x);if m=1m=n;endavg=sum(x)/m;stdev=sqrt(sum(x.2)/m-avg.2);s=svd(x);r=sum(s>tol);>> A=1 2 3;4 5 6A = 1 2 3 4 5 6>> a,s,r=ourstats(A,0.1)a = 2.5000 3.5000 4.5000s = 1.5000 1.5000 1.5

13、000r = 2>> ourstats(A,0.1)ans = 2.5000 3.5000 4.5000>> a,s=ourstats(A,0.1)a = 2.5000 3.5000 4.5000s = 1.5000 1.5000 1.5000>> a,s,r,q=ourstats(A,0.1)? Error using => ourstatsToo many output arguments.18编写一个M函数,将一个给定图片文件里的白色全部换成另一种颜色,比如说:将白色转成黑色。a=importdata('1.jpg')m,n,p=

14、size(a);for i=1:m for j=1:n for k=1:p if a(i,j,k)=255; a(i,j,k)=0; end end endendimage(a)19要求编写一个M函数文件,完成求三角函数,x变化范围从-pi到pi,求出相应的y的值,并画出图,然后使用编译器生成EXE,脱离MATLAB环境运行。x=-pi:0.01:pi; y=sin(x); plot(x,y),grid;20定义一个2*2的元胞数组,放入相应的数据,然后保存到MAT文件中,清除内存后,然后再调入内存。查看数据是否改变。1. A=magic(5);'abc'15;rand(1,1

15、9) save filea.mat clear all load filea.mat21实验用图像:pic.jpg.(注意,此图片是灰度图片,本题是针对灰度图片的处理) 使用imread函数将图像读入Matlab。根据产生灰度变换函数T1,使得:0.3rr < 0.35d = 0.105 + 2.6333(r 0.35)0.35 r 0.651 + 0.3(r 1)r > 0.65用T1对原图像pic.jpg进行处理,查看结果。并打印出来。答img=imread('1.jpg');r=im2double(img);desing=r<0.35.*r*0.3+r&

16、gt;0.65.*(0.3*(r-1)+1)+r<=0.65&r>=0.35.*(0.015+2.663*(r-0.35);image(desing);imwrite(desing,'y.jpg')22自己查阅资料找出中国近10年人口数,制成txt文件,格式如下:1990 11.34561991 12.3566然后将数据引入到内存,并绘制出相应的人口变化曲线图。答:先在WORK中设置横的数据,1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 200011.3456 12.3566 11.3333 12.098

17、7 11.2345 12.8765 12.3795 12.5239 12.6683 11.4637 12.3473>> clear>> load data.txt>> x=data(1,:)x = Columns 1 through 8 1990 1991 1992 1993 1994 1995 1996 1997 Columns 9 through 11 1998 1999 2000>> y=data(2,:)y = Columns 1 through 9 11.3456 12.3566 11.3333 12.0987 11.2345 12.8

18、765 12.3795 12.5239 12.6683 Columns 10 through 11 11.4637 12.3473>> plot(x,y)23使用通用读函数importdata读入一个声音文件hello.wav,将所有的数据反序排列后,播放声音,听效果,最后,将数据保存成另外的的声音文件名helloRev.wav。答:>> snd=importdata('x.wav'); >> sound(snd.data,snd.fs); >>snd.data=snd.data(47541:-1:1) >>wavwr

19、ite(snd.data,snd.fs,'y.wav') >>sound(snd.data,snd.fs);>> snd=importdata('盛夏的果实.wav')snd = data: 42752x1 double fs: 44100>> sound(snd.data,snd.fs)>> snd.data=snd.data(42752:-1:1);>> wavwrite(snd.data,snd.fs,'helloRev.wav')24海尔,联想,方正近四年销售的数据如下。data

20、=3000,2334,3444,6663;2342,3422,2111,4453;3232,2334,5433,3500;请做出如下图表。答>>data=3000,2334,3444,6663;2342,3422,2111,4453;3232,2334,5433,3500;>>subplot(2,2,1 2;bar(data);>>title('各品牌销售比较图');>>legend('2006','2007','2008','2009');>>set(g

21、ca,'xticklabel','海尔''联想''方正')>>grid onM文件:data=3000,2334,3444,6663;2342,3422,2111,4453;3232,2334,5433,3500;bar(data);title('各品牌销售比较图')legend('2006','2007','2008','2009')set(gca,'xticklabel','海尔''联想'

22、'方正')25已知在三维空间里,x,y,z的变化规律如下,试用plot3来做出其图形。z = 0:0.1:40;x = cos(z).2;y = sin(z)+cos(z);答:>>z=0:0.1:40;>>x=cos(z).2;>>y=sin(z)+cos(z);>>subplot(2,2,3 4);>>plot3(x,y,z)>>xlabel('x')>>ylabel('y')>>zlabel('z')>>title(&

23、#39;Spiral Plot-using Plot3')>> z=0:0.1:40;>> x=cos(z).2;>> y=sin(z)+cos(z);>> plot3(x,y,z)26有数据如下:x=-3-2.5-2-1.5-1-0.500.511.522.53;y=-0.14112-0.59847-0.9093-0.99749-0.84147-0.4794300.479430.841470.997490.90930.598470.14112;数据点如下图中兰方块所示,要求编写函数对原数据进行linear和spline一次插值运算,得到

24、结果如下:27在0-450范围内,x,y均每隔50产生一个数,这样产生一个10*10网格区域,用randn函数来产生一个10*10的随机矩阵(标准差是10,平均数是20),使用surf来作出这个三维的曲面图。然后使用interp2进行二次插值,插值函数使用三次杨条插值函数,在原来的第一个分隔区域里产生5个小区域,并最后画出图形。28根据下面的方程绘制图形,y=sin(x)+x,然后再分别用多项式拟合函数和用拟合工具进行拟合。function f3 x=0:1:10; y=sin(x)+x; %5次多项拟合 R5=polyfit(x,y,5);Y5=polyval(R5,x); %11次多项拟合

25、 R11=polyfit(x,y,11) Y11=polyval(R11,x)%绘制曲线 plot(x,y,'g',x,Y5,'r',x,Y11,'b') legend('one','two','three')x=-2*pi:0.3:2*piy=sin(x)+xk5=polyfit(x,y,5)y5=polyval(k5,x)plot(x,y,'g',x,y5).29手动构造一个长宽页是1000*1000*3的图像,每个图像的点有三个0-255之间的随机值构成。然后使用image函数

26、显示这个图像,再用imwrite函数保存这个图像,使这个图像用图片浏览器也能够查看>>a=uint8(255*rand(1000.1000.3); >>image(a) >>imwrite(a.1,'1.jpg','jpg')较难篇1. 根据下面的方程绘制图形,y=cos(x)+x,x取值-pi-pi,然后用多项式拟合函数进行拟合。解:x=-pi:pi/20:piy=cos(x)+xk5=polyfit(x,y,5)newy5=polyval(k5,x)plot(x,y,'k',x,newy5,'r&#

27、39;)Title(多次拟合,Fontsize,14)Legend(原始差距,5次拟合,4) Title('多次拟合','Fontsize',14)Legend('原始差距','5次拟合',4)2.要求编写一个函数文件,将一个给定图片的所有颜色都变深(变深多少自己斟酌),其中黑色为0,白色为255解:a=importdata('cc.jpg')m,n,p=size(a);for i=m:1 for j=n:10 for k=p:10 if a(i,j,k)=255; a(i,j,k)=0; end end ende

28、ndimage(a)3. 根据下面的方程绘制图形,y=cos(2x)+sin(2x),然后用5次多项式进行拟合。解:x=-2*pi:0.1:2*pi;y=cos(2x)+sin(2x);k5=polyfit(x,y,5);k7=polyfit(x,y,7);k9=polyfit(x,y,9);newy5=polyval(k5,x);newy7=polyval(k7,x);newy9=polyval(k9,x);plot(x,y,'k',x,newy5,'r',x,newy7,'b',x,newy9,'g');4.要求编写一个M函数

29、,完成下列函数的求解:ysin(x);ysin(xpi);ysin(xpi3);ysin(xpi/2)自变量x的变化范围从pi到pi,要求四个图像画在同一个图形窗体中。解:x=-pi:0.1:pi;y=sin(x);plot(x,y)subplot(2,2,1)y=sin(x+pi)plot(x,y)subplot(2,2,2)y=sin(x+pi/3)plot(x,y)subplot(2,2,3)x=-pi:0.1:piy=sin(x+pi/2)plot(x,y)subplot(2,2,4)5.M文件的编写计算分段函数 解:function y=f(x)if x=10 y=cos(x+1)+

30、sqrt(x2+1); disp(y);else y=x*sqrt(x+sqrt(x); disp(x);end 6.函数文件的编写编写函数文件,求半径为r的圆的周长和面积。解:function s,p=circle(r)s=pi*r2;p=2*pi*r;7.题目见教材p85,其中的数据可以给出文本文件或者由下面的式子表达a=10*rand(24,1)+15,1*rand(24,1)+30,2*rand(24,1)+45,这是24行3列的一个矩阵,第一列表示温度,第二列表示湿度,第三列表示气压。要求如下:(1) 将温度数据取出(2) 找出一天中最高温度(3) 按温度进行从小到大(默认)排序(4

31、) 求出最高温度的时刻(5) 按温度进行从大到小排序解:1、a(:,1)2、max(a(:,1)3、res,pos=sort(a(:,1); a(pos,:)4、pos(end)5、res,pos=sort(a(:,1); pos2=pos(24:-1:1);a(pos2,:)8.已知Fibonacci (斐波那)数列由式子可以生成,其中初值为,试编写出生成某项Fibonacci 数值的MATLAB 函数,并求的值。解:function Y=fib(k) if (k=1|k=0) Y=1;else Y=fib(k-1)+fib(k-2); end然后在命令窗口输入:fib(20)9.编写M函数

32、,判断给定的三边能够构成一个三角形?并求其周长 解:function y=isTri(a,b,c)if(a+b>c&&b+c>a&&c+a>b) y=true;else y=false;end10.给定一个声音文件,如1.wav,引入这段声音,将音量改为2倍之后,再保存成2.wavfunction myfun1snd=importdata('1.wav');snd.data=snd.data/2sound(snd.data,snd.fs)wavwrite(snd.data,snd.fs,'2.wav');11.画

33、出所表示的三维曲面,x,y的取值范围是-8,8function myfun3x=-8:0.5:8;y=x'X,Y=meshgrid(x,y);Z=sin(sqrt(X.2+Y.2)./(sqrt(X.2+Y.2);surf(X,Y,Z);colormap(cool);xlabel('X');ylabel('Y');zlabel('Z');12.绘制y=sin(2x)的曲线(x从0到2),采用指令方式在图形中:线条颜色为红色;线型为虚线添加网格添加标题“正弦曲线”添加图例“y=sin(2x)”添加坐标轴标签“x或y”>> x=0

34、:0.1:(2*pi);>> y=sin(2*x);>> plot(x,y,'-r')>> grid on>> title('正弦曲线');>> xlabel('x');>> ylabel('y');>> legend('y=sin(2x)');13.某一电力系统信号包含四种类型的信号分量,分别是:基频正弦分量y1=10 sin(2f1t),其中f1=50 Hz;3次谐波分量y2=2 sin(2f2t+j),其中f2=150 Hz,j =0.25;直流分量y3=2;随机扰动分量。试利用SIMULINK建模仿真,并在同一示波器中观察四种类型信号分量及它们叠加信号的波形。14.作出函数的图形,用红十字标出其在0,6之间的最小值点,并在最小值点附近标出该最小值点的坐标值。x=0:.1:6;y=x.4-4.*x.3+3.*x+5;plot(x,y,'g')grid onY,i=min(y);X=0.1*i;hold on plot(X,Y,'r+','linewidth'

温馨提示

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

评论

0/150

提交评论