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

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

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

MATLAB 上机实验报告( 2 )

实验内容:

一、试用如下几种方法来建立向量,观察结果 ( 1) x=1:5,

x=(1:5) '

实验结果:x=1:5是行向量,x=(1:5)是列向量.且1为初始值,5为终止值,默认的步长为 1.

>> x=1:5

1 2 3 4 5

>> x=(1:5)'

x =

1

2

3

4

5

( 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:pi

x =

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.2000

0.4000

0.6000

0.8000

1.0000

1.2000

1.4000

1.6000

1.8000

2.0000

2.2000

2.4000

2.6000

2.8000

3.0000

0.1627

0.2610

0.3099

0.3223

0.3096

0.2807

0.2430

0.2018

0.1610

0.1231

0.0896

0.0613

0.0383

0.0204

0.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.1416

k =

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.*y

4 10 18

>> z=x.\y

4.0000 2.5000 2.0000

>> z=x./y

0.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\y

x =

1.0000

1.0000

1.0000

1.0000

1.0000

>> x=z\y

x =

1.0000

1.0000

1.0000

1.0000

1.0000

A(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.0000

4.0000

4.0000 4.0000 4.0000

7

>> 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&P

ans =

1 0 2

>> C|P

ans =

1 0 0

>> (C-1)&P

ans =

0 0 0

3)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 =

六、进行如下关系运算,观察结果

1

1) 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>1

y= 1;

elseif -1<=x<=1

y=x;

else

y=-1;

end

y

请输入x的值:7

1

八、分别用for和while循环语句编写程序,求出

263

i =0

实验结果:

for循环语句:

>> y=0;

>> n=63;

>> for i=0:1:63

y=y+2.A i;

end

>> y

1.8447e+019

while循环语句:

>> y=0;

>> while i<=63 y=y+2.A i i=i+1 end

>> y

1.8447e+019

九、用对分法求解超越方程

Inx 二cos(x 二/4)

实验结果:

>> x1=0;x2=pi;

for I = 1: 32

y1 =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 nd

if y*y2>0,x2=x;end end >> x

x =

实验感想:

本次实验是我做的第二次MATALB实验,相对于上一次实验来说,难度大了不少.因为之前课上讲的内容没有经过实践,基本都忘得差不多了,做实验时又需要重新复习.但是这次实验的内容对于我们其他课程的学习都十分有帮助. 并且本次实验中需要使用的if-else,for,while等语句都和C语言语句类似,对于有一定C语言基础的我来说,还算比较熟悉,能较熟练地应用.相信这门课程一定会对我的学习有很大帮助,我会努力学习并熟练掌握MATLAB的使用的.

谢谢老师!

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平台的可视化图像处理系统设计方法

