当前位置:文档之家› matlab上机习题详解_试题答案

matlab上机习题详解_试题答案

P 第一次实验答案1. 设要求以0.01秒为间隔,求出y 的151个点,并求出其导数的值和曲线。

clc clearx=0:0.01:1.5;y=sqrt(3)/2*exp(-4*x).*sin(4*sqrt(3)*x+pi/3)y1=diff(y) subplot(2,1,1) plot(x,y)subplot(2,1,2) plot(x(1:150),y1)2绘制极坐标系下曲线(a,b,n 自定数据)clc clear a=10; b=pi/2; n=5;theta=0:pi/100:2*pi; rho=a*cos(b+n*theta); polar(theta,rho)3. 列出求下列空间曲面交线的程序clc clearx=[-5:0.5:5];[X,Y]=meshgrid(x); z1=X.^2-2*Y.^2;z2=X.*2-Y.*3; xlabel('x') ylabel('y') zlabel('z') surf(X,Y,z1) hold onsurf(X,Y,z2)k=find(abs(z1-z2)<0.5); x1=X(k) y1=Y(k)z3=x1.^2-2*y1.^2 hold onplot3(x1,y1,z3,'*')4、设 ⎥⎦⎤⎢⎣⎡++=)1(sin 35.0cos 2x x x y 把x=0~2π间分为101点,画出以x 为横坐标,y为纵坐标的曲线,要求有图形标注。

clc clearx=-2*pi:0.1: 2*pi;y=cos(x).*(0.5+sin(x)*3./(1+x.^2)); plot(x,y,'b*-'); title('绘图'); xlabel('x 坐标'); ylabel('y 坐标'); legend('原函数')gtext('y=cos(x)(0.5+3*sin(x)/(1+x^2))')5、求下列联立方程的解 81025695832475412743-=+-+-=-+-=++-=--+w z y x w z x w z y x w z y xclc cleara=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10];b=[4,-3,9,-8]; c=b/a; x=c(1,1) y=c(1,2) z=c(1,3) w=c(1,4)6. 假设一曲线数据点为x = 0:2:4*pi;y = sin(x).*exp(-x/5);试将x 的间距调成 0.1,采用不同插值方法进行插值,并通过子图的形式将不同插值结果和原始数据点绘制在同一图形窗口。

clc clearx=0:2:4*pi;y=sin(x).*exp(-x./5); x1=0:0.1:4*pi;y01=interp1(x,y,x1,'spline'); y02=interp1(x,y,x1,'cubic'); y03=interp1(x,y,x1,'nearest'); y04=interp1(x,y,x1); subplot(3,2,1); plot(x,y,'o-'); title('Ô-º¯Êý'); subplot(3,2,2); plot(x1,y01,'gx-'); title('spline'); subplot(3,2,3); plot(x1,y02,'m+-'); title('cubic'); subplot(3,2,4); plot(x1,y03,'r*-'); title('nearest'); subplot(3,2,5); plot(x1,y04,'kd-'); title('line');⎪⎭⎫⎝⎛+⋅=-334sin 234πt e y t ()θρn b a +=cos 2212y x z -=y x z 322-=第二次试验答案1、编制m文件,等待键盘输入,输入密码20120520,密码正确,显示输入密码正确,程序结束;否则提示,重新输入。

cleara=input('输入密码:')while a~=20120520disp('密码错误,请重新输入:')cleara=input('输入密码:')endif a==20120520disp('密码输入正确!')end2、编写一个函数实现以下功能:a. 若没有实参输入变量,则用蓝色实线画出半径为1的圆;b.若有两个实参输入变量N,R,则用蓝色实线画出外接半径为R的正N多边形;d. 若有两个实参输出变量,则分别输出正多边形的面积S和周长L。

g. 如果输入变量多于三个或输出变量多于两个则给出错误提示信息。

(提示:外接半径为R的正N多边形参数式:t=0:2*pi/N:2*pi;x=R*sin(t);y=R*cos(t)当N ≥100时,可看作是半径为R的圆)function [S,L]=shiyan22(N,R,str)switch nargincase 0N=100;R=1;str='-b';case 1R=1;str='-b';case 2 str='-b';case 3;otherwiseerror('输入量太多。

');end;t=0:2*pi/N:2*pi;x=R*sin(t);y=R*cos(t);if nargout==0plot(x,y,str);elseif nargout>2error('输入量太多。

');elseS=N*R*R*sin(2*pi/N)/2;L=2*N*R*sin(pi/N);plot(x,y,str)endaxis equal squarebox on3、编写一个学生成绩管理的程序,完成下列功能:(1) 构造一个学生结构,包括学生的姓名,课程名称(限M门),考试成绩和平均值等域;(2) 从键盘上,连续输入N个学生的情况,分别将这些学生的情况填入到相应的域,若域中没有值即为空或0,并分别计算其平均值写入到其平均值域。

(3) 根据平均值排序(由高到低),并输出学生的姓名和平均值。

clcclearn=input('please input students number:'); for x=1:nnumber(x)=struct('name','','Curriculum1','' ,'Curriculum2','','Curriculum3','','Average ','');endfor i=1:nnumber(i).name=input('name:','s');number(i).Curriculum1=input('pleaseinput the scores\nCurriculum1:');number(i).Curriculum2=input('Curriculum2:') ;number(i).Curriculum3=input('Curriculum3:') ;number(i).Average=(number(i).Curriculum1+nu mber(i).Curriculum2+number(i).Curriculum3)/ 3;disp('the average is:')disp(num2str(number(i).Average))endNameCell=cell(1,n);Array=[1,n];for i=1:nNameCell(1,i)={number(i).name};Array(i)=number(i).Average;endfor j=1:(n-1)iptr = j;for i=(j+1):nif Array(i)>Array(iptr) %比较相邻前后大小¡iptr=i;endendif j~=iptr %若后面比前面大,互换Name=NameCell(1,i);NameCell(1,i)=NameCell(1,j);NameCell(1,j)=Name;average=Array(i);Array(i)=Array(j);Array(j)=average;j=1;iptr=j;endenddisp('成绩排序如下:')for i=1:ndisp(strcat('名次: ',num2str(i),' 名字',NameCell(1,i),' 平均成绩:',num2str(Array(i))))end4、使用句柄图像对象绘制曲线:y=2e-0.5x cos(πx),同时对曲线进行标注和修饰。

x=-12:0.02:12y=2*exp((-0.5)*x).*cos(pi*x)h_f=figure('Position',[200 300 300300],'menubar','none')h_a1=axes('position',[0.1,0.1,.8,.8])h_t=title(h_a1,'函数=2*exp((-0.5)*x).*cos(pi*x)')h_1=line(x,y)set(gca,'xtick',[(-6)*pi (-4)*pi (-2)*pi 0 (2)*pi (4)*pi (6)*pi])set(gca,'xticklabel',{'(-6)*pi',' (-4)*pi', '(-2)*pi', '0', '(2)*pi', '(4)*pi','(6)pi'}) set(gca,'xgrid','on','ygrid','on')set(h_1,'linewidth',2)set(get(h_t,'parent'),'color','y')h_anm1=annotation(gcf,'rectangle',[0.10.5 .80.4],'FaceAlpha',.7,'FaceColor','red')第三次试验答案1、做一个带按钮的界面,当按动“播放”按钮时调入声音文件并播放,显示声音波形,并建立一个用于关闭界面的按钮对象。

相关主题