文档视界 最新最全的文档下载
当前位置:文档视界 › matlab实验 (1)

matlab实验 (1)

matlab实验 (1)
matlab实验 (1)

实验一熟悉matlab

一、实验目的:

1、了解MATLAB 用户界面

2、掌握MATLAB 的路径搜索

3、了解MATLAB 的帮助系统

4、掌握MATLAB 中标点符号的使用方法

5、掌握MATLAB 的数据类型

6、掌握常量和变量的使用方法

7、了解浮点数和复数的使用方法

8、掌握MATLAB 的文件操作

二、上机练习:

1.熟悉MATLAB 7用户界面

2.在D盘根目录下创建一个属于自己的文件夹(以自己的名字拼音作为文件夹名),设置为当前路径,并将其添加为MA TLAB的路径搜索。

3.用diary on 或diary xx 建立日志文件。

4.熟悉MATLAB的菜单:File,Deskstop;工具栏;熟悉命令窗口,历史命令窗口,工作空间等窗口的操作。

5.练习运用matlab的联机帮助系统获得二维图绘制帮助。

6.练习系统的在线帮助命令,在命令窗口中输入以下命令。

(1)help 命令:

1.当不知系统有何帮助内容时,可直接输入help以寻求帮助:

>> help(回车)

2.当想了解某一主题的内容时,输入:

>> help syntax(了解Matlab的语法规定)

3.当想了解某一具体的函数或命令的帮助信息时,输入:

(1)help 函数名

帮助函数:plot、max、round、sqrt、exp 等,了解函数的相关信息

(2)lookfor命令

现需要完成某一具体操作,不知有何命令或函数可以完成,如输入:lookfor 关键字

>> lookfor line (查找与直线、线性问题有关的函数)

4. 练习模糊帮助

>>db

7.练习用cd 显示当前路径,

用cd 设置当前路径:>>cd e:\mydir

8.练习数据操作

1、input函数

变量名=input(‘提示信息\n’,‘s’)

2、disp 函数

disp ( 输出项)

例如:a=5;

disp(a)

3、pause 函数

用法:pause或pause(n)

4、save 函数

(1)、save

(2)、save a b

(3)、save dfile a b

(4)、save e:\mydir \dfile.dat a -ascii

(5)、save dfile.dat a –ascii -double

(6)、save (‘fname’,’a’,’-ascii’)

5、load 函数

(1)、load

(2)、load dfile

(3)、load(‘fname’)

9.练习常用指令的使用方法,将下面的命令在命令窗口中执行通过;(1)简单计算器的使用

>> 3*30+3*35+4*30+4*32

>> grade1=3*30

>> grade2=3*35

>> total=grade1+grade2

(2)常用标点符号练习

分号;如:>> grade1=3*30;

逗号,如:>> r=2, area=pi*r^2

>> r=2; area=pi*r^2;

百分号%,如:>> r=2; % 键入半径

>> area=pi*r^2; % 计算面积

续行号... (3个连续的句号)

>> r=2;

>> area = pi ...

*r^2

(3)常用的操作命令练习:在命令窗口中输入下表的命令,掌握其功能,观察运行结果。

>>clc

>>clear

>>clear A

>>x=[1:1:100]

>>plot(x,sin(x));

>>clf %清除图形

dir;load;path;save ;who (whos)

>>clear all;%清除工作空间中的变数

>>x = 1:10;

>>save testfile.dat x -ascii %将x以ASCII格式存至名为testfile.dat的档案>>clear

>>load testfile.dat % 载入testfile.dat >>who % 列出工作空间中的变数(4)操作命令和快捷键练习:练习下表中的快捷键。

(5)复数的数学运算

a=1+2i;b=3-4i; i c )2

sin(π

π+=

计算d=a+b ;c a e ?=的值 (6)计算2)3sin(e +的值; (7)计算

3

)