[收稿日期]20050228 [作者简介]黄书先(1962),女,1983年大学毕业,硕士,副教授,现主要从事石油勘探开发研究与科研管理工作。 基于MATLAB 平台的可视化图像处理系统 设计方法 黄书先 (长江大学科学技术处,湖北荆州434023) [摘要]以MATLAB 为工作语言和开发环境,开发了一个在M AT LAB 平台下的可视化图像处理系统, 可实现包括对测井图像在内的一般图像的精细处理,并能和用户开发的程序接口。为M AT LAB 的再开发 和可视化系统的设计作了有益的探索。 [关键词]MATLAB;图像处理;可视化GUI 界面 [中图分类号]TP 311111 [文献标识码]A [文章编号]16731409(2005)04015803 MAT LAB 的图像处理工具为自然科学各学科领域的学者、研究人员和工程师提供了一个直观的灵活的环境,用以解决复杂的图像处理问题。用MAT LAB 语言开发的图像处理算法可以在所有支持MAT LAB 的平台上共享。也可以将m 语言算法和现存的C 程序集成在一起或者将MATLAB 开发的m 语言算法和GU Is 编译为C/C++代码,供其他程序调用,或者发布为一个独立的应用程序。下面笔者提出一个基于MATLAB 平台的可视化图像处理系统设计方法,可用于包括测井图像资料在内的一般图像的精细处理。 1 系统总体设计 在MAT LAB 中有个重要的图像处理工具包[1],该工具包是由一系列支持图像处理操作的函数组成的,按功能可以分为以下几类:图像显示;图像文件输入与输出;几何操作;像素值统计;图像增强;图像识别;图像滤波;图像变换;邻域和块操作;二值图像操作;颜色映射和颜色空间转换;图像格式转换等。和其他工具包一样,用户还可以根据需要书写自己的函数,以满足特定的需要;也可以将这个工具包和信号处理工具包或小波工具包等其他工具包联合起来使用。 MAT LAB 提供了交互式的GU I 开发环境[2~4],用户只需要设置各个对象相应的属性,系统自动生成与之对应的界面,大大减少了开发的难度。本设计的MAT LAB 图像处理系统由封面、主界面和各个子功能界面组成,其框图如图1所示。程序总流程图如图2所示。 2 封面界面设计 首先用MAT LAB 编辑封面的脚本文件,生成系统的封面界面,然后再进入处理的主界面。 在设计封面时,要做好封面的总体布局,力求完美。要插入背景,首先要找到所用的函数(这在一般的书中很难找到);其次要注意设置axes 的属性。在显示背景图像时,不能用imshow ()函数,如果用此函数,背景图像只能显示在封面的一部分,不能整屏覆盖;而要用imagesc ()函数。MATLAB 提供修改文本中文字的字体,它支持华文中宋、华文彩云、华文仿宋、楷书、黑体等,功能较强。 在设计封面的过程中,最主要的技术是要解决时间的显示,如果只用MATLAB 中的clock ()函数,则显示的是静态时间,而不会显示和电脑同步的动态时间。为了解决这个问题,需做一个循环判断语句:while find (get (0,'c hildren'))==h0。成立的条件是,只要是当前窗口循环,否则停止,这样可以减少CPU 的负担。同时,要实时提取clock ()函数,可用fix (clock),使提取的时间更美观。#158#长江大学学报(自科版)2005年4月第2卷第4期/理工卷第2卷第2期 Jour nal of Yangtze University (Nat Sci Edit)Apr 12005Vol 12No 14/Sci &Eng V,Vol 12No 12

MATLAB实验报告实验二

实验二 MATLAB矩阵及其运算 学号:3121003104 姓名:刘艳琳专业:电子信息工程1班日期:2014.9.20 一实验目的 1、掌握Matlab数据对象的特点以及数据的运算规则。 2、掌握Matlab中建立矩阵的方法以及矩阵处理的方法。 3、掌握Matlab分析的方法。 二实验环境 PC_Windows 7旗舰版、MATLAB 7.10 三实验内容 4、1. (1)新建一个.m文件,验证书本第15页例2-1; (2)用命令方式查看和保存代码中的所有变量;

(3)用命令方式删除所有变量; (4)用命令方式载入变量z。 2. 将x=[4/3 1.2345e-6]在以下格式符下输出:短格式、短格式e方式、长格式、长格式e方式、银行格式、十六进制格式、+格式。 短格式 短格式e 长格式

长格式e方式 银行格式 十六进制格式 3.计算下列表达式的值 (1)w=sqrt(2)*(1+0.34245*10^(-6)) (2)x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a) a=3.5;b=5;c=-9.8; (3)y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a) a=3.32;b=-7.9; (4)z=0.5*exp(2*t)*log(t+sqrt(1+t*t)) t=[2,1-3i;5,-0.65];

4. 已知A=[1 2 3 4 5 ;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20],对其进行如下操作:(1)输出A在[ 7, 10]范围内的全部元素; (2)取出A的第2,4行和第1,3,5列; (3)对矩阵A变换成向量B,B=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]; (4)删除A的第2,3,4行元素; (1) (2)

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

实验五_MATLAB计算的可视化

