MATLAB 第一次实验课课堂作业
- 格式:doc
- 大小:26.00 KB
- 文档页数:1
《数学实验》报告实验名称MATLAB基础知识______ 学院专业班级姓名学号2012年4月一、【实验目的】1.掌握MATLAB的具体操作与操作键;2.掌握MATLAB中的常用函数与变量、表达式的定义方法;3.掌握MATLAB常用的工作方式M文件的编程工作方式;4.掌握MATLAB语言中的程序结构。
二、【实验任务】完成课后第一章第4题,第二章第1、2、3题,第三章第1题。
三、【实验程序】n? n=20编写函数文件,计算时的表达式的值。
,并求出当1.!k1k?functionf=first(n)f=0;i=1;while i<=ns=prod(1:i);i=i+1;f=f+s;endf2.用不同的数据格式显示自然底数e的值,并分析各个数据格式之间有什么相同于不同之处。
e=exp(1)format short e,eformat long,eformat long e,eformat short g,eformat rat,eformat hex,eformat bank,e134826?????????6AB?6545 3. A*B,A.*B,,计算,并比较两者的区别。
矩阵5????????827392????>> A=[1 2 3;4 5 6;7 8 9]A =21.002.003.004.005.006.007.00 8.00 9.00>> B =4.00 6.00 8.005.00 5.006.003.00 2.00 2.00>> A*B>> A.*B5212????,做简单的关系运算并做逻辑运算4.已知矩阵,?A?B,B,A?,A?BA?B????9921????).?ABB)&((B??)&(A?B),A??(A>> A=[5 2;9 1];B=[1 2;9 2];>>A>B>>A==B>>A<B>> (A==B)&(A<B)>> (A==B)&(A>B)?111?6?为止。
1 + e2 (2) z = 1 ln( x + 1 + x 2 ) ,其中 x = ⎡⎢ 2⎣-0.45 ⎦2 2 ⎪t 2 - 2t + 1 2 ≤ t <3 ⎨实验一MATLAB 运算基础1. 先求下列表达式的值,然后显示 MATLAB 工作空间的使用情况并保存全部变量。
(1) z = 2sin 8501221 + 2i ⎤5 ⎥(3) z = e 0.3a - e -0.3asin(a + 0.3) + ln 0.3 + a ,a = -3.0, - 2.9, L , 2.9, 3.03⎧t 2 0 ≤ t < 1 (4) z = ⎪t 2 - 11 ≤ t <2 ,其中 t=0:0.5:2.5 4⎩解:M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)4.完成下列操作:(1)求[100,999]之间能被21整除的数的个数。
(2)建立一个字符串向量,删除其中的大写字母。
解:(1)结果:m=100:999;n=find(mod(m,21)==0);length(n)ans=43(2).建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:ch='ABC123d4e56Fg9';k=find(ch>='A'&ch<='Z');ch(k)=[]ch=⎣O2⨯3⎥,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩S⎦阵和对角阵,试通过数值计算验证A=⎢⎥。
第一次实验答案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)hold onsurf(X,Y,z2)k=find(abs(z1-z2)<0.5);x1=X(k)y1=Y(k)z3=x1.^2-2*y1.^2hold onplot3(x1,y1,z3,'*')⎪⎭⎫ ⎝⎛+⋅=-334sin 234πt e y t ()θρn b a +=cos 2212y x z -=y x z 322-=4、设 ⎥⎦⎤⎢⎣⎡++=)1(sin 35.0cos 2x x x y 把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、求下列联立方程的解81025695832475412743-=+-+-=-+-=++-=--+w z y x w z x w z y x w z y x 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,采用不同插值方法进行插值,并通过子图的形式将不同插值结果和原始数据点绘制在同一图形窗口。
实验一、MA TLAB基本操作一、实验目的熟悉MA TLAB软件环境,掌握命令窗口的使用。
二、实验内容及步骤1、命令窗口的简单使用(1简单矩阵的输入1 2 3A = 4 5 67 8 9>> A=[1 2 3 ;4 5 6 ;7 8 9 ](2求[12+2×(7-4]÷32的算术运算结果>>[12+2*(7-4]/3^22、有关向量、矩阵或数组的一些运算(1设A=15;B=20;求C=A+B与c=a+b?(2设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与A.*B? (3设a=10,b=20;求i=a/b与j=a\b?(4设a=[1 -2 3;4 5 -4;5 -6 7]请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全下标的形式,并将其单下标转换成全下标。
>> a=[1 -2 3;4 5 -4;5 -6 7];>> [i,j]=find(a<0>>b=find(a<0 >> a(b >> [i,j]=ind2sub(size(a,b (5在MA TLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?>> >>A=[1,2;3,4]+i*[5,6;7,8]A =1.0000 + 5.0000i2.0000 + 6.0000i3.0000 + 7.0000i4.0000 + 8.0000i当输入A=[1,2;3,4]+i[5,6;7,8]显示出错(6请写出完成下列计算的指令:a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?>>a=[1 2 3;3 4 2;5 2 3];a^2 代表两个矩阵相乘ans =22 16 1625 26 2326 24 28>> a.^2 代表A矩阵元素的平方ans =1 4 99 16 425 4 9(7有一段指令如下,请思考并说明运行结果及其原因clearX=[1 2;8 9;3 6];X( : 访问向量是列优先。
实验一 MATLAB 运算基础1、 先求下列表达式得值,然后显示MATLAB 工作空间得使用情况并保存全部变量。
(1) 0122sin 851z e =+(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--L (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0、5:2、5 解:4、 完成下列操作:(1) 求[100,999]之间能被21整除得数得个数。
(2) 建立一个字符串向量,删除其中得大写字母。
解:(1) 结果:(2)、 建立一个字符串向量 例如:ch='ABC123d4e56Fg9';则要求结果就是:实验二 MATLAB 矩阵分析与处理1、 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵与对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。
解: M 文件如下;5、 下面就是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程得解。
(2) 将方程右边向量元素b 3改为0、53再求解,并比较b 3得变化与解得相对变化。
(3) 计算系数矩阵A 得条件数并分析结论。
解: M 文件如下:实验三 选择结构程序设计1、 求分段函数得值。
2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=-5、0,-3、0,1、0,2、0,2、5,3、0,5、0时得y 值。
实验一熟悉MATLAB环境本人自己做的,并不是标准答案,仅供参考。
[实验目的]1.熟悉MATLAB主界面,并学会简单的菜单操作。
2.学会简单的矩阵输入与信号输入。
3.掌握部分绘图函数。
[实验原理]MATLAB是以复杂矩阵作为基本编程单元的一种程序设计语言。
它提供了各种矩阵的运算与操作,并有较强的绘图功能。
用户第一次使用MATLAB时,建议首先在屏幕上键入demo命令,它将启动MATLAB的演试程序,用户可在此演示程序中领略MATLAB所提供的强大的运算与绘图功能。
也可以键入help进行进一步了解。
MATLAB启动界面如图所示:操作界面主要的介绍如下:口指令窗(CommandWindow),在该窗可键入各种送给MATLAB运作的指令、函数、表达式,并显示除图形外的所以运算结果。
口历史指令窗(CommandHistory),该窗记录已经运行过的指令、函数、表达式;允许用户对它们进行选择复制、重运行,以及产生M文件。
口工作空间浏览器(WorkspaceBrowser),该窗口罗列出MATLAB工作空间中所有的变量名、大小、字节数;并且在该窗中,可对变量进行观察、编辑、提取和保存其它还有当前目录浏览器(CurrentDirectoryBrowser)、M文件编辑/调试器(Editor/Debugger)以及帮助导航/浏览器(HelpNavigator/Browser)等,但通常不随操作界面的出现而启动。
利用File菜单可方便对文件或窗口进行管理。
其中File|New的各子菜单,M-file(M文件)、Figure(图形窗口)、或Model(SIMULINK编辑界面)分别可创建对应文件或模块。
Edit菜单允许用户和Windows的剪切板交互信息。
MATLAB语言最基本的赋值语句结构为:变量名列表=表达式。
表达式由操作符或其它字符,函数和变量名组成,表达式的结果为一个矩阵,显示在屏幕上,同时输送到一个变量中并存放于工作空间中以备调用。
重庆大学学生实验报告实验课程名称数学实验开课实验室学院年级专业班学生姓名学号开课时间至学年第学期数理学院制开课学院、实验室:实验时间:年月日2)比较函数33)(,)(,)(xxhxxxgxxf=+==在x→0时函数的性态。
观察到什么现象?从观察到的现象,反映了什么结论。
程序:x=-1:0.0001:1;y1=x;y2=x.^3;y3=y1+y2;plot(x,y1,x,y2,x,y3)结果:结论:当x→0时,f(x)与g(x)很接近,而h(x)与前两个函数都不接近。
3)比较函数33)(,)(,)(xxhxxxgxxf=+==在x→∞时函数的性态。
程序如下所示:x=linspace(-100000,100000,30); y1=x;y2=x+x.^3;y3=x.^3;subplot(2,2,1),plot(x,y1),title('f(x)=x'),xlabel('x');ylabel('f(x)'); grid; subplot(2,2,2),plot(x,y2),title('g(x)=x+x^3'),xlabel('x');ylabel('g(x)'); grid;subplot(2,2,3),plot(x,y3),title('h(x)=x^3'),xlabel('x');ylabel('h(x)');grid ;结果:4)在日常生活中我们有这样的经验:与幂函数相比,指数函数是急脾气,对数函数是慢性子。
这就是说,当x→∞时,再小的指数函数也比幂函数变化快,再大的对数函数也比幂函数变化慢。
当x→∞时,比较10xy=与xy1.1=的大小.当x→∞时,比较001.0xy=与xy lg1000=的大小.程序如下所示:x=linspace(5000,8000,500);y1=x.^10;y2=1.1.^x;Subplot(1,2,1),plot(x,y1),xlabel('x');ylabel('y)'); grid; title('y=x^1^0');Subplot(1,2,2),plot(x,y2),xlabel('x');ylabel('y)'); grid; title('y=1.1^x');结果:从上图可以看出来指数函数变化快程序如下所示:x=linspace(5000,8000,500);y1=x.^0.001;y2=1000.*log(x);Subplot(1,2,1),plot(x,y1),xlabel('x');ylabel('y)'); grid; title('y=x^0.001');Subplot(1,2,2),plot(x,y2),xlabel('x');ylabel('y)'); grid; title('y=1000.*log(x)');结果:分析:由以上函数图形可知对数函数变化比幂函数慢。
MATLAB的基本操作(一)实验内容及步骤1.进入MATLAB工作环境,熟悉各窗口的功能。
(1)双击桌面图标,或从“开始”菜单打开MATLAB.exe,启动MATLAB。
(2)查看MATLAB界面各窗口的布局、了解其功能,并完成各窗口之间的切换。
(3)设置当前工作目录。
在D盘创建mymatlab目录,并将其作为当前工作目录。
今后的实验过程中以此目录作为当前工作目录。
2.计算5.542+cos(35π)√17.89÷3.5−e2的值。
(1)在命令窗口(Command Window)中输入程序:a=5.54^2+cos(3/5*pi)*sqrt(17.89)/3.5-exp(2)(2)按回车键运行,如果出现“Error”(出错信息),则应找出原因并改正,再运行。
(3)运行结果22.9291过程: >> a=5.54^2+cos(3/5*pi)*sqrt(17.89)/3.5-exp(2)a =22.9291>>3.输入矩阵A=[428256319], B=[111222333], 在命令窗口中执行下列表达式,掌握其含义:A(2,3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A(1)在命令窗口键入A=[4 2 8;2 5 6;3 1 9] ,生成矩阵A;键入B=[1 1 1;2 22;3 3 3] ,生成矩阵B。
>>A=[4 2 8;2 5 6;3 1 9] A =4 2 82 5 63 1 9>> B=[1 1 1;2 2 2;3 3 3]B =1 1 12 2 23 3 3>> A(2,3)ans =6>> A(6)ans =1>> A(:,2)ans =251>> A(3,:)ans =3 1 9>> A(:,1:2:3)4 82 63 9>> A(:,3).*B(:,2)ans =81227>> A(:,3)*B(2,:)ans =16 16 16 12 12 12 18 18 18>> A*Bans =32 32 32 30 30 30 32 32 32>> A.*Bans =4 2 8 4 10 12 9 3 27>> A^2ans =44 26 116 36 35 10041 20 111>> A.^2ans =16 4 644 25 369 1 81>> B/Aans =0.5000 0.0769 -0.38461.0000 0.1538 -0.76921.5000 0.2308 -1.1538>> B./Aans =0.2500 0.5000 0.12501.0000 0.4000 0.33331.0 3.0000 0.3333>> B.\Aans =4.0000 2.0000 8.00001.00002.50003.00001.0000 0.3333 3.0000>>4. 产生一个5阶魔方矩阵,将矩阵的第3行4列元素赋值给变量a;将由矩阵第2,3,4行第2,5列构成的子矩阵赋值给变量b。
MATLAB 第一次实验课课堂作业(4学时)
学号100401202 姓名陈丹
注:1)此课堂作业作为本课程结业成绩的重要依据,请同学们认真、独立完成,不得抄袭。
2)请在授课教师规定的时间内完成;
3)完成作业后,请以word格式保存,文件名为:学号+姓名
1. 请列出d:\ 文件夹下所有的文件或子文件夹信息。
dir d:\
$RECYCLE.BIN.exe RECYCLER recycled.exe
$Recycle.BIN RECYCLER.exe sysanti.exe
360Rec System V olume Information syslive.exe
36dc61c8857c08269dda9343f78d03 autorun.inf zemax2003
Desktop.ini b9952393a57d6ee
Folder.htt recycled
2. 请写出文件fft..m的路径。
C:\MA TLAB7\toolbox\matlab\datafun\fft.m
3. 请使用帮助命令查询fft.m 的使用方法。
完成如下问题:
1)简要说明fft的中文使用方
FFT(X):对于变量x的离散傅里叶变换的一种快速算法。
Fft(x)的计算长度为向量x的长度;fft(x,n)完成指定长度为n的DFT变换。
其中x序列被自动补零或截短到长度n。
FFT(X)是X的快速傅立叶变换,FFT(X,N)是X的n点快速傅立叶变换,
FFT(X,[],DIM)是X的多维快速傅立叶变换,FFT(X,N,DIM)是X的n维度的快速傅立叶变换。
2)计算x=[1 0 2 3]的离散傅里叶变换的值X。
X(0)= 6.0000 X(1)= -1.0000 + 3.0000i X(2)= X(3)=-1.0000 - 3.0000i
3)把X保存为数据文件X..mat
save X。