()sin(u v x u -+和v

e u -的值,其中u=1,v=3。 三、提高练习

1. 求下列表达式的值,观察MATLAB 工作空间使用情况并保存全部变量

(1)

21185sin 2e z +=

(2) )1ln(2122x x z ++= 其中

???? ??+=545.0212i x (3)

23.0ln

)3.0sin(23.03.03a

a e e z a a +++-=-,3,9.2,8.2,,8.2,9.2,3 ---=a (提示:用冒号表达式生成a 向量,求各点函数值时用点乘运算)

2. 已知?

???? ??-=76538773443412A ,

??

??? ??--=723302131B ,求下列表达式的值: (1) B A *6+ 和I B A +-(其中I 为单位阵) (2) B A * 和B A *. (3) 3^A 和3.^A (4) B A / 和A B \

(5) ],[B A 和

]2^:);],3,1([[B A

3. 设有矩阵A 和B

???????

?

?

?=252423222120191817161514

13121110987654321A ,

???

?

???? ??--=11134079

423096171603

B (1) 求它们的乘积

C 。

(2) 将矩阵C 的右下角3×2子矩阵赋给D 。 (3) 查看MATLAB 工作空间的使用情况。 四、思考题

1、对浮点数使用不同运算顺序时,是否会对结果产生影响,为什么?

2、先建立一个自己的工作文件夹,再将自己的工作目录设置到MATLAB 搜索路径下,用help 命令能查询到自己的文件夹吗?

3、 [100,999]之间能被21整除的数的个数(提示:先利用冒号表达式,再利用find 和length 函数,通过Help 查询用法)。

4、 建立一个字符串向量,删除其中的大写字母(提示:利用find 函数和空矩阵)。

5、 设有分块矩阵???

?

??=????2232233

30S R I A ,其中S R I ,0,,分别为单位矩阵,随机矩阵,零矩阵和对角矩阵,试通过数值计算验证???

?

??+=22

0S RS R I A 。 五、实验要求

1.复习MATLAB 7的路径搜索、帮助系统、标点符号的使用方法的使用。 2.复习基本运算方法。

3.编写程序,运行程序并记录运行结果。 4.回答思考题 5.撰写实验报告。

MATLAB实验一

实验一连续时间信号在Matlab中的运算 一、实验目的 1、学会运用Matlab进行连续时间信号的时移、反褶和尺度变换; 2、学会运用Matlab进行连续时间信号微分、积分运算; 3、学会运用Matlab进行连续时间信号相加、相乘运算; 4、学会运用Matlab进行连续时间信号卷积运算。 二、实验原理及实例分析 1、信号的时移、反褶和尺度变换 信号的平移、反转和尺度变换是针对自变量时间而言的,其数学表达式和波形变换中存在着一定的变化规律。从数学表达式上来看,信号的上述所有计算都是自变量的替换过程。所以在使用Matlab进行连续时间信号的运算时,只需要进行相应的变量代换即可完成相关工作。 2、连续时间信号的微分和积分 符号运算工具箱有强大的积分运算和求导功能。 连续时间信号的微分运算,可使用diff命令函数来完成,其语句格式为:diff(function, ‘variable’,n) 其中,function表示需要进行求导运算的函数,或者被赋值的符号表达式;variable为求导运算的独立变量;n为求导阶数,默认值为一阶导数。 连续时间信号积分运算可以使用int命令函数来完成,其语句格式为: int(function, ‘variable’, a, b) 其中,function表示被积函数,或者被赋值的符号表达式;variable为积分变量;a为积分下限,b为积分上限,a和b默认时则求不定积分。 3、信号的相加和相乘运算 信号的相加和相乘是信号在同一时刻取值的相加和相乘。因此Matlab对于时间信号的相加和相乘都是基于向量的点运算。

4、连续信号的卷积运算 卷积积分是信号与系统时域分析的重要方法之一。定义为: Matlab 进行卷积计算可通过符号运算方法和数值计算方法实现。 (1)Matlab 符号运算法求连续信号卷积 从卷积定义出发,可以利用Matlab 符号运算法求卷积积分,但要注意积分变量和积分限的选取。 例:试用Matlab 符号运算法求卷积y(t)=[u(t)-u(t-1)]*[u(t)-u(t-1)]。 (2)Matlab 数值计算法求连续信号的卷积 ?+∞∞-=*=-2121d )t (f )(f )t (f )t (f )t (f ττ τ

Matlab上机实验答案

Matlab上机实验答案 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/180)/(1+exp(2)) z1 = >> x=[2 1+2i; 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = - + + -

>> a=::; >> z3=(exp.*a)-exp.*a))./2.*sin(a++log(+a)./2) (>> z33=(exp*a)-exp*a))/2.*sin(a++log(+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 + + + + + Columns 6 through 10 + + + + + Columns 11 through 15 + + + + + Columns 16 through 20 + + + + +

Columns 21 through 25 + + + + + Columns 26 through 30 + + + + + Columns 31 through 35 + + + + + Columns 36 through 40 + + + + + Columns 41 through 45 + + + + + Columns 46 through 50

+ + + + + Columns 51 through 55 + + + + + Columns 56 through 60 + + + + + Column 61 + (4) 2 2 4 2 01 112 2123 t t z t t t t t ?≤< ? =-≤< ? ?-+≤< ? ,其中t=0:: >> t=0::; >> z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^ 2-2.*t+1) z4 =

matlab实验2MATLAB基础知识

实验2 MATLAB基础知识 一、实验目的 1.熟悉MATLAB的数据类型 2.熟悉MATLAB的基本矩阵操作 3.熟悉MATLAB的运算符 4.熟悉MATLAB的字符串处理 二、实验内容 1.创建结构体DataTypes,属性包含MATLAB支持的所有数据类型,并通过赋值构 造结构体二维数组。 DataTypes.char=char([65]); DataTypes.string='hello'; DataTypes.int=100; DataTypes.single=1.560 DataTypes = char: 'A' string: 'hello' int: 100 single: 1.5600 >> DataTypes(2).char=char([66]); DataTypes(2).string='kugou'; DataTypes(2).int=200; DataTypes(2).single=3.14 DataTypes = 1x2 struct array with fields: char string int single 2.用满矩阵和稀疏矩阵存储方式分别构造下述矩阵。 A=

答: A = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 B = A = 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 A = 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 A = 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 1 A = 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1

MATLAB全部实验及答案

MATLAB全部实验及答案 实验一、MATLAB基本操作 实验内容及步骤 4、有关向量、矩阵或数组的一些运算 (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? A*B就是线代里面的矩阵相乘 A.*B是对应位置的元素相乘(3)设a=10,b=20;求i=a/b=0.5与j=a\b=2? (4)设a=[1 -2 3;4 5 -4;5 -6 7] 请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全 下标的形式),并将其单下标转换成全下标。 clear,clc a=[1 -2 3;4 5 -4;5 -6 7]; [x,y]=find(a<0); c=[]; for i=1:length(x) c(i,1)=a(x(i),y(i)); c(i,2)=x(i); c(i,3)=y(i); c(i,4)=(y(i)-1)*size(a,2)+x(i); end c

(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行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^2= 22 16 16 25 26 23 26 24 28 a.^2= 1 4 9 9 16 4 25 4 9 (7)有一段指令如下,请思考并说明运行结果及其原因 clear X=[1 2;8 9;3 6]; X( : ) 转化为列向量 (8)使用三元组方法,创建下列稀疏矩阵 2 0 8 0 0 0 0 1 0 4 0 0 6 0 0 0 方法一: clear,clc

matlab基础实验

实验一 MATLAB基础知识 一、实验目的 1.熟练掌握Matlab的启动与退出; 2. 熟悉Matalb的命令窗口,常用命令和帮助系统; 3. 熟悉Matalb的数据类型; 4. 熟悉Matlab的基本矩阵操作,运算符和字符串处理 二、实验设备 1.方正电脑 2.MATLAB软件 三、实验内容 1. 已知矩阵 A=[3 4 -1 1 -9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12 -8;-3 6 -7 8 -1 1;8 -4 9 1 3 0] 写出完成下列操作的命令: (1) 将矩阵A的第2-5行中第1,3,5列元素赋给矩阵B; (2) 删除矩阵A的第7号元素; (3) 将矩阵A的每个元素加上30; (4) 求矩阵A的大小和维数; (5) 将矩阵A的右下角3*2矩阵构成矩阵C; (6) 输出[-5,5]范围内的所有元素; 程序: A=[3 4 -1 1 -9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12 -8;-3 6 -7 8 -1 1;8 -4 9 1 3 0] %(1) B=A(2:5,[1 3 5]) %(2) A2=A; A2(7)=[] %(3) A3=A+30 %(4) length(A) size(A) %(5) C=A(end-2:end,end-1:end) %(6) A6=A.*(A>=-5 & A<=5) 结果: A =

3 4 -1 1 -9 10 6 5 0 7 4 -16 1 -4 7 -1 6 -8 2 -4 5 -6 12 -8 -3 6 -7 8 -1 1 8 -4 9 1 3 0 B = 6 0 4 1 7 6 2 5 12 -3 -7 -1 A2 = Columns 1 through 7 3 6 1 2 -3 8 5 Columns 8 through 14 -4 -4 6 -4 -1 0 7 Columns 15 through 21 5 -7 9 1 7 -1 - 6 Columns 22 through 28 8 1 -9 4 6 12 -1 Columns 29 through 35 3 10 -16 -8 -8 1 0 A3 = 33 34 29 31 21 40 36 35 30 37 34 14

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。

举例:计算一个函数并绘制出在对应区间上对应的值。 2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p 表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1:

MATLAB)课后实验答案

实验一 MATLAB 运算基础 1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 (1) 012 2sin 851z e =+ (2) 21ln(2 z x =,其中2 120.45 5i x +??=? ?-?? (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022 a a e e a z a a --+= ++=--L (4) 22 42011 122123t t z t t t t t ?≤

4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。解:(1) 结果: (2). 建立一个字符串向量例如: ch='ABC123d4e56Fg9';则要求结果是:

实验二 MATLAB 矩阵分析与处理 1. 设有分块矩阵33322322E R A O S ?????? =? ??? ,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22 E R RS A O S +?? =???? 。 解: M 文件如下; 5. 下面是一个线性方程组: 1 231 1 12340.951110.673450.5211145 6x x x ?? ??????????????=??? ?????????????????? ? ch = 123d4e56g9

(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 值。 解:M 文件如下:

Matlab基础知识点汇总

MATLAB讲义 第一章 MATLAB系统概述 1.1 MATLAB系统概述 MATLAB(MATrix LABoratory)矩阵实验室的缩写,全部用C语言编写。 特点: (1)以复数矩阵作为基本编程单元,矩阵运算如同其它高级语言中的语言变量操作一样方便,而且矩阵无需定义即可采用。 (2)语句书写简单。 (3)语句功能强大。 (4)有丰富的图形功能。如plot,plot3语句等。 (5)提供了许多面向应用问题求解的工具箱函数。目前,有20多个工具箱函数,如信号处理、图像处理、控制系统、系统识别、最优化、神经网络的模糊系统等。 (6)易扩充。 1.2 MATLAB系统组成 (1)MATLAB语言 MATLAB语言是高级的矩阵、矢量语言,具有控制流向语句、函数、数据结构、输入输出等功能。同时MATLAB又具有面向对象编程特色。MATLAB语言包括运算符和特殊字符、编程语言结构、字符串、文件输入/输出、时间和日期、数据类型和结构等部分。 (2)开发环境 MATLAB开发环境有一系列的工具和功能体,其部分具有图形用户界面,包括MATLAB桌面、命令窗口、命令历史窗口、帮助游览器、工作空间、文件和搜索路径等。 (3)图形处理 图形处理包括二维、三维数据可视化,图像处理、模拟、图形表示等图形命令。还包括低级的图形命令,供用户自由制作、控制图形特性之用。 (4)数学函数库 有求和、正弦、余弦等基本函数到矩阵求逆、求矩阵特征值和特征矢量等。 MATLAB数学函数库可分为基本矩阵和操作、基本数学函数、特殊化数学函数、线性矩阵函数、数学分析和付里叶变换、多项式和二重函数等。 (5)MATLAB应用程序接口(API) MATLAB程序可以和C/C++语言及FORTRAN程序结合起来,可将以前编写的C/C++、FORTRAN语言程序移植到MATLAB中。 1.3 MATLAB的应用围包括: MATLAB的典型应用包括: ●数学计算 ●算法开发 ●建模、仿真和演算 ●数据分析和可视化 ●科学与工程绘图 ●应用开发(包括建立图形用户界面) 以矩阵为基本对象 第二章 Matlab基础

MATLAB实验题答案

1、求以下变量的值,并在MATLAB中验证。( 1 ) a = 1 : 2 : 5 a = 1 3 5 ( 2 ) b = [ a' , a' , a' ;a ] b = 1 1 1 3 3 3 5 5 5 1 3 5 ( 3 ) c = a + b ( 2 , : ) c = 4 6 8 2、下列运算是否合法,为什么?如合法, 结果是多少? >> result2=a*b Error using * Inner matrix dimensions must agree. >> result3=a+b result3 = 3 6 2 5 8 11 >> result4=b*d result4 = 31 22 22 40 49 13 >> result5=[b;c']*d result5 = 31 22 22 40 49 13 -5 -8 7 >> result6=a.*b result6 = 2 8 -3 4 1 5 30 >> result7=a./b result7 = 0.5000 0.5000 -3.0000 4.0000 1.6667 1.2000>> result8=a.c Attempt to reference field of non-structure array. >> result9=a.\b result9 = 2.0000 2.0000 -0.3333 0.2500 0.6000 0.8333 >> result10=a.^2 result10 = 1 4 9 16 25 36 >> result11=2.^a result11 = 2 4 8 16 32 64 3、用MATLAB求解下面的的方程组。 (1) ? ? ? ? ? ? ? ? ? ? ? ? - = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - - - - 1 7 4 13 2 3 1 5 11 2 2 2 3 15 9 2 1 2 7 4 3 2 1 x x x x >> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> B=[4 7 -1 0] >> B=B' >> x=inv(A)*B (2) ? ? ? ? ? ? ? = - + + = - - = - + + = + + 5 6 5 3 3 3 3 2 8 2 1 w z y x w y x w z y x z y x >> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6] >> B2=[1;8;3;5] >> x2=inv(A1)*B2 4、已知 ? ? ? ? ? ? ? ? ? ? ? ? - - - - = 13 2 3 1 5 11 2 2 2 3 15 9 2 1 2 7 A

matlab所有实验及答案

实验二 习题 1、 矩阵Y= ???? ? ???? ???3472123100451150425 ,给出元素1的全下标和单下标,并用函数练习全下标和单下标的转换,求出元素100的存储位置。取出子矩阵?? ? ? ??21301,并求该矩阵的维数。 解:命令为: Y=[5,2,4;0,15,1;45,100,23;21,47,3] Y(2,3) Y(10) sub2ind([4 3],2,3) [i,j]=ind2sub([4 3],10) find(Y==100) sub2ind([4 3],3,2) B=Y(2:2:4,3:-2:1) 或 B=Y([2 4],[3 1]) [m n]=size(Y) 2、 建立一个数值范围为0—100内4*5的整数随机矩阵。 求出大于50的元素的位置。 解:命令为: G=int8(100*rand(4,5)) find(G>50) 3、 已知矩阵A=[1 0 -1 ;2 4 1; -2 0 5],B=[0 -1 0;2 1 3;1 1 2] 求2A+B 、A 2-3B 、A*B 、B*A 、A .*B ,A/B 、A\B 解:命令为: A=[1 0 -1 ;2 4 1; -2 0 5] B=[0 -1 0;2 1 3;1 1 2] E=2*A+B F=A^2-3*B G=A*B H=B*A I=A.*B J=A/B K=A\B 4、 利用函数产生3*4阶单位矩阵和全部元素都为8的 4*4阶矩阵,并计算两者的乘积。 解:命令为: A=eye(3,4) B=8*ones(4) C=A*B 5、 创建矩阵a=????? ???????------7023021.5003.120498601 ,取出其前两列构成的矩阵b ,取出前两行构成矩阵c ,转置矩阵b 构成矩阵d ,计算a*b 、c

实验二 MATLAB基础知识(二)

Experiment 1. Fundamental Knowledge of Matlab (II) 【Experimental Purposes】 1、熟悉并掌握MATLAB的工作环境。 2、运行简单命令,实现数组及矩阵的输入输出,了解在MATLAB下如何绘图。【Experimental Principle】 1. Vectors Let's start off by creating something simple, like a vector. Enter each element of the vector (separated by a space) between brackets, and set it equal to a variable. For example, to create the vector a, enter into the MATLAB command window (you can "copy" and "paste" from your browser into MATLAB to make it easy): a = [1 2 3 4 5 6 9 8 7] MATLAB should return: a = 1 2 3 4 5 6 9 8 7 To generate a series that does not use the default of incrementing by 1, specify an additional value with the colon operator (first:step:last). In between the starting and ending value is a step value that tells MATLAB how much to increment (or decrement, if step is negative) between each number it generates. To generate a vector with elements between 0 and 20, incrementing by 2(this method is frequently used to create a time vector), use t = 0:2:20 t = 0 2 4 6 8 10 12 14 16 18 20 Manipulating vectors is almost as easy as creating them. First, suppose you would like to add 2 to each of the elements in vector 'a'. The equation for that looks like: b = a + 2 b = 3 4 5 6 7 8 11 10 9 Now suppose, you would like to add two vectors together. If the two vectors are the same length, it is easy. Simply add the two as shown below: c = a + b c = 4 6 8 10 12 14 20 18 16 Subtraction of vectors of the same length works exactly the same way. MATLAB sometimes stores such a list in a matrix with just one row, and other times in a matrix with just one column. In the first instance, such a 1-row matrix is called a row-vector; in the

matlab实验四及其答案

实验四GUI 设计专业 学号姓名成绩电气工程及其自 动化201409140305 杨诚1.创建GUI 绘制方程c bx ax y ++=2图形,需要显示绘图结果的坐标系窗口,还能够输入 a , b , c 的值和x 取值范围(最大值和最小值)。 回调函数的编写: a=str2num(get(handles.edit1,'String'));b=str2num(get(handles.edit2,'String'));c=str2num(get(handles.edit3,'String'));xmin=str2num(get(handles.edit4,'String'));xmax=str2num(get(handles.edit5,'String'));x=xmin:0.1:xmax;y=a*x.^2+b*x+c;plot(x,y); 设计的运行界面截图:

2.设计一个GUI,完成画出y=sin(x)、y=cos(x)和y=x 3.的波形图。回调函数的编写: x=-5:0.1:5 plot(x,sin(x)) x=-5:0.1:5 plot(x,cos(x))

x=-5:0.1:5 y=x.^3 plot(x,y)

设计的运行界面截图: 3.创建一个GUI,含有下拉菜单,下拉菜单中有背景颜色选择。回调函数的编写: yanse=get(handles.popupmenu1,'value'); switch yanse case1 set(gcf,'color','r'); case2 set(gcf,'color','y'); case3 set(gcf,'color','g'); end 设计的运行界面截图:

MATLAB实验一

实验一MATLAB矩阵与数组(一) 一、实验目的 1.掌握矩阵与数组的创建 2.掌握数组与矩阵运算 3.掌握向量与矩阵的特殊处理 4.熟悉MATLAB关系操作和逻辑操作 二、实验内容 1.用两种以上的向量生成方法生成:a=[0 1 2 3 4 5 6 7 8 9]; >> a=[0 1 2 3 4 5 6 7 8 9] >> a=linspace(0,9,10) >> a=0:9 >> a=[0:1:9] 2.比较linspace和logspace的区别,分别在[1, 1000]生成100点的列向量; >> a=linspace(1,1000,100)' >> a=logspace(0,3,100)' 3.生成范围为[0, 10]的3×5二维随机分布整数矩阵D1; >> D1=round(10*rand(3,5)) 4.生成均值为0.5,方差为0.2的5×3二维正态分布矩阵D2; >> D2=0.5+sqrt(0.2)*randn(5,3) 5.生成5阶魔方阵,提取对角线存入向量e,根据向量e生成对角阵E; >> a=magic(5) >> e=diag(a) >> E=diag(e) 6.AA为3阶魔方阵;BB为AA旋转180°得到;CC为复数矩阵,实部为AA,虚部为BB;DD是CC的转置;EE为CC的共轭;计算DD与EE的幅角和模值。 >> AA=magic(3) >> BB=rot90(AA,2) >> CC=AA+i*BB >> DD=CC'

>> EE=conj(CC) >> DDM=abs(DD) %模值 >> EEM=abs(EE) >> DDF=angle(DD) /pi*180 %幅度 >> EEF=angle(EE)/pi*180 7.生成9阶方阵,元素为随机整数,范围为[1,20];利用函数生成上三角与下三角阵,并提取中心3×3的方阵存入D。 >> a=round(1+19*rand(9)) >> a1=triu(a) %上三角 >> a2=tril(a) %下三角 >> D=a(4:6,4:6) 8.求[100,999]之间能被21整除的数,并显示个数。(用逻辑关系判断编写)>> a=100:999 >> b=find(rem(a,21)==0) >> disp(length(b)) 9.建立一个包含随机字母的1×10向量a,并删除其中的大写字母。(用逻辑关系判断编写) //******* 10.在[0,3π]区间求y=sin(2x)的值,要求消去正半波,并限制幅度范围在[-0.5, 0]。 >> x=0:1/100:3*pi >> y=sin(2*x) >> y=(y<=0).*y >> y=(y>=-0.5).*y 三、实验内容注意 1.分清数组运算与矩阵运算的区别与联系; 2.熟悉MATLAB的各种数据运算,并注意变量空间的使用与变化; 3.灵活运用冒号符号、find函数、逻辑数组等。 四、作业要求 1.上机编写程序实现实验内容;

实验一 MATLAB基础训练

实验一 MATLAB基础训练 一、实验目的 本次上机实验主要练习使用Matlab的基本操作和基础知识,包括数组(复数、向量、矩阵、结构体数组等)的创建和数组元素的操作和运算、矩阵的运算、Matlab的运算符(尤其是点运算‘.’)、脚本M文件和函数M文件的编写、Matlab文件的编程(基本的流程控制结构)、基本的二维和三维绘图方法以及图形的标注等。希望通过本次实验使大家尽量在短时间内(4学时)掌握Matlab的基本操作和基础知识,为后面的实验项目奠定基础。 二、实验原理 参见PPT中有关内容。 三、实验内容 1. 上机练习课件中的例子。 2. 设两个复数a=1+2i, b=3-4i, 计算a+b, a-b, a*b, a/b, a和b的模。 3. 计算下式的结果,其中x=-3.5°, y=6.7° (提示:①应将角度单位由度转换为数学函数所能处理的弧度值;②求根函数sqrt,取绝对值函数abs,具体用法用help查询) 4. 对矩阵 123 456 789 A ?? ?? =?? ?? ?? , 实现下列操作: (1) 左右翻转(fliplr命令) (2) 上下翻转(flipud命令) (3) 利用cat命令分别将A扩展成3×6和6×3的矩阵 (3) 分别提取A的第2行,第2列,对角线元素 (4) 删除A的第2行2列的元素 (提示:将矩阵元素赋空阵[]可以删除元素,注意此时元素的访问只能使用单下标的方式。观察删除元素后,A中元素的排列方式的变化) 5. 创建[0,2π]区间上拥有100个等间隔元素的列向量 ...x.(Matlab默认是行向量),并绘制 y=sin(x1/3)的函数图像。 6. 创建如下图所示的单结构体数组。

MATLAB实验题目及答案

实验二一维二维数组的创建和寻访 一、实验目的 1、掌握一维数组、二维数组创建和寻访的几种方法。 2、区别数组运算和矩阵运算的差别。 3、熟悉执行数组运算的常用数组操作函数。 4、掌握数组运算中的关系和逻辑操作及常用的关系、逻辑函数。 5、掌握“非数”、“空”数组在MA TLAB中的应用。 二、实验主要仪器与设备 装配有MA TLAB7.6软件的计算机 三、预习要求 做实验前必须认真复习第三章MATLAB的数值数组及向量化运算功能。 四、实验内容及实验步骤 1、一维数组的创建方法有哪几种?举例说明。 答:一维数组的创建方法有: ①递增/递减型一维数组的创建:冒号生成法:x=a:inc:b 线性(或对数)定点法:x=linspace(a,b,n),x=logspace(a,b,n) ②逐个元素输入法:如x=[0.1,sin(pi/5),-exp(-3),-2*pi] ③运用MA TLAB函数生成法:例ones,rand等。 2、输入以下指令,并写出运行结果。本例演示:数组元素及子数组的各种标识和寻访格式;冒号的使用;end的作用。 A=zeros(2,6) %创建(2×6)的全零数组 A(:)=1:12 %赋值号左边:单下标寻访(2×6) 数组A的全部12个元素 %赋值号右边:拥有12个元素的一维数组 A(2,4) %双下标:A数组的第2行第4列元素 A(8) %单下标:数组A的第8个元素 A(: , [1,3]) %双下标:显示A的“第1列和第3列上全部行的元素” A([1, 2, 5, 6]') %单下标:把A数组第1,2,5,6个元素排成列向量 A(: , 4:end) %双下标:显示A的“从第4起到最后一列上全部行的元素” %在此end用于“列标识”,它表示“最后一列” A(2,1:2:5)=[-1, -3, -5] %把右边的3个数分别赋向A数组第2行的第1,3,5个元素位置 B=A([1, 2, 2, 2], [1, 3, 5]) %取A数组的1,3,5列的第1行元素作为B的第1行 %取A数组的1,3,5列的第2行分别作为B的第2,3,4行 L=A<3 %产生与A维数相同的“0,1”逻辑数组 A(L)=NaN %把逻辑1标识的位置上的元素赋为“非数” 运行结果: A = 0 0 0 0 0 0 0 0 0 0 0 0

福州大学MATLAB基础实验指导书

实验一 MATLAB 基础知识 一、实验目的 1. 熟练掌握Matlab 的启动与退出; 2. 熟悉Matalb 的命令窗口,常用命令和帮助系统; 3. 熟悉Matalb 的数据类型; 4. 熟悉Matlab 的基本矩阵操作,运算符和字符串处理 、实验设备 1. 方正电脑 2. MATLAB^件 三、实验内容 1. 已知矩阵 A=[3 4 -1 1-9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12 -8;-3 6 -7 8 -1 1;8 -4 9 1 3 0] 写出完成下列操作的命令: (1) 将矩阵A 的第2-5行中第1 , 3, 5列元素赋给矩阵 B ; (2) 删除矩阵A 的第7号元素; (3) 将矩阵A 的每个元素加上30 ; (4) 求矩阵A 的大小和维数; (5) 将矩阵A 的右下角3*2矩阵构成矩阵C ; (6) 输出[-5,5]范围内的所有元素; 4. 已知 3 5 4 2 1 2 67 A 34 45 7 ,B 2 8 74 求下列表达式的值: (1) A*B 和 A.*B (2) A A 3 和 A.A 3 (3) A/B 和 B\A (4) [A,B]和[A([1,3]);BA2] 87 90 15 9 3 0 i ab 5. 设 a=1+2i,b=-3+4i, c e 6 ,求 c 的值。 2. 设 x=-74 o ,y=27 o ,求 sin (x 2 y 2) ta n x y 的 值。 3.当a 取,,, ?,,,时,求 e 0.3a sin(a 0.3)在各点的函数 值。

a b 实验二MATLAB程序设计 、实验目的 1 ?学会编写简单函数m文件,调用及调试函数m文件; 2 .学会MATLA啲简单程序编写。 二、实验设备 1. 方正电脑 2. MATLAB^件 三、实验内容 1. 从键盘输入一个4位整数,按如下规则加密后输出。加密规则:每位数字都加上7 然后用和除以10的余数取代该数字;然后将第1位数与第3位数交换,第2位数与第4位数交换。 2. 硅谷公司员工的工资计算方法如下: (1) 工作时数超过120h者,超过部分加发15% (2) 工作时数低于60h者,扣发700元; (3) 其余按每小时84元计发。 试编程按输入的工号和该员工的工时数,计算应发工资。 1 1 1 1 3. 根据 2 2 2 L 2,求的近似值。当n分别取100, 1000, 10000时, 6 122232n2 结果是多少? (要求:分别用循环结构和向量运算(使用sum函数)来实现) 1 1 1 4 .根据y 1 L ,求 3 5 2n 1 (1) y<3 时的最大n值; (2) 与(1)的n值对应的y值。考虑 a 5.考虑一下迭代公式x n 1,其中,a,b为常数。 b X n (1)编写程序求迭代结果,迭代的终止条件为X n 1 X n 10 5,迭代初值X0 1.0,迭 代次数不超过500次。 (2)如果迭代过程收敛于r,那么r的准确值是 b b 4a,当⑻卩的值取⑴“、 2 (8,3)、(10,时,分别对迭代结果和准确值进行比较。

实验一 熟悉matlab

实验一熟悉matlab 一、实验目的: 1、了解MATLAB 用户界面 2、掌握MATLAB 的路径搜索 3、了解MATLAB 的帮助系统 4、掌握MATLAB 中标点符号的使用方法 5、掌握MATLAB 的数据类型 6、掌握常量和变量的使用方法 7、了解浮点数和复数的使用方法 8、掌握MATLAB 的文件操作 二、上机练习: 1.熟悉MATLAB 7用户界面 2.在D盘根目录下创建一个属于自己的文件夹(以自己的名字拼音作为文件夹名),设置为当前路径,并将其添加为MA TLAB的路径搜索。 3.用diary on 或diary xx 建立日志文件。 4.熟悉MATLAB的菜单:File,Deskstop;工具栏;熟悉命令窗口,历史命令窗口,工作空间等窗口的操作。 5.练习运用matlab的联机帮助系统获得二维图绘制帮助。 6.练习系统的在线帮助命令,在命令窗口中输入以下命令。 (1)help 命令: 1.当不知系统有何帮助内容时,可直接输入help以寻求帮助: >> help(回车) 2.当想了解某一主题的内容时,输入: >> help syntax(了解Matlab的语法规定) 3.当想了解某一具体的函数或命令的帮助信息时,输入: (1)help 函数名 帮助函数:plot、max、round、sqrt、exp 等,了解函数的相关信息 (2)lookfor命令

现需要完成某一具体操作,不知有何命令或函数可以完成,如输入:lookfor 关键字 >> lookfor line (查找与直线、线性问题有关的函数) 4. 练习模糊帮助 >>db 7.练习用cd 显示当前路径, 用cd 设置当前路径:>>cd e:\mydir 8.练习数据操作 1、input函数 变量名=input(‘提示信息\n’,‘s’) 2、disp 函数 disp ( 输出项) 例如:a=5; disp(a) 3、pause 函数 用法:pause或pause(n) 4、save 函数 (1)、save (2)、save a b (3)、save dfile a b (4)、save e:\mydir \dfile.dat a -ascii (5)、save dfile.dat a –ascii -double (6)、save (‘fname’,’a’,’-ascii’) 5、load 函数 (1)、load (2)、load dfile (3)、load(‘fname’) 9.练习常用指令的使用方法,将下面的命令在命令窗口中执行通过;(1)简单计算器的使用 >> 3*30+3*35+4*30+4*32

Matlab实验指导书(含答案)汇总

实验一:Matlab操作环境熟悉 一、实验目的 1.初步了解Matlab操作环境。 2.学习使用图形函数计算器命令funtool及其环境。 二、实验内容 熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算: 1.单函数运算操作。 求下列函数的符号导数 (1) y=sin(x); (2) y=(1+x)^3*(2-x); 求下列函数的符号积分 (1) y=cos(x); (2) y=1/(1+x^2); (3) y=1/sqrt(1-x^2); (4) y=(x-1)/(x+1)/(x+2); 求反函数 (1) y=(x-1)/(2*x+3); (2) y=exp(x); (3) y=log(x+sqrt(1+x^2)); 代数式的化简 (1) (x+1)*(x-1)*(x-2)/(x-3)/(x-4); (2) sin(x)^2+cos(x)^2; (3) x+sin(x)+2*x-3*cos(x)+4*x*sin(x); 2.函数与参数的运算操作。 从y=x^2通过参数的选择去观察下列函数的图形变化 (1) y1=(x+1)^2 (2) y2=(x+2)^2 (3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6) y6=x^2/2 3.两个函数之间的操作 求和 (1) sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5 乘积 (1) exp(-x)*sin(x)

相关文档