实验五 MATLAB 计算的可视化(一) 实验目的 1. 熟练掌握MATLAB 二维曲线的绘制 2.掌握图形的修饰 3.掌握三维图的绘制 4.了解各种特殊图形的绘制 内容与步骤 1.在同一幅图形窗口中分别绘制y1=sin(t)和y2=cos(t)二条函数曲线,t 的取值范围为[0,10]。y1用红色虚线表示,y2用蓝色实线表示,横坐标轴名称为“时间t ”,纵坐标轴名称为“正弦、余弦”,整个图形的标题为“正弦和余弦曲线”。在坐标(1.7*pi ,-0.3)处添加文字“sin(t)”, 在坐标(1.6*pi ,0.8)处添加文字“cos(t)”,并在右上角添加图例,其运行界面图如下图所示。之后并尝试修改坐标轴刻度。 2.用subplot 命令在同一个窗口的不同子窗口绘制曲线y=sin(t),y1=sin(t+0.25) y2=sin(t+0.5),其中t=[0 10]。 3.绘制三维曲线:?? ? ??=≤≤==)cos()sin()200() cos()sin(t t t z t t y t x π (注意:用plot3命令) 4.三维网线图:绘制z=sin(y)cos(x) 三维网线图。 5. 三维曲面图 绘制22y x z +=的三维曲面图,x 在[-5,5]范围,y 在[-5,5]范围。将曲面图颜色用shading 命令连续变化,并用颜色标尺显示色图(使用函数colorbar 生成)。生成的图形如下图所示。

6.请绘制一个饼形图,数据如下表所示 7. 用semilogx命令绘制传递函数为1//(s+1)(0.5s+1)的对数幅频特性曲线,横坐标为w,纵坐标为Lw,w的范围为10-2-103,按对数分布。

实验二 MATLAB程序设计 含实验报告

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因 c b a 、、的不同取值而定) ,这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2?1 3?10?5?16?8?4?2?1 6?3?10?5?16?8?4?2?1 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. 的值,调用该函数后,

MATLAB第二次上机实验报告

电子科技大学电子工程学院标准实验报告(实验)课程名称MATLAB与数值分析 学生姓名: 学号: 指导教师:

一、实验名称 实验二 线性方程组求解和函数的数值逼近 二、实验目的 通过上机实验,使学生对病态问题、线性方程组求解和函数的数值逼近方法有一个初步的理解。 实验涉及的核心知识点:病态方程求解、矩阵分解和方程组求解、Lagrange 插值。 实验重点与难点:算法设计和MATLAB 编程 三、实验内容 1. 对高阶多项式 ()()() ()()20 1 1220k p x x x x x k ==---=-∏ 编程求下面方程的解 ()190p x x ε+= 并绘图演示方程的解与扰动量ε的关系。 2. 对2 20n =,生成对应的Hilbert 矩阵,计算矩阵的条件数;通过先确定解获得常向量 b 的方法,确定方程组 ()n H x b = 最后,用矩阵分解方法求解方程组,并分析计算结果。 3. 对函数 ()2 1 125f x x = + []1,1x ∈- 的Chebyshev 点 ()()21cos 21k k x n π ?? -= ? ?+? ? ,1,2,,1k n =+ 编程进行Lagrange 插值,并分析插值结果。 四、实验数据及结果分析 1. 对高阶多项式

()()() ()()20 1 1220k p x x x x x k ==---=-∏ 编程求下面方程的解 ()190p x x ε+= 并绘图演示方程的解与扰动量ε的关系。 p=[1,-1]; for i=2:20 n=[1,-i]; p=conv(p,n); % 求多项式乘积 end m=zeros(1,21); % m 的最高次幂为20,有21项 hold on x=1:20; d=[-1,0,0.1,0.5,1]; for i=1:5 delt=d(i); m(2)=delt; y=(roots(p+m))'; % 求多项式的根 plot(x,y,'-o','color',[i/5,i/20,i/10]); end title('方程p(x)=0的解与扰动量delt 的关系') legend('delt=-1','delt=0','delt=0.1','delt=0.5','delt=1') 2468101214161820 010 20 30 40 50 60 方程p(x)=0的解与扰动量delt 的关系 delt=-1delt=0delt=0.1delt=0.5delt=1

matlab实验二

本科实验报告 课程名称:Matlab电子信息应用实验项目:矩阵和数组的操作 实验地点:电机馆跨越机房 专业班级:学号: 学生姓名: 指导教师: 2014年3月26 日

