matlab上机习题详细讲解-试题答案解析_第1页
matlab上机习题详细讲解-试题答案解析_第2页
matlab上机习题详细讲解-试题答案解析_第3页
matlab上机习题详细讲解-试题答案解析_第4页
matlab上机习题详细讲解-试题答案解析_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

./P第一次实验答案1.设要求以0.01秒为间隔,求出y的151个点,并求出其导数的值和曲线。clcclearx=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自定数据clccleara=10;b=pi/2;n=5;theta=0:pi/100:2*pi;rho=a*cos<b+n*theta>;polar<theta,rho>3.列出求下列空间曲面交线的程序clcclearx=[-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>holdonsurf<X,Y,z2>k=find<abs<z1-z2><0.5>;x1=X<k>y1=Y<k>z3=x1.^2-2*y1.^2holdonplot3<x1,y1,z3,'*'>4、设把x=0~2π间分为101点,画出以x为横坐标,y为纵坐标的曲线,要求有图形标注。clcclearx=-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、求下列联立方程的解clccleara=[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,采用不同插值方法进行插值,并通过子图的形式将不同插值结果和原始数据点绘制在同一图形窗口。clcclearx=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'>;第二次试验答案1、编制m文件,等待键盘输入,输入密码20120520,密码正确,显示输入密码正确,程序结束;否则提示,重新输入。cleara=input<'输入密码:'>whilea~=20120520disp<'密码错误,请重新输入:'>cleara=input<'输入密码:'>endifa==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>switchnargincase0N=100;R=1;str='-b';case1R=1;str='-b';case2str='-b';case3;otherwiseerror<'输入量太多。'>;end;t=0:2*pi/N:2*pi;x=R*sin<t>;y=R*cos<t>;ifnargout==0plot<x,y,str>;elseifnargout>2error<'输入量太多。'>;elseS=N*R*R*sin<2*pi/N>/2;L=2*N*R*sin<pi/N>;plot<x,y,str>endaxisequalsquareboxon3、编写一个学生成绩管理的程序,完成下列功能:<1>构造一个学生结构,包括学生的姓名,课程名称〔限M门,考试成绩和平均值等域;<2>从键盘上,连续输入N个学生的情况,分别将这些学生的情况填入到相应的域,若域中没有值即为空或0,并分别计算其平均值写入到其平均值域。<3>根据平均值排序〔由高到低,并输出学生的姓名和平均值。clcclearn=input<'pleaseinputstudentsnumber:'>;forx=1:nnumber<x>=struct<'name','','Curriculum1','','Curriculum2','','Curriculum3','','Average',''>;endfori=1:nnumber<i>.name=input<'name:','s'>;number<i>.Curriculum1=input<'pleaseinputthescores\nCurriculum1:'>;number<i>.Curriculum2=input<'Curriculum2:'>;number<i>.Curriculum3=input<'Curriculum3:'>;number<i>.Average=<number<i>.Curriculum1+number<i>.Curriculum2+number<i>.Curriculum3>/3;disp<'theaverageis:'>disp<num2str<number<i>.Average>>endNameCell=cell<1,n>;Array=[1,n];fori=1:nNameCell<1,i>={number<i>.name};Array<i>=number<i>.Average;endforj=1:<n-1>iptr=j;fori=<j+1>:nifArray<i>>Array<iptr>%比较相邻前后大小¡iptr=i;endendifj~=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<'成绩排序如下:'>fori=1:ndisp<strcat<'名次:',num2str<i>,'名字',NameCell<1,i>,'平均成绩:',num2str<Array<i>>>>end4、使用句柄图像对象绘制曲线:y=2e-0.5xcos<πx>,同时对曲线进行标注和修饰。x=-12:0.02:12y=2*exp<<-0.5>*x>.*cos<pi*x>h_f=figure<'Position',[200300300300],'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>*pi0<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、做一个带按钮的界面,当按动"播放"按钮时调入声音文件并播放,显示声音波形,并建立一个用于关闭界面的按钮对象。〔提示,找一个.wav文件,简单起见可以在windows目录下找一个文件,将其放在当前工作目录下或搜索路径上。具体用法请参照:[y,f,b]=wavread<*.wav'>;%读入声音文件sound<y,f,b> %由声卡播放声音plot<y> %画出波形2、创建一个用于绘图参数选择的菜单对象,其中包含三个选项LineStyle、Marker和Color,每个选项下面又包含若干的子项分别可以进行选择图线的类型、标记点的类型和颜色<每个子项不少于3个>,当按下"绘图"按钮时,根据选项绘制正弦曲线〔缺省时为蓝色无标记实线。〔注意使用全球变量functionvarargout=shiyan32<varargin>%SHIYAN32MATLABcodeforshiyan32.fig%Begininitializationcode-DONOTEDITgui_Singleton=1;gui_State=struct<'gui_Name',mfilename,...'gui_Singleton',gui_Singleton,...'gui_OpeningFcn',@shiyan32_OpeningFcn,...'gui_OutputFcn',@shiyan32_OutputFcn,...'gui_LayoutFcn',[],...'gui_Callback',[]>;ifnargin&&ischar<varargin{1}>gui_State.gui_Callback=str2func<varargin{1}>;endifnargout[varargout{1:nargout}]=gui_mainfcn<gui_State,varargin{:}>;elsegui_mainfcn<gui_State,varargin{:}>;end%Endinitializationcode-DONOTEDIT%Executesjustbeforeshiyan32ismadevisible.functionshiyan32_OpeningFcn<hObject,eventdata,handles,varargin>%Thisfunctionhasnooutputargs,seeOutputFcn.%hObjecthandletofigure%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata<seeGUIDATA>%varargincommandlineargumentstoshiyan32<seeVARARGIN>%Choosedefaultcommandlineoutputforshiyan32handles.output=hObject;%Updatehandlesstructureguidata<hObject,handles>;%UIWAITmakesshiyan32waitforuserresponse<seeUIRESUME>%uiwait<handles.figure1>;globalcc='b'globalll='-'globalmm=''%Outputsfromthisfunctionarereturnedtothecommandline.functionvarargout=shiyan32_OutputFcn<hObject,eventdata,handles>%varargoutcellarrayforreturningoutputargs<seeVARARGOUT>;%hObjecthandletofigure%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata<seeGUIDATA>%Getdefaultcommandlineoutputfromhandlesstructurevarargout{1}=handles.output;%functionUntitled_1_Callback<hObject,eventdata,handles>%hObjecthandletoUntitled_1<seeGCBO>%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata<seeGUIDATA>globall%functionUntitled_8_Callback<hObject,eventdata,handles>%hObjecthandletoUntitled_8<seeGCBO>%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata<seeGUIDATA>globalm%functioncolor_Callback<hObject,eventdata,handles>%hObjecthandletocolor<seeGCBO>%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata<seeGUIDATA>globalc%functionUntitled_14_Callback<hObject,eventdata,handles>%hObjecthandletoUntitled_14<seeGCBO>%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata<seeGUIDATA>globalcc='r'%functionUntitled_15_Callback<hObject,eventdata,handles>%hObjecthandletoUntitled_15<seeGCBO>%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata<seeGUIDATA>globalcc='b'%functionUntitled_16_Callback<hObject,eventdata,handles>%hObjecthandletoUntitled_16<seeGCBO>%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata<seeGUIDATA>globalcc='g'%functionUntitled_17_Callback<hObject,eventdata,handles>%hObjecthandletoUntitled_17<seeGCBO>%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata<seeGUIDATA>globalcc='y'%functionUntitled_10_Callback<hObject,eventdata,handles>%hObjecthandletoUntitled_10<seeGCBO>%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata<seeGUIDATA>globalmm='o'%functionUntitled_11_Callback<hObject,eventdata,handles>%hObjecthandletoUntitled_11<seeGCBO>%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata<seeGUIDATA>globalmm='*'%functionUntitled_13_Callback<hObject,eventdata,handles>%hObjecthandletoUntitled_13<seeGCBO>%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata<seeGUIDATA>globalmm='d'%functionUntitled_4_Callback<hObject,eventdata,handles>%hObjecthandletoUntitled_4<seeGCBO>%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata<seeGUIDATA>globalll='-'%functionUntitled_5_Callback<hObject,eventdata,handles>%hObjecthandletoUntitled_5<seeGCBO>%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata<seeGUIDATA>globalll='--'%functionUntitled_7_Callback<hObject,eventdata,handles>%hObjecthandletoUntitled_7<seeGCBO>%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata<seeGUIDATA>globalll='-.'%Executesonbuttonpressinpushbutton1.functionpushbutton1_Callback<hObject,eventdata,handles>%hObjecthandletopushbutton1<seeGCBO>%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata<seeGUIDATA>globalsgloballglobalmglobalcx=0:0.1:2*pi;y=sin<x>;s=strcat<l,m,c>;plot<x,y,s>2.设和是两个10行10列的矩阵〔数组,试说明命令A*B,A/B,A\B,A.*<B.^A>,A./B,A.\B和sin<A>.*exp<B>的涵义。A,B的矩阵乘法,矩阵A乘以B的逆,矩阵B乘以A的逆,B的每个元素的对应A次幂乘以A对应的每个元素A的每个元素除以B对应的每个元素,B的每个元素除以A对应的每个元素,A的每个元素的正弦与B对应的每个元素的指数求积,3.设A为数组,B为一个行数大于3的数组,请给出〔1删除A的第4、8、12三列的命令;〔2删除B的倒数第3行的命令;〔3求符号极限的命令集;〔4求的3阶导数的命令集;〔5计算定积分的命令,并给出计算结果<!>A<:,[4812]>=[]<2>B<end-2>=[]<3>symsmnxlimit<tan<m*x>/<n*x>>〔4symsxyy=atan<<x+3>/<x-2>>-log<1+exp<<-2>*x>diff<y,3><5>symsxint<<abs<x>+sin<x>>*x^2,-1,1>得分三.基本编程题〔每小题10分,共30分得分1.Writeaprogramtocomputethefollowingexpressions;Here,wesupposethevariablexhasexistedintheworkspace.fori=1:10forj=1:10xbar<i>=xbar<i>+x<i,j>;endxbar<i>=xbar<i>/10;endfori=1:10forj=1:10t1=0;t2=0;t3=0;fork=1:3t1=t1+<x<i,k>-xbar<i>>*<x<j,k>-xbar<j>>;t2=t2+<x<i,k>-xbar<i>>^2;t3=t3+<x<j,k>-xbar<j>>^2;endr2<i,j>=t1/sqrt<t2*t3>;endendr22.<1>Usingplot<>functiontoplotthecurvesofandintherangeof,lettheircolorareredandgreenrespectively,andaddthegridtothefigure.<2>Usingfplot<>functionandezplot<>functiontoplotabove-mentioned<上述的>curvesrespectively.<1>x=-2*pi:pi/100:2*pi;y=<sin<2*x>+cos<3*x>>.*exp<-2*x>;z=sin<x>/x;plot<x,y,’r’,x,z,’g’>〔2fplot<'[<sin<2*x>+cos<3*x>>.*exp<-2*x>,sin<x>/x]',[-2*pi2*pi]>3.Plotthe3Dmeshfigureand3Dsurfacefigureofthefunctionintherangeofand,respectively.x=-4:1/100:4;y=-4:1/100:4;z=9<1-x>^2*exp<-x’^2/2-<y’+1>^2>mesh<x,y,z>;surf<x,y,z>;得分得分四.综合编程题〔每小题11分,共22分1.Writeafunctionprogramtocomputethefollowingfunctionandcallthisfunctionprogramtocomputethevalueofinmainprogramorcommandwindow,there,showsthefactorial<阶乘>of.提示:对x取整的函数有fix<x>,floor<x>,round<x>和ceil<x>.fuctiony=f1<x>%f1.mifx-fix<x>==0y=prod<1:abs<2*x>>;elsey=4*sin<2*x>+x^1.8;y=f1<-4>+f1<3>-f1<14.37>2.Writeaprogramtocomputethesamplemean,andthesampleskewness<偏度>.forthefollowingthreecase:<1>nandexistinWorkspaceofMatlab.Itisnoanylimit;<2>nandareunknownvariables.Pleaseinputxbykeyboardonebyone,andgiveamarkofendthedatainput.Examineescanuseloopstatementandlength<>functionandinput<>function,butcannotusemean<>function,std<>function,andvar<>functiondirectly〔可以使用循环语句和length<>函数、input<>函数等进行编程,但不能直接使用mean<>、std<>和var<>等函数.<1>s=0;fori=1:ns=s+x<i>;endxbar=s/nm=0;fori=1:nm=m+<x<i>-xbar>^3;endske=m/n<2>x<1>=input<'请输入x'>;i=1;s=0;while<x<i>~='a'>s=s+x<i>;i=i+1;x<i>=input<'请输入x,输’a’结束'>;endxbar=s/<i-1>m=0;forj=1:i-1m=m+<x<i>-xbar>^3;endske=m/<i-1>一、填空题1、MATLAB常用操作界面包括命令窗口、工作空间窗口、命令历史窗口、当前目录窗口、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。2、MATLAB中Inf或inf表示无穷大、NaN或nan表示不是一个数、nargout表示函数输出变量数目。3、工作空间浏览器主要用于内存变量的查阅、保持和编辑。4、MATLAB实现将全下标转换为单下标的指令为sub2ind、据单下标换算出全下标的指令为ind2sub。5、MATLAB中clf用于清除图形窗口、clc用于清除指令窗口中显示内容、clear用于清除MATLAB工作空间中保存的变量。二、简答题〔每题5分,共20分1、简述MATLAB历史指令窗的主要作用。答:历史指令窗记录着用户在MATLAB指令窗中所输入过的所有指令。历史记录包括:每次开启MATLAB的时间,每次开启MATLAB后在指令窗中运行过的所有指令。应用功能有单行或多行指令的复制和运行、生成M文件等。2、简述MATLAB函数的基本结构。答:典型M函数文件的结构:函数申明行、H1行、在线帮助文本区、编写和修改记录、函数体。3、简述绘制二维图形的一般步骤。绘制二维图形的一般步骤为:曲线数据准备、选定图形窗及子图位置、调用二维曲线绘图指令、设置轴的范围、坐标分格线、图形注释、图形的精细操作。三、阅读程序并回答问题〔每题4分,共28分1、写出下列指令运行结果。A=zeros<2,4>; A<:>=1:8; s=[235]; A<s> Sa=[102030]' A<s>=Saans=235Sa=102030A=12030710468 2、写出下列指令运行结果。A=reshape<1:16,2,8> reshape<A,4,4> s=; A<s>=0A=13579111315246810121416ans=15913261014371115481216A=00570013152400101200 3、写出下列指令运行结果。A=[1,2;3,4];B=[-1,-2;2,1];S=3;A.*Bans=-1-464A*Bans=305-2S.*Aans=36912S*Bans=-3-6634、下面的函数主要完成什么功能?functionf=factor<n>ifn<=1f=1;elsef=factor<n-1>*n;end利用函数的递归调用求n!5、写出下列指令运行结果。ch=‘ABc123d4e56Fg9’;subch=ch<1:5>revch=ch<end:-1:1>k=find<ch>=‘a’&ch<=‘z’>;ch<k>=ch<k>-<‘a’-‘A’>;char<ch>subch=ABc12revch=9gF65e4d321cBAans=ABC123D4E56FG9ans=46、写出下列指令运行结果。A<1,1>={'thisiscell'};A{1,2}={[123;456]};A{2,1}=[1+2*i];A{2,2}=A{1,2}{1}+<A{1,2}{1}<1,1>+A{1,2}{1}<2,2>>;celldisp<A>A{1,1}=thisiscellA{2,1}=1.0000+2.0000iA{1,2}{1}=123456A{2,2}=7891011127、下面的程序完成功能是什么?t=0:pi/50:4*pi;y0=exp<-t/3>;y=exp<-t/3>.*sin<3*t>;plot<t,y,'-r',t,y0,':b',t,-y0,':b'>xlabel<‘\bf\itt’>;ylabel<‘\bf\ity’>;gridon;绘制图形如下:四、编程题〔32分1、用命令来创建GUI并绘制方程y=ax2+bx+c图形,需要显示绘图结果的坐标系窗口,还能输入a、b、c的值和x的取值范围,同时用命令设置所以对象的属性。2、在同一图上分别用红色实线和绿色虚线绘制y1=sin<x>和y2=cos<x>在区间[0,4*pi]的曲线,并用星号*标出两条曲线的交点以及建立图例。〔5分x=0:0.01:4*pi;y1=sin<x>;y2=cos<x>;z=find<abs<y1-y2><0.007>;plot<x,y1,'r.-','Linewidth',2,'Markersize',1>;axis<[-1.5,15,-1.5,1.5]>;holdonplot<x,y2,'g.:','Linewidth',2,'Markersize',1>;n=size<z>;plot<x<z>,y1<z>,'k*','Markersize',15>;3、某商场对顾客所购买的商品实行打折销售,标准如下<商品价格用price来表示>:price<200没有折扣200≤price<5003%折扣500≤price<10005%折扣1000≤price<25008%折扣2500≤price<500010%折扣5000≤price14%折扣输入所售商品的价格,求其实际销售价格。〔5分price=input<'pleaseinputyourprice:'>;a=0;ifprice<200a=1;elseifprice<500a=2;elseifprice<1000a=3;elseifprice<2500a=4;elseifprice<5000a=5;elsea=6;endswitchacase0disp<'0inputsgiven'>;case1b=price;case2b=0.97*price;case3b=0.95*price;case4b=0.92*price;case5b=0.90*price;case6b=0.86*price;otherwisedisp<'unexpectedinput!'>;endfprintf<'theactaulpriceis%f',b>;4、二阶微分方程x"+0.2x'+0.4x=0.2u<t>,其中u<t>是单位阶跃函数,试建立系统模型并仿真。请编写一个M-函数,用来实现级数和并利用该M-函数计算n=学号末2位数+5,x=n/60时S的值。1.functions=zh<x,n>ifnargin>2,error<'wrong'>;endifnargout>1,error<'wrong'>;endss=1;fort=1:n,ss=ss+<x^t>./<2*t-1>;s=ss;end>>zh<35/60,35>ans=1.7677已知系统的框图如下图所示,请推导出从输入信号r<t>到输出信号y<t>的总系统模型。2.symsG1G2G3G4G5G6G7H1H2H3H4c1=feedback<G4,H4>;c2=feedback<G3*G2,H2>;c3=feedback<G5*c1,H3>;G=feedback<<G6+G7>*c3*c2*G1,H1>已知单位负反馈控制系统的被控对象及控制器的传递函数分别为,试判断系统的稳定性,并用时域响应检验得出的结论。>>s=tf<'s'>Transferfunction:s>>Gs=16*<1+s/2.5>/[s*<1+s/0.5>*<1+s/20>]Transferfunction:6.4s+160.1s^3+2.05s^2+s>>Gc=20*<s+1>*<s+2>/[<s+1.5>*<s+23>]Transferfunction:20s^2+60s+40s^2+24.5s+34.5>>GG=feedback<Gs*Gc,1>Transferfunction:128s^3+704s^2+1216s+6400.1s^5+4.5s^4+182.7s^3+799.2s^2+1251s+640>>eig<GG>ans=-20.1421+34.9785i-20.1421-34.9785i-1.8264+0.5997i-1.8264-0.5997i-1.0630根都有负实部则系统稳定>>step<GG,1>考虑简单的线性微分方程,且方程的初值为y<0>=1,y’<0>=y"<0>=1/2,y<3><0>=0.6,,请用Simulink搭建起系统的仿真模型,并绘制出仿真结果曲线。2.6求的共轭转置。>>x=[4+8i3+5i2-7i1+4i7-5i;3+2i7-6i9+4i3-9i4+4i];>>x’ans=4.0000-8.0000i3.0000-2.0000i3.0000-5.0000i7.0000+6.0000i2.0000+7.0000i9.0000-4.0000i1.0000-4.0000i3.0000+9.0000i7.0000+5.0000i4.0000-4.0000i2.7计算与的数组乘积。>>a=[693;275];>>b=[241;468];>>a.*bans=12363842402.9对于,如果,,求解X。>>A=[492;764;357];>>B=[372628]’;>>X=A\BX=-0.51184.04271.33182.10已知:,分别计算a的数组平方和矩阵平方,并观察其结果。>>a=[123;456;789];>>a.^2ans=149162536496481>>a^2ans=3036426681961021261502.11,,观察a与b之间的六种关系运算的结果。>>a=[123;456];>>b=[8–74;362];>>a>bans=010101>>a>=bans=010101>>a<bans=101010>>a<=bans=101010>>a==bans=000000>>a~=bans=1111112.13在sin<x>运算中,x是角度还是弧度?在sin<x>运算中,x是弧度,MATLAB规定所有的三角函数运算都是按弧度进行运算。2.14角度,求x的正弦、余弦、正切和余切。>>x=[304560];>>x1=x/180*pi;>>sin<x1>ans=0.50000.70710.8660>>cos<x1>ans=0.86600.70710.5000>>tan<x1>ans=0.57741.00001.7321>>cot<x1>ans=1.73211.00000.57742.15用四舍五入的方法将数组[2.45686.39823.93758.5042]取整。>>b=[2.45686.39823.93758.5042];>>round<b>ans=26492.16矩阵,分别对a进行特征值分解、奇异值分解、LU分解、QR分解及Chollesky分解。>>[v,d]=eig<a,b>v=-0.4330-0.2543-0.1744-0.56570.9660-0.6091-0.70180.04720.7736d=13.54820004.83030003.6216>>a=[912;563;827];>>[u,s,v]=svd<a>u=-0.56010.5320-0.6350-0.4762-0.8340-0.2788-0.67790.14620.7204s=15.52340004.56480003.3446v=-0.82750.3917-0.4023-0.3075-0.9156-0.2592-0.4699-0.09070.8781>>[l,u]=lu<a>l=1.0000000.55561.000000.88890.20411.0000u=9.00001.00002.000005.44441.8889004.8367>>[q,r]=qr<a>q=-0.69030.3969-0.6050-0.3835-0.9097-0.1592-0.61360.12210.7801r=-13.0384-4.2183-6.82600-4.8172-1.0807003.7733>>c=chol<a>c=3.00000.33330.666702.42671.1447002.29032.17将矩阵、和组合成两个新矩阵:〔1组合成一个43的矩阵,第一列为按列顺序排列的a矩阵元素,第二列为按列顺序排列的b矩阵元素,第三列为按列顺序排列的c矩阵元素,即〔2按照a、b、c的列顺序组合成一个行矢量,即>>a=[42;57];>>b=[71;83];>>c=[59;62];%<1>>>d=[a<:>b<:>c<:>]d=475586219732%<2>>>e=[a<:>;b<:>;c<:>]'e=452778135692或利用〔1中产生的d>>e=reshape<d,1,12>ans=452778135692第3章数值计算基础3.1将<x-6><x-3><x-8>展开为系数多项式的形式。>>a=[638];>>pa=poly<a>;>>ppa=poly2sym<pa>ppa=x^3-17*x^2+90*x-1443.2求解多项式x3-7x2+2x+40的根。>>r=[1-7240];>>p=roots<r>;-0.21510.44590.79490.27073.3求解在x=8时多项式<x-1><x-2><x-3><x-4>的值。>>p=poly<[1234]>;>>polyvalm<p,8>ans=8403.4计算多项式乘法<x2+2x+2><x2+5x+4>。>>c=conv<[122],[154]>c=17161883.5计算多项式除法<3x3+13x2+6x+8>/<x+4>。>>d=deconv<[31368],[14]>d=3123.6对下式进行部分分式展开:>>a=[134272];>>b=[32546];>>[r,s,k]=residue<b,a>r=1.1274+1.1513i1.1274-1.1513i-0.0232-0.0722i-0.0232+0.0722i0.7916s=-1.7680+1.2673i-1.7680-1.2673i0.4176+1.1130i0.4176-1.1130i-0.2991k=[]3.7计算多项式的微分和积分。>>p=[4–12–145];>>pder=polyder<p>;>>pders=poly2sym<pder>>>pint=polyint<p>;>>pints=poly2sym<pint>pders=12*x^2-24*x-14pints=x^4-4*x^3-7*x^2+5*x3.8解方程组。>>a=[290;3411;226];>>b=[1366]';>>x=a\bx=7.4000-0.2000-1.40003.9求欠定方程组的最小范数解。>>a=[2474;9356];>>b=[85]';>>x=pinv<a>*bx=-0.21510.44590.79490.27073.10有一组测量数据如下表所示,数据具有y=x2的变化趋势,用最小二乘法求解y。x11.522.533.544.55y-1.42.735.98.412.216.618.826.2>>x=[11.522.533.544.55]'>>y=[-1.42.735.98.412.216.618.826.2]'>>e=[ones<size<x>>x.^2]>>c=e\y>>x1=[1:0.1:5]';>>y1=[ones<size<x1>>,x1.^2]*c;>>plot<x,y,'ro',x1,y1,'k'>3.11矩阵,计算a的行列式和逆矩阵。>>a=[42-6;754;349];>>ad=det<a>>>ai=inv<a>ad=-64ai=-0.45310.6562-0.59370.7969-0.84370.9062-0.20310.1562-0.09373.12y=sin<x>,x从0到2,x=0.02,求y的最大值、最小值、均值和标准差。>>x=0:0.02*pi:2*pi;>>y=sin<x>;>>ymax=max<y>>>ymin=min<y>>>ymean=mean<y>>>ystd=std<y>ymax=1ymin=-1ymean=2.2995e-017ystd=0.70713.13,,计算x的协方差、y的协方差、x与y的互协方差。>>x=[12345];>>y=[246810];>>cx=cov<x>>>cy=cov<y>>>cxy=cov<x,y>cx=2.5000cy=10cxy=2.50005.00005.000010.00003.14参照例3-20的方法,计算表达式的梯度并绘图。>>v=-2:0.2:2;>>[x,y]=meshgrid<v>;>>z=10*<x.^3-y.^5>.*exp<-x.^2-y.^2>;>>[px,py]=gradient<z,.2,.2>;>>contour<x,y,z>>>holdon>>quiver<x,y,px,py>>>holdoff3.15有一正弦衰减数据y=sin<x>.*exp<-x/10>,其中x=0:pi/5:4*pi,用三次样条法进行插值。>>x0=0:pi/5:4*pi;>>y0=sin<x0>.*exp<-x0/10>;>>x=0:pi/20:4*pi;>>y=spline<x0,y0,x>;>>plot<x0,y0,'or',x,y,'b'>第4章符号数学基础4.1创建符号变量有几种方法?MATLAB提供了两种创建符号变量和表达式的函数:sym和syms。sym用于创建一个符号变量或表达式,用法如x=sym<‘x’>及f=sym<‘x+y+z’>,syms用于创建多个符号变量,用法如symsxyz。f=sym<‘x+y+z’>相当于symsxyzf=x+y+z4.2下面三种表示方法有什么不同的含义?〔1f=3*x^2+5*x+2〔2f='3*x^2+5*x+2'〔3x=sym<'x'>f=3*x^2+5*x+2〔1f=3*x^2+5*x+2表示在给定x时,将3*x^2+5*x+2的数值运算结果赋值给变量f,如果没有给定x则指示错误信息。〔2f='3*x^2+5*x+2'表示将字符串'3*x^2+5*x+2'赋值给字符变量f,没有任何计算含义,因此也不对字符串中的内容做任何分析。〔3x=sym<'x'>f=3*x^2+5*x+2表示x是一个符号变量,因此算式f=3*x^2+5*x+2就具有了符号函数的意义,f也自然成为符号变量了。4.3用符号函数法求解方程at2+b*t+c=0。>>r=solve<'a*t^2+b*t+c=0','t'>r=[1/2/a*<-b+<b^2-4*a*c>^<1/2>>][1/2/a*<-b-<b^2-4*a*c>^<1/2>>]4.4用符号计算验证三角等式:sin<1>cos<2>-cos<1>sin<2>=sin<1-2>>>symsphi1phi2;>>y=simple<sin<phi1>*cos<phi2>-cos<phi1>*sin<phi2>>y=sin<phi1-phi2>4.5求矩阵的行列式值、逆和特征根。>>symsa11a12a21a22;>>A=[a11,a12;a21,a22]>>AD=det<A>%行列式>>AI=inv<A>%逆>>AE=eig<A>%特征值A=[a11,a12][a21,a22]AD=a11*a22-a12*a21AI=[-a22/<-a11*a22+a12*a21>,a12/<-a11*a22+a12*a21>][a21/<-a11*a22+a12*a21>,-a11/<-a11*a22+a12*a21>]AE=[1/2*a11+1/2*a22+1/2*<a11^2-2*a11*a22+a22^2+4*a12*a21>^<1/2>][1/2*a11+1/2*a22-1/2*<a11^2-2*a11*a22+a22^2+4*a12*a21>^<1/2>]4.6因式分解:>>symsx;>>f=x^4-5*x^3+5*x^2+5*x-6;>>factor<f>ans=<x-1>*<x-2>*<x-3>*<x+1>4.7,用符号微分求df/dx。>>symsax;>>f=[a,x^2,1/x;exp<a*x>,log<x>,sin<x>];>>df=diff<f>df=[0,2*x,-1/x^2][a*exp<a*x>,1/x,cos<x>]4.8求代数方程组关于x,y的解。>>S=solve<'a*x^2+b*y+c=0','b*x+c=0','x','y'>;>>disp<'S.x='>,disp<S.x>>>disp<'S.y='>,disp<S.y>S.x=-c/bS.y=-c*<a*c+b^2>/b^34.9符号函数绘图法绘制函数x=sin<3t>cos<t>,y=sin<3t>sin<t>的图形,t的变化范围为[0,2]。>>symst>>ezplot<sin<3*t>*cos<t>,sin<3*t>*sin<t>,[0,pi]>4.10绘制极坐标下sin<3*t>*cos<t>的图形。>>symst>>ezpolar<sin<3*t>*cos<t>第5章基本图形处理功能5.1绘制曲线,x的取值范围为[-5,5]。>>x=-5:0.2:5;>>y=x.^3+x+1;>>plot<x,y>5.2有一组测量数据满足,t的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线。>>t=0:0.5:10;>>y1=exp<-0.1*t>;>>y2=exp<-0.2*t>;>>y3=exp<-0.5*t>;>>plot<t,y1,'-ob',t,y2,':*r',t,y3,'-.^g'>5.3在5.1题结果图中添加标题,并用箭头线标识出各曲线a的取值。>>title<'\ity\rm=e^{-\itat}'>>>title<'\ity\rm=e^{-\itat}','FontSize',12>>>text<t<6>,y1<6>,'\leftarrow\ita\rm=0.1','FontSize',11>>>text<t<6>,y2<6>,'\leftarrow\ita\rm=0.2','FontSize',11>>>text<t<6>,y3<6>,'\leftarrow\ita\rm=0.5','FontSize',11>5.4在5.1题结果图中添加标题和图例框。>>title<'\ity\rm=e^{-\itat}','FontSize',12>>>legend<'a=0.1','a=0.2','a=0.5'>第1次第2次第3次第4次第5次第6次观测点1367428观测点2673247观测点3972584观测点46432745.5表中列出了4个观测点的6次测量数据,将数据绘制成为分组形式和堆叠形式的条形图。>>y=[3696;6774;7323;4252;2487;8744];>>bar<y>>>bar<y,’stack’>5.6x=[6649715638],绘制饼图,并将第五个切块分离出来。>>x=[6649715638];>>L=[00001];>>pie<x,L>5.7,当x和y的取值范围均为-2到2时,用建立子窗口的方法在同一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。>>[x,y]=meshgrid<[-2:.2:2]>;>>z=x.*exp<-x.^2-y.^2>;>>mesh<x,y,z>>>subplot<2,2,1>,plot3<x,y,z>>>title<'plot3<x,y,z>'>>>subplot<2,2,2>,mesh<x,y,z>>>title<'mesh<x,y,z>'>>>subplot<2,2,3>,surf<x,y,z>>>title<'surf<x,y,z>'>>>subplot<2,2,4>,surf<x,y,z>,shadinginterp>>title<'surf<x,y,z>,shadinginterp'>5.8绘制peaks函数的表面图,用colormap函数改变预置的色图,观察色彩的分布情况。>>surf<peaks<30>>;>>colormap<hot>>>colormap<cool>>>colormap<lines>5.9用sphere函数产生球表面坐标,绘制不通明网线图、透明网线图、表面图和带剪孔的表面图。>>[x,y,z]=sphere<30>;>>mesh<x,y,z>>>mesh<x,y,z>,hiddenoff>>surf<x,y,z>>>z<18:30,1:5>=NaN*ones<13,5>;>>surf<x,y,z>5.10将5.9题中的带剪孔的球形表面图的坐标改变为正方形,以使球面看起来是圆的而不是椭圆的,然后关闭坐标轴的显示。axissquareaxisoff6.3如何设置和获取指定句柄对象的属性值?一图形窗口对象的句柄为h,先查询该窗口对象可以设置的各种属性,再将窗口的灰色背景设置为白色背景。〔1利用set〔句柄,‘属性名称’,属性值语句可以设置指定对象的属性,get〔句柄,‘属性名称’语句可以获得指定对象的属性。〔2>>set<h> Alphamap BackingStore:[{on}|off] CloseRequestFcn:string-or-functionhandle-or-cellarray Color Colormap CurrentAxes CurrentCharacter CurrentObject……从列出的属性内容可以看到,设置背景颜色的属性名为Color,因此>>set<h,’color’,’w’>即可将图形窗口的背景色改为白色。6.4已知三维图形视角的缺省值是方位角为-37.5°,仰角为30°,将观察点顺时针旋转20角的命令是什么?>>view<-57.5,30>6.5画一双峰曲面〔peaks图,加灯光light,改变光源的位置观察图形的变化。>>surf<peaks>>>shadinginterp>>lightingphong>>light<'Position',[-3-21]>;>>light<'Position',[-101]>;6.6在双峰曲面上改变不同的光照模式,观察效果。>>surf<peaks>>>shadinginterp>>light<'Position',[-3-21]>;>>lightingflat>>lightinggouraud>>lightingphong>>lightingnone6.7用subplot语句在一个图形窗口上开多个大小不等的子窗口进行绘图并添加注释,见图。subplot<'position',[0.1,0.15,0.3,0.65]>hist<randn<1,1000>,20>;xlabel<'直方图'>subplot<'position',[0.45,0.52,0.25,0.28]>[xp,yp,zp]=peaks;contour<xp,yp,zp,15,'k'>holdonpcolor<xp,yp,zp>shadinginterpholdoffaxisofftext<-1.2,-4,'伪彩色图'>subplot<'position',[0.72,0.5,0.25,0.3]>sphere<25>;axisequal,axis<[-0.75,0.75,-0.75,0.75,-0.75,0.75]>light<'Position',[132]>;light<'Position',[-3-13]>;materialshinyaxisofftext<-0.8,-0.7,-1,'三维图'>subplot<'position',[0.45,0.15,0.5,0.25]>t=0:pi/15:pi;y=sin<4*t>.*sin<t>/2;plot<t,y,'-bs','LineWidth',2,...%设置线型'MarkerEdgeColor','k',...%设置标记点边缘颜色'MarkerFaceColor','y',...%设置标记点填充颜色'MarkerSize',5>axis<[0,3.14,-0.5,0.5]>xlabel<'带标记点的线图'>subplot<'position',[0.1,0.9,0.8,0.1]>text<0.25,0.2,'多窗口绘图示例',...'fontsize',25,'fontname','隶书','color','b'>axisoff6.8用[c,hc]=contour<peaks<30>>语句绘制双峰曲面的等高线图,通过控制图形句柄的方法将第四条等高线加粗为2磅,将第六条等高线表示为虚线,在第十条等高线上加星号标记[c,hc]=contour<peaks<30>>;6.9做一个花瓶

温馨提示

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

评论

0/150

提交评论