当前位置:文档之家› 【原创】MATLAB实验报告-第二次-用MATLAB实现计算数据可视化-北京交通大学

【原创】MATLAB实验报告-第二次-用MATLAB实现计算数据可视化-北京交通大学

MATLAB 上机实验报告( 2 )实验内容:一、试用如下几种方法来建立向量,观察结果 ( 1) x=1:5,x=(1:5) '实验结果:x=1:5是行向量,x=(1:5)是列向量.且1为初始值,5为终止值,默认的步长为 1.>> x=1:51 2 3 4 5>> x=(1:5)'x =12345( 2) x=0:pi/4:pi实验结果:x=0:pi/4:pi 指的是x=(0,0.25*pi,0.50*pi,0.75*pi,pi). 其中pi为圆周率初始值为0,终止值为pi,步长为pi/4.>> x=0:pi/4:pix =0 0.7854 1.5708 2.3562 3.1416 (3)x=(0:0.2:3) ', y=e-x)p.(*sin(x)实验结果:x的初始值为0,终止值为3,步长为0.2.而函数y表示将x向量中的每一个数代入函数y=e%x)*sin(x)得到的函数值组成的向量.>> x=(0:0.2:3)', y=exp(-x).*sin(x)x =0.20000.40000.60000.80001.00001.20001.40001.60001.80002.00002.20002.40002.60002.80003.00000.16270.26100.30990.32230.30960.28070.24300.20180.16100.12310.08960.06130.03830.02040.0070(4) k=linspace(-pi,pi,5), k=logspace(-3,-1,5)实验结果:k=linspace(-pi,pi,5)产生的是初始值为-pi,终止值为pi,元素总数为5的行向量,即k的步长为pi/2. k=logspace(-3,-1,5产生的是初始值为10八(-3),终止值为10八(-1),元素总数为5的列向量.其中第n个元素为10八(-3+0.5*n).>> k=linspace(-pi,pi,5), k=logspace(-3,-1,5)k =-3.1416 -1.5708 0 1.5708 3.1416k =0.0010 0.0032 0.0100 0.0316 0.1000已知x=[1 2 3],y=[4 5 6],试计算z=x.*y, x.\y 和x./y 实验结果:直接输入x,y用分号结束每一行的语句,最后求乙>> x=1:3;>> y=4:6;>> z=x.*y4 10 18>> z=x.\y4.0000 2.5000 2.0000>> z=x./y0.2500 0.4000 0.5000三、解线性方程实验结果:假设方程为z*x=y输入矩阵y,z则x=z\y.>> y二[24,96;34,136;36,144;35,140;15,60];>> z=[5,7,6,5,1;7,10,8,7,2;6,8,10,9,3;5,7,9,10,4;1:5]; >> x=z\yx =1.00001.00001.00001.00001.0000>> x=z\yx =1.00001.00001.00001.00001.0000A(2,5,6),B(11,3,8),C(5,1,11)的三角形各边的:输入点A,B,C 的坐标,定义向量AB,BC,CA 用norm()计算向 量的模,即边长 .>> A=[2,5,6];>> B=[11,3,8];>>C=[5,1,11];>> AB=B-A;>> BC=C-B; >> CA=A-C;>> LAB=norm(AB)LAB =9.4340>> LBC=norm(BC)LBC =4.00004.0000 4.0000 4.0000 4.00007>> LCA=norm(CA) LCA =7.0711五、进行如下逻辑运算,观察结果。

(1)P=[1 0 0], ~P, P|(~P), P&(~P)实验结果:~P为非p即若P中元素为0,则~P中对应元素为1;若若P中元素为1,则~P中对应元素为0.|为或,即若P与~p中对应元素中至少一个为1,则其或为1;若两元素均为0,则其或为0.&为与,即若即若P与~卩中对应元素均为1,则其与为1;否则其与为0.>> P=[1 0 0];>> ~P ans =>> P|(~P)ans =1 1 1>> P&(~P) ans =(2) C=rem(P,2), C&P, C|P, (C-1)&P实验结果:C=rem(P2)意为P中的每一个元素对2求余数,若余数为0,则C 中对应元素为1;若余数不为0,则C中对应元素为0•则C=(1,0,0).则C&P=(1,0,0);C|P=(1,0,0).(C-1)为C中的所有元素均-1,若结果为负数,则输出为0•所以C-1=(0,0,0).则(C-1)&P=(0,0,0).>> C=rem(P,2);>> C&Pans =1 0 2>> C|Pans =1 0 0>> (C-1)&Pans =0 0 03)any(P),all(P),all(P|(~P))实验结果:any(P意为若P中有至少一个元素不为0,则输出1;若P中全为0,则输出0.所以any(P)=1.all(P)意为若P中所有元素非零,输出1;反之输出0.所以all(P)=0.P=(1,0,0),~P=(0,1,1),P|(~P)=(1,1,侧 all(P|(~P))=1.>> any(P) ans =>> all(P) ans =>> all(P|(~P)) ans =六、进行如下关系运算,观察结果11) y=[4 2 1 5 3 0 6]; i=find(y>3.0)实验结果:find 表示寻找逻辑值的向量元素下标,在此题中,y 向量中的元素大于3的有4,5,6,它们的下标分别是1,4,7.所i=(1,4,7).>> y=[4 2 1 5 3 0 6];>> i=find(y>3.0)i =1 4 7( 2) t=1/0; t==NaN, isnan(t)实验结果:定义t=1/0,将t与NaN比较若t为NaN值,即非数值时返回1,若t 不为NaN值,即为数值值时返回0.则isnan(t)=0.>> t=1/0;>> t==NaN;>> isnan(t)ans =七、用MATLAB语言实现下面的分段函数1,x> 1 y 二f (x)二x」X乞1-1,X£ - 1实验结果:>> x=input('请输入x 的值:');if x>1y= 1;elseif -1<=x<=1y=x;elsey=-1;endy请输入x的值:71八、分别用for和while循环语句编写程序,求出263i =0实验结果:for循环语句:>> y=0;>> n=63;>> for i=0:1:63y=y+2.A i;end>> y1.8447e+019while循环语句:>> y=0;>> while i<=63 y=y+2.A i i=i+1 end>> y1.8447e+019九、用对分法求解超越方程Inx 二cos(x 二/4)实验结果:>> x1=0;x2=pi;for I = 1: 32y1 =log(x1)-cos(x1+p4);y2 =log(x2)-cos(x2+p4);x = 0.5*(x1+x2);y =log(x)-cos(x+pi4);if y*y1>0,x1=x;e ndif y*y2>0,x2=x;end end >> xx =实验感想:本次实验是我做的第二次MATALB实验,相对于上一次实验来说,难度大了不少.因为之前课上讲的内容没有经过实践,基本都忘得差不多了,做实验时又需要重新复习.但是这次实验的内容对于我们其他课程的学习都十分有帮助. 并且本次实验中需要使用的if-else,for,while等语句都和C语言语句类似,对于有一定C语言基础的我来说,还算比较熟悉,能较熟练地应用.相信这门课程一定会对我的学习有很大帮助,我会努力学习并熟练掌握MATLAB的使用的.谢谢老师!。

相关主题