一、实验目的 1.掌握矩阵和数组的一般操作,包括创建、保存、修改和调用等。 2.学习矩阵和数组的加减运算与乘法。 3.掌握对数组中元素的寻访与赋值,会对数组进行一般的操作。 二、预备知识 1.常用的产生特殊矩阵的函数 ?eye(m,n) 单位阵 ?rand(m,n) 随机矩阵 ?randn(m,n) 正态分布的随机矩阵 ?zeros(m,n) 零矩阵 ?ones(m,n) 全部元素都为1的矩阵 ?compan(A) 矩阵A的伴随矩阵 ?bankel(m,n) n维Hankel矩阵 ?invhilb(n) n维逆Hilbert矩阵 ?magic(n) n维Magic矩阵 ?toeplitz(m,n) Toeplitz矩阵 ?wilkinson(n) n维Wilkinson特征值测试矩阵 ?handamard(n) n维Handamard矩阵 ?hilb(n) n维Hilbert矩阵 ?kron(A,B) Kronecker张量积 ?pascal(n) n维Pascal矩阵 ?vander(A) 由矩阵A产生Vandermonde矩阵 2.通过矩阵的结构变换,获得新矩阵 表2 矩阵结构变化产生新矩阵 L=tril(A) L主对角线及以下元素取矩阵A 的元素,其余为0 L=tril(A,k) L及第k条对角线及以下元素取矩阵A的元素,其余为 U=triu(A) U主对角线及以上的元素取矩阵A的元素,其余为0 U=triu(A,k) U第k条对角线及以上的元素取矩阵A的元素,其余为

matlab实验二实验报告及程序

昆明理工大学信息工程与自动化学院学生实验报告 ( 2011——2012 学年 第一学期 ) 课程名称:控制系统计算机辅助设计 开课实验室:信自楼 234 2011年10月28日 年级、专业、班 学号 姓名 成绩 实验项目名称 实验二 控制系统分析 指导教师 胡蓉 教师评 语 该同学是否熟悉实验内容: A.熟悉□ B.比较熟悉□ C.不熟悉□ 该同学的实验能力: A.强 □ B.中等 □ C.差 □ 该同学的实验是否达到要求 : A.达到□ B.基本达到□ C.未达到□ 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 实验过程是否详细记录: A.详细□ B.一般 □ C.没有 □ 注:5个A 为优,5个B 为中,介于二者间为良,5个C 为不及格,3个B以上为及格。 教师签名: 年 月 日 实验二 控制系统分析 一、 实验目的 1. 掌握如何使用Matlab 进行系统的时域分析。 2. 掌握如何使用Matlab 进行系统的频域分析。 3. 掌握如何使用Matlab 进行系统的根轨迹分析。 4. 掌握如何使用Matlab 进行系统的稳定性分析。 二、 实验内容 1.时域分析 (1)典型二阶系统传递函数为:

当ζ=0.7, ω 取2、4、6、8、10、12的单位阶跃响应。 n 程序为:>> num1=4;den1=[1,2.8,4];sys1=tf(num1,den1); >> num2=16;den2=[1,5.6,16];sys2=tf(num2,den2); >> num3=36;den3=[1,8.4,36];sys3=tf(num3,den3); >> num4=64;den4=[1,11.2,64];sys4=tf(num4,den4); >> num5=100;den5=[1,14,100];sys5=tf(num5,den5); >> num6=144;den6=[1,16.8,144];sys6=tf(num6,den6); >> step(sys1,sys2,sys3,sys4,sys5,sys6); 运行单位阶跃响应结果图为: (2)典型二阶系统传递函数为: 当ω =6, ζ取0.2、0.4、0.6、0.8、1.0、1.5、2.0的单位阶跃响应。 n

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

MATLAB 上机实验报告( 2 ) 实验内容: 一、试用如下几种方法来建立向量,观察结果 ( 1) x=1:5, x=(1:5) ' 实验结果:x=1:5是行向量,x=(1:5)是列向量.且1为初始值,5为终止值,默认的步长为 1. >> x=1:5 1 2 3 4 5 >> x=(1:5)' x = 1 2

3 4 5 ( 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:pi x = 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.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 2.2000 2.4000 2.6000 2.8000 3.0000

0.1627 0.2610 0.3099 0.3223 0.3096 0.2807 0.2430 0.2018 0.1610 0.1231 0.0896 0.0613 0.0383 0.0204 0.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的列向量.

实验4、matlab的计算可视化和GUI设计

p345 subplot(2,2,1) t1=0:0.1:2; y1=sin(2*pi*t1); plot(t1,y1); title('y=sin(2\pit)') 练习: subplot(2,2,2) t2=0:0.1:2; y2=[exp(-t2);exp(-2*t2);exp(-3*t2)]; plot(t2,y2) axis([0 2 -0.2 1.2]); title('y=e-t,y=e-2t,y=e-3t') 练习: subplot(2,2,3); t3=[0 1 1 2 2 3 4]; y3=[0 0 2 2 0 0 0]; plot(t3,y3); axis([0 4 -0.5 3]); title('脉冲信号') 练习: subplot(2,2,4); t4=0:0.1:2*pi; plot(sin(t4),cos(t4));

axis([-1.2 1.2 -1.2 1.2]); axis equal; title('圆') 练习: P346 x=0:0.1:20; zeta=0 y1=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta)); plot(x,y1) zeta=0.3; y2=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta)); hold on plot(x,y2,'r:') zeta=0.5; y3=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta)); plot(x,y3,'g*') zeta=0.707; y4=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta)); plot(x,y4,'m-') title('二阶系统曲线') legend('\zeta=0','\zeta=0.3','\zeta=0.5','\zeta=0. 707') grid on gtext('\zeta=0') gtext('\zeta=0.3') gtext('\zeta=0.5') gtext('\zeta=0.707') ginput(3) zeta = ans = 2.6037 0.9035 13.1106 2.0029 4.2166 1.0380 P347 h_fig=gcf h_axis=gca h_line1=gco h_title=get(gca,'title') h_text2=findobj(h_fig,'string','\zeta=0.3') h_fig = 1 h_axis = 151.0018 h_line1 = 1 h_title = 152.0018 h_text2 = Empty matrix: 0-by-1 set(h_line1,'linewidth',5)

MATLAB实验报告(二) 西安邮电大学

西安邮电学院 《Matlab》 实验报告 (二) 2011- 2012 学年第 1 学期 自动化 专业: 自动0903 班级: 学号: 姓名: 2011 年10月15日

实验二 MATLAB 的基本计算 一、实验目的 1.掌握建立矩阵的方法。 2.掌握MATLAB 各种表达式的书写规则以及常用函数的使用。 3.能用MATLAB 进行基本的数组、矩阵及符号运算。 4.掌握矩阵分析的方法以及能用矩阵求逆法解线性方程组。 二、实验设备及条件 计算机一台(带有MATLAB6.5或以上版本的软件环境)。 三、实验内容 1.利用diag 等函数产生下列矩阵。 ??????????-=032570800a ???? ? ?????=8040 507 2 b 2.利用reshape 函数将1题中的a 和b 变换成行向量。

3.产生一个均匀分布在(-5,5)之间的随即矩阵(10×2),要求精确到小数点后一位。 4.已知: ???????? ??-=765 3877 34434 12A ???? ? ?? ???--=7312 033 2 1 B 求下列表达式的值:

(1) B A K *611+=和I B A K +-=12(其中I 为单位矩阵) (2) B A K *21=和B A K *.22= (3) 331^A K =和3.32^A K = (4) B A K /41=和A B K \42= (5) ],[51B A K =和]2:);],3,1([[52^B A K =

5.下面是一个线性方程组: ???? ? ?????=????????????????????52.067.095.03216/15 /14 /15/14/13/14/13/12/1x x x (1) 求方程的解 (2) 将方程右边向量元素3b 改为0.53,再求解,并比较3b 的变化和解的相对变 6.利用randn 函数产生均值为0,方差为1的6×6正态分布随机矩阵C ,然后统计C 中大于-0.3,小于0.3的元素个数t

实验二MATLAB程序设计含实验报告

实验二M A T L A B程序设计含实验报告 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器 (Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 21 3105168421 63105168421 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. y 5. (Root Mean Square)的计算(1(2)x=rand(1,200),得到的x 为200个(0,1)之间均匀分布的随机数。 6.根据2 2222 1......3121116n ++++=π,求π的近似值。当n 分别取100、1000、10000时,结果是多少 思考题:

matlab计算结果的可视化

第五讲计算结果的可视化 本节介绍MATLAB 的两种基本绘图功能:二维平面图形和三维立体图形。 5.1 二维平面图形 5.1.1 基本图形函数 plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标,常用格式为:(1)plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制 曲线。当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线, 当x 为m× n 矩阵时,就由n 条曲线。 (2)plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。 (3)plot(x,y1,x,y2,…) 以公共的x 元素为横坐标值,以y1,y2,… 元素为纵坐标值绘 制多条曲线。 例5.1.1 画出一条正弦曲线和一条余弦曲线。 >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2) 图5.1.1 函数plot 绘制的正弦曲线 在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MATLAB 软件专 门提供了这方面的参数选项(见表5.1.1),我们只要在每个坐标后加上相关字符串,就可实 现它们的功能。 - 2 - 表5.1.1 绘图参数表 色彩字符颜色线型字符线型格式标记符号数据点形式标记符号数据点形式 y 黄- 实线. 点<小于号 m 紫:点线o 圆s 正方形 c 青-. 点划线x 叉号 d 菱形 r 红- - 虚线+ 加号h 六角星 g 绿* 星号p 五角星 b 蓝v 向下三角形 w 白^ 向上三角形 k 黑>大于号 例如,在上例中输入 >> plot(x,y1,'r+-',x,y2,'k*:') 则得图5.1.2 图5.1.2 使用不同标记的plot 函数绘制的正弦曲线 5.1.2 图形修饰 MATLAB 软件为用户提供了一些特殊的图形函数,用于修饰已经绘制好的图形。 表5.1.2 图形修饰函数表

matlab实验报告

实验报告 2. The Branching statements 一、实验目的: 1.To grasp the use of the branching statements; 2.To grasp the top-down program design technique. 二、实验内容及要求: 1.实验内容: 1).编写 MATLAB 语句计算 y(t)的值 (Write the MATLAB program required to calculate y(t) from the equation) ???<+≥+-=0 530 53)(2 2t t t t t y 已知 t 从-5到 5 每隔0.5取一次值。运用循环和选择语句进行计算。 (for values of t between -5 and 5 in steps of 0.5. Use loops and branches to perform this calculation.) 2).用向量算法解决练习 1, 比较这两个方案的耗时。 (tic ,toc 的命令可以帮助你完成的时间计算,请使用'help'函数)。 Rewrite the program 1 using vectorization and compare the consuming time of these two programs. (tic, toc commands can help you to finish the time calculation, please use the …help ? function). 2.实验要求: 在报告中要体现top-down design technique, 对于 3 要写出完整的设计过程。 三、设计思路: 1.用循环和选择语句进行计算: 1).定义自变量t :t=-5:0.5:5; 2).用循环语句实现对自变量的遍历。 3).用选择语句实现对自变量的判断,选择。 4).将选择语句置入循环语句中,则实现在遍历中对数据的选择,从而实现程序的功能。 2. 用向量法实现: 1).定义自变量t :t=-5:0.5:5; 2).用 b=t>=0 语句,将t>=0得数据选择出,再通过向量运算y(b)=-3*t(b).^2 + 5; 得出结果。 3).用取反运算,选择出剩下的数据,在进行向量运算,得出结果。 四、实验程序和结果 1.实验程序 实验程序:创建m 文件:y_t.m

中国矿业大学 实验六 MATLAB数据可视化

实验六MATLAB数据可视化 一、实验目的 掌握MATLAB 二维、三维图形绘制,掌握图形属性的设置和图形修饰;掌握图像文件的读取和显示。 二、实验内容 (1) 二维图形绘制。 (2) 三维曲线和三维曲面绘制。 三、实验步骤 1.二维图形绘制 (1) 二维图形绘制主要使用函数plot。 >> clear all; >> x=linspace(0,2*pi,100); >> y1=sin(x); >> plot(x,y) >> hold on >> y2=cos(x) >> plot(x,y) >> hold off

注:hold on 用于保持图形窗口中原有的图形,hold off解除保持。 (2) 函数plot 的参数也可以是矩阵。 >> close all >> x=linspace(0,2*pi,100); >> y1=sin(x); >> y2=cos(x); >> A=[y1 ; y2]'; >> B=[x ; x]' >> plot(B,A)

(3) 选用绘图线形和颜色。>> close all >> plot(x,y1,'g+',x,y2, 'r:') >> grid on

(4) 添加文字标注。 >> title('正弦曲线和余弦曲线') >> ylabel('幅度') >> xlabel('时间') >> legend('sin(x)', 'cos(x)') >> gtext('\leftarrowsinx')

(5) 修改坐标轴范围。 >> axis equal >> axis normal >> axis([0 pi 0 1.5]) 程序如下: x=linspace(0,2*pi,100); y1=sin(x); y2=cos(x); A=[y1 ; y2]'; B=[x ; x]' plot(B,A) plot(x,y1,'g+',x,y2, 'r:') axis equal axis normal axis([0 pi 0 1.5])

实验二MATLAB程序设计含实验报告

实验二 M A T L A B 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器 (Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 21 3105168421 63105168421 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. 编写一个函数,计算下面函数的值,给出标量x 的值,调用该函数后,返回y 的值。 function [y]=myfun1(x) 选择一些数据测试你编写的函数。 5. 编写一个函数求向量x 中元素的平均值、最大值、最小值、均方根值。 %classic "3n+1" problem from number theory. while 1 n=input('Enter n,negative quits:'); if n<=0 break end a=n; while n>1 if rem(n,2)==0

实验4 Matlab程序设计2实验报告

Tutorial4 实验报告 实验名称:Matlab 程序设计2 实验目的: 1、 熟悉利用向量运算来代替循环操作的方法。 2、 熟悉异常处理的应用 3、 熟悉函数的嵌套调用和递归调用 4、 熟悉全局变量的应用 5、 熟悉函数参数的可调性 实验内容: 1. 根据 2 22221111 6 123 n = ++++ π,求π的近似值。当n 分别取100、1000、10000时,结果是多少? 要求:分别用循环结构和向量运算(使用sum 函数)来实现。 2. 建立一个函数,要求输出某个矩阵的第n 行元素。当n 值超过矩阵的行数时,自动转为 输出矩阵的最后一行元素,并给出出错信息。 提示:利用warning 3. 先用函数的递归调用定义一个函数文件求 1 n m i i =∑,然后调用该函数文件求 100 50 10 2 1 1 1 1 k k k k k k ===++∑∑∑ 4. 已知 ,,,,12 312311021323 n n n n f n f n f n f f f f n ---==??==?? ==??=-+>? 求1 100f f 中:

(1)最大值、最小值、各数之和。 (2)正数、零、负数的个数。 5. 编写一个函数,当用户输入的是一个数组参数的时候表示求其相反数,当用户输入的是两个数组参数的时候是求两个值的差值,但如果两个值的空间大小不相等,则给出错误提示“两个数组空间大小不一致”后,结束程序运行。 提示:利用error 6. 写出下列程序的输出结果。 命令文件exe.m global x x = 1:2:5;y = 2:2:6; sub(y); x,y 函数文件sub.m function fun = sub(z) global x z = 3*x;x = x+z; 实验代码及结果 1.

matlab实验 数据可视化方法

实验四数据可视化方法 [实验内容] 一.仿照运行,体会数据可视化方法。 1已知n=0,1,……,12,y=,运行下面程序,体会离散数据可视化方法。 说明: ·plot和stem指令均可以实现离散数据的可视化,但通常plot更常用于连续函数中特殊点的标记;而stem广泛运行与数字信号处理中离散点的图示。·用户在运行上面例程时会发现在命令窗口出现警告:Warning: Divide by zero!即警告程序中出现非零数除以0的指令。MATLAB对于这种情况并不中止程序,只是给该项赋值为inf以做标记。 2.下面时用图形表示连续调制波形y=sin(t)sin(9t),仿照运行,分析表现形式不同的原因。 二.编程实现。 1.用图形表示连续调制波形y=sin(t)sin(9t),过零点及其包络线,如下图所示。

2. 编写函数[x,n]=stepseq(n0,n1,n2),实现: u(n)=, n为整数 并编写脚本文件实现: x(n)=n·[u(n)-u(n-10)]+10[u(n-10)-u(n-20)], 0≤n≤20要求在脚 本文件中调用stepseq 函数,最后绘出序列x(n)在给定区间的波形图。 3.编写一个函数文件[y,n]=sigadd(x1,n1,x2,n2),实现两个对应样本之间的相加,其中x1是长度为n1的序列,x2是长度为n2的序列,n1、n2分 别是x1、x2的位置信息(n1、n2均为整数),如: n1={ -3,-2,-1,0,1,2,3,4},对应的 x1={ 2, 3, 1,4,1,3,1,2}; n2={-4,-3,-2,-1,0,1,2},对应的 x2={ 1, 3, 2, 5,1,3,4}。 当调用函数[y,n]=sigadd(x1,n1,x2,n2)时,我们应该得到: n={-4,-3,-2,-1,0,1,2,3,4},对应的 y={ 1, 5, 5, 6,5,4,7,1,2}。 仔细观察 sigadd 函数的功能。编好函数文件程序后,请在命令窗口调用,验证正确性,记录验证结果。 [实验结果] 一.1.

相关主题
文本预览
相关文档 最新文档