MATLAB实验四

MATLAB实验四
MATLAB实验四

实验四 拉普拉斯变换(LT )

一、实验目的

1、学会运用MATLAB 求拉普拉斯变换(LT )

2、学会运用MATLAB 求拉普拉斯反变换(ILT ) 二、实验原理及实例分析

LT 是分析连续信号与系统的重要方法。运用LT 可以将连续LTI 系统的时域模型简便地进行变换,经求解在还原为时域解。从数学角度看,LT 是求解常系数线性微分方程的工具。由LT 导出的系统函数对系统特性分析也具有重要意义。 (一)拉普拉斯变换(LT )

对于一些不满足绝对可积条件的时域信号,是不存在傅里叶变换的。为了

使更多的函数存在变换,并简化某些变换形式或运算过程,引入衰减因子,其中,为任意实数,使得满足绝对可积条件,从而求的傅里叶

变换,即把频域扩展为复频域。

连续时间信号的LT 定义为:

……………………(*)

ILT 定义为: ……………………(**)

式(*)和(**)构成了拉普拉斯变换对,称为的像函数,而称为的原函数。可以将拉普拉斯变换理解为广义的傅里叶变换。

考虑到实际问题,人们用物理手段和实验方法所能记录和处理的一切信号都是有起始时刻的,对于这类单边信号或因果信号,我们引入单边LT ,定义为:

如果连续信号可用符号表达式表示,则可用MATLAB 的符号数学工具箱中的laplace 函数来实现其单边LT ,其语句格式为:。

式中L 返回的是默认符号为自变量s 的符号表达式,f 则为时域符号表达式,可通过sym 函数来定义。

t e σ-σt e t f σ-)(t

e t

f σ-)()(t f ?

+∞

--=dt

e t

f s F st )()(?∞

+∞

-=j j st ds e s F j t f σσπ)(21)()(s F )(t f )(t f )(s F ?

+∞

--

=0)()(dt

e t

f s F st )(t f )(f laplace L =

例1:用MATLAB 的laplace 函数求

的FT 。 解:MATLAB 的源程序为:

laplace 函数另一种语句格式为:。它返回的函数L 是关于符

号对象v 的函数,而不是默认的s 。对上例中如果要求FT 后的表达式自变量为v ,则MATLAB 源程序为:

[注:请自行验证结果正确与否] (二)拉普拉斯反变换(ILT )

1、基于MATLAB 符号数学工具箱实现ILT

如果连续信号可用符号表达式表示,则可用MATLAB 的符号数学工具箱中的ilaplace 函数来实现其ILT ,其语句格式为:。

式中f 返回的是默认符号为自变量t 的符号表达式,L 则为s 域符号表达式,也可通过sym 函数来定义。

)()sin()(t u at e t f t

-

=),(v f laplace L

=)(t f )(L ilaplace f =

例2:试用MATLAB 的ilaplace 函数求

的ILT 。 解:MATLAB 源程序为:

[注:请自行验证结果正确与否]

2、基于MATLAB 部分分式展开法实现ILT

用MATLAB 函数residue 可得到复杂有理式F(s)的部分分式展开式,其语句格式为:

其中B 、A 分别表示F(s)的分子和分母多项式的系数向量;r 为部分分式的系数;p 为极点;k 为F(s)中整式部分的系数。若F(s)为有理真分式,则k 为0。

例3:利用MATLAB 部分分式展开法求

的ILT 。

1)(2

2

+=s s s

F ),(],,[A B residue k p r =s s s s s F 342

)(23+++=

解:MATLAB 源程序为:

程序中的format rat 是将结果数据以分数的形式表示,其运行结果为: 从上述结果可知,F(s)有3个单实极点,即

,其对应

部分分式展开系数为:-1/6、-1/2、2/3。因此,F(s)可展开为:

。所以,F(s)的反变换为:

例4:利用MATLAB 部分分式展开法求的ILT 。

解:F(s)的分母不是标准的多项式形式,可利用MATLAB 的conv 函数将因子相乘的形式转换为多项式的形式,其MATLAB 源程序为:

,1,3321=-=-=p p p 3

6

/112/13/2)(+-++-+=

s s s s F )

0(,612132)(3---≥???

???--=t e e t f t t 3

)1(2

)(+-=

s s s s F

根据程序运行结果,F(s )可展开为:

所以,F(s)的ILT 为:

(三)拉普拉斯变换法求解微分方程

拉普拉斯变换法是分析连续LTI 系统的重要手段。LT 将时域中的常系数线性微分方程,变换为复频域中的线性代数方程,而且系统的起始条件同时体现在该代数方程中,因而大大简化了微分方程的求解。借助MATLAB 符号数学工具箱实现拉普拉斯正反变换的方法可以求解微分方程,即求得系统的完全响应。

例5:已知某连续LTI 系统的微分方程为:,且已

知激励信号,起始条件为,求系统的零输入响

应、零状态响应和全响应。

s

s s s s F 2)1(3)1(212)(32-++++++=

)()25.122()(2t u e t te e t f t

t t -++=---)()(2)(3)(t x t y t y t y =+'

+'')(4)(2t u e t x t

-=4)0(,3)0(='=--y y

解:对原方程两边进行拉普拉斯变换,并利用起始条件,得:

将起始条件及激励变换代入整理可得:

其中,第一项为零输入响应的拉普拉斯变换,第二项为零状态响应的拉普拉斯变换。利用MATLAB 求其时域解,源程序如下:

系统的零输入响应为:

系统的零状态响应为:

系统的完全响应为:

三、实验内容

1、试用MATLAB 命令求《信号与系统》教材p286习题5-9各函数的LT

)()(2)]0()([3)0()0()(2s X s Y y s sY y sy s Y s =+-+'-----23)

(23133)(22+++

+++=

s s s X s s s s

Y )

()710()(2t u e e t y t t zi ---=)

()444()(2t u e te e t y t t t zs -----=)

()11414()()()(22t u e te e t y t y t y t t t zs zi -----=+=

2、试用MATLAB命令求《信号与系统》教材p286习题5-4、5-5各函数的ILT

3、试用MATLAB命令和拉普拉斯变换法求课本习题

四、实验思考

MATLAB是解决连续时间系统的复频域分析的很好的一个工具,对于拉普拉斯变换,可以很便捷的就求出拉普拉斯变换和拉普拉斯反变换,要多多运用

matlab实验四

实验目的 (1) 利用计算机完成控制系统的根轨迹作图。 (2) 了解控制系统根轨迹作图的一般规律。 (3) 利用根轨迹进行系统分析。 实验步骤 (1)运行matlab 。 (2)练习根轨迹的相关函数。 rlocus(sys) rlocus(sys,k) r=rlocus(sys) [r,k]=rlocus(sys) (3)实验内容 1)给定如下系统的开环传递函数,作出它们的根轨迹,并完成给定要求。 ()()()21++= s s s k s G 要求:准确记录根轨迹的起点、终点和根轨迹的条数。 确定根轨迹的分离点与相应的根轨迹增益。 确定临界稳定时根轨迹增益k 。 (1) num=[1]; den=conv([1 0],conv([1 1],[1 2])); sys=tf(num,den); rlocus(sys)

-1、0终点为无穷远∞。 (2) num=[1]; den=conv([1 0],conv([1 1],[1 2])); sys=tf(num,den); rlocus(sys); [kd,pd]=rlocfind(sys) Select a point in the graphics window selected_point = -0.4207 - 0.0000i kd = 0.3849 pd = -2.1547 -0.4247

分离点为-0.4207,增益为0.3849 (3) num=[1]; den=conv([1 0],conv([1 1],[1 2])); sys=tf(num,den); rlocus(sys); [k,p]=rlocfind(sys) Select a point in the graphics window selected_point = 0.0153 - 1.4136i k = 6.0566 p = -3.0051 0.0026 + 1.4197i ()()()()164112 ++-+=s s s s s k s G 要求:确定根轨迹与虚轴交点并确定系统稳定的根轨迹增益k 。 num=[1 1]; den=conv([1 0],conv([1 -1],[1 4 16])); sys=tf(num,den); rlocus(sys);

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实验报告50059

实验一MATLAB操作基础 实验目的和要求: 1、熟悉MATLAB的操作环境及基本操作方法。 2、掌握MATLAB的搜索路径及设置方法。 3、熟悉MATLAB帮助信息的查阅方法 实验内容: 1、建立自己的工作目录,再设置自己的工作目录设置到MA TLAB搜索路径下,再试 验用help命令能否查询到自己的工作目录。 2、在MA TLAB的操作环境下验证课本;例1-1至例1-4,总结MATLAB的特点。 例1-1

例1-2 例1-3 例1-4

3、利用帮助功能查询inv、plot、max、round等函数的功能。 4、完成下列操作: (1)在matlab命令窗口输入以下命令: x=0:pi/10:2*pi; y=sin(x); (2)在工作空间窗口选择变量y,再在工作空间窗口选择回绘图菜单命令或在工具栏中单击绘图命令按钮,绘制变量y的图形,并分析图形的含义。

5、访问mathworks公司的主页,查询有关MATLAB的产品信息。 主要教学环节的组织: 教师讲授实验目的、开发环境界面、演示实验过程,然后同学上机练习。 思考题: 1、如何启动与退出MA TLAB集成环境? 启动: (1)在windows桌面,单击任务栏上的开始按钮,选择‘所有程序’菜单项,然后选择MA TLAB程序组中的MA TLABR2008b程序选项,即可启动 MATLAB系统。 (2)在MA TLAB的安装路径中找到MA TLAB系统启动程序matlab.exe,然后运行它。 (3)在桌面上建立快捷方式后。双击快捷方式图标,启动MA TLAB。 退出: (1)在MA TLAB主窗口file菜单中选择exitMATLAB命令。 (2)在MA TLAB命令窗口中输入exit或quit命令。 (3)单击MATLAB主窗口的关闭按钮。 2、简述MATLAB的主要功能。 MATLAB是一种应用于科学计算领域的数学软件,它主要包括数值计算和符 号计算功能、绘图功能、编程语言功能以及应用工具箱的扩展功能。 3、如果一个MATLAB命令包含的字符很多,需要分成多行输入,该如何处理?

实验四 MATLAB程序设计

实验四 MATLAB 程序设计 1.实验目的 (1)熟练掌握MATLAB 的程序流程控制结构。 (2)掌握M 文件的结构,M 函数文件编写、使用。 (3)熟练掌握函数调用和参数传递。 2.实验仪器 (1)Matlab6.5应用软件安装版 一套 (3)PC 机 一台 3. 实验原理 依据MA TLAB 的编程的原理,编写M 函数文件,调用M 函数文件,完成曲线绘制。 4. 实验步骤 (1)利用for 、while 控制语句和sum 指令求和。 (2)使用MA TLAB 函数文件绘图。 (3)利用置换指令绘制脉冲响应曲线. (4)利用feval 指令实现指定的函数。 5. 实验报告内容(选做其中两题) (1)分别用for 和while 循环语句计算∑==630i i 2 K 的程序,再写出一种避免循环的计算程序。 (提示:可考虑利用MA TLAB 的sum (X,n )函数,实现沿数组X 的第n 维求和。)保存为M 文件. (2)将课本例4-8子函数编程及调用演示,三个子图上的圆和多边形绘制在同一坐标系中。并保存为M 文件。保存输出结果图。 (3)利用置换指令subs(X,new),例4-18中的脉冲响应在t=[0,18]的曲线。并保存为M 文件。保存输出结果图。 (4)试利用feval ()指令计算F(x)+F 2(x),其中F 可取‘sin ’、‘cos ’。(提示:先编写以个M 函数function y=trif(F,x)实现F(x)+F 2(x)的计算,在编写调用函数完成F 为‘sin ’、‘cos ’的计算),并保存为M 文件。(指定完成sin(pi/2)+sin(pi/2)^2; cos(pi/3)+cos(pi/3)^2)

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实验报告(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 数学实验报告 指导老师: 班级: 小组成员: 时间:201_/_/_

Matlab 第二次实验报告 小组成员: 1 题目:实验四,MATLAB 选择结构与应用实验 目的:掌握if 选择结构与程序流程控制,重点掌握break,return , pause语句的应用。 问题:问题1:验证“哥德巴赫猜想” ,即:任何一个正偶数(n>=6)均可表示为两个质数的和。要求编制一个函数程序,输入一个正偶数,返回两个质数的和。 问题分析:由用户输入一个大于6 的偶数,由input 语句实现。由if 判断语句判断是否输入的数据符合条件。再引用质数判断函数来找出两个质数,再向屏幕输出两个质数即可。 编程:function [z1,z2]=gede(n); n=input('please input n')

if n<6 disp('data error'); return end if mod(n,2)==0 for i=2:n/2 k=0; for j=2:sqrt(i) if mod(i,j)==0 k=k+1; end end for j=2:sqrt(n-i) if mod(n-i,j)==0 k=k+1; end end if k==0 fprintf('two numbers are') fprintf('%.0f,%.0f',i,n- i) break end

end end 结果分析 如上图,用户输入了大于6的偶数返回两个质数5和31,通过 不断试验,即可验证哥德巴赫猜想。 纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰,更快的解决问题。 2题目:实验四,MATLAB选择结构与应用实验 目的:用matlab联系生活实际,解决一些生活中常见的实际问 题。

Matlab实验五分支结构程序设计答案

实验五分支结构程序设计 实验内容 (1)从键盘输入一个数,将它反向输出,例如输入693,输出为396 >> clear >> format long g s=input('s=') n=fix(log10(s)); A=0; for i=1:n a=fix(s/10^n); x=fix(mod(s,10^i)/10.^(i-1)); A=A+x*10^(n+1-i); end A+a s=693 s = 693 ans = 396 (2)输入一个百分制成绩,要求输出成绩等级A,B,C,D,E其中90-100位A,80-89为B,70-79为C,60-69为D,60以下为E 1)分别用if语句和switch语句实现 2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩应输出出错信息 If语句 >> a=input('输入成绩') if a>=90&a<=100 disp('A 成绩合理'); elseif a>=80&a<90 disp('B 成绩合理'); elseif a>=70&a<80 disp('C 成绩合理');

elseif a>=60&a<70 disp('D 成绩合理'); elseif a<60 disp('E 成绩合理'); else disp('成绩错误') end 输入成绩98 a = 98 A 成绩合理 >> a=input('输入成绩') if a>=90&a<=100 disp('A 成绩合理'); elseif a>=80&a<90 disp('B 成绩合理'); elseif a>=70&a<80 disp('C 成绩合理'); elseif a>=60&a<70 disp('D 成绩合理'); elseif a<60 disp('E 成绩合理'); else disp('成绩错误') end 输入成绩148 a = 148 成绩错误 switch语句 >> a=input('输入成绩') switch a; case num2cell(0:59) disp('E 成绩合理'); case num2cell(60:69) disp('D 成绩合理'); case num2cell(70:79) disp('C 成绩合理'); case num2cell(80:89) disp('B 成绩合理'); case num2cell(90:100) disp('A 成绩合理'); otherwise disp('成绩错误'); end

MATLAB)课后实验答案[1]

实验一 MATLAB 运算基础 1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 (1) 0 12 2sin851z e =+ (2) 221ln(1)2 z x x =++,其中2 120.45 5i x +??=? ?-?? (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+= ++=-- (4) 2242011 122123t t z t t t t 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 =

MATLAB实验报告

实验一 名称:连续时间信号分析 姓名:王嘉琦 学号:201300800636 班级:通信二班 一、实验目的 (一)掌握使用Matlab 表示连续时间信号 1、学会运用Matlab 表示常用连续时间信号的方法 2、观察并熟悉常用信号的波形和特性 (二)掌握使用Matlab 进行连续时间信号的相关运算 1、学会运用Matlab 进行连续时间信号的时移、反褶和尺度变换 2、学会运用Matlab 进行连续时间信号微分、积分运算 3、学会运用Matlab 进行连续时间信号相加、相乘运算 4、学会运用Matlab 进行连续时间信号卷积运算 二、实验条件 Matlab 三、实验内容 1、利用Matlab 命令画出下列连续信号的波形图。 (1))4/3t (2cos π+ 代码: k=2;w=3;phi=pi/4; t=0:0.01:3; ft=k*cos(w*t+phi); plot(t,ft),grid on; axis([0,3,-2.2,2.2]) title('余弦信号')

(2) )t (u )e 2(t -- 代码: k=-1;a=-1; t=0:0.01:3; ft=2-k*exp(a*t); plot(t,ft),grid on axis([0,3,2,3]) title('指数信号')

(3))]2()(u )][t (cos 1[--+t u t π 代码: k=1;w=pi;phi=0; t=0:0.01:2; ft=1+k*cos(w*t+phi); plot(t,ft),grid on; axis([0,3,0,2]) title('余弦信号')

MATLAB 实验四报告

实验四 线性控制系统的时域响应分析 一、 实验目的 1.熟悉MATLAB 有关命令的用法; 2.用MATLAB 系统命令对给定系统进行时域分析; 二、实验内容 求连续系统的单位阶跃响应有关命令的用法: 命令格式: [y,x,t]=step(num, den) [y,x,t]=step(num, den, t) [y,x,t]=step(A,B,C,D) [y,x,t]=step(A,B,C,D,iu) [y,x,t]=step(A,B,C,D,iu,t) 练习4-1. 给定系统的传递函数如下: 求该系统的阶跃响应曲线,记录超调量、上升时间、过渡过程时间。 结果: num=[25]; den=[1 4 25]; step(num,den) grid 练习4-2. 已知系统的开环传递函数为: 求出该系统在单位负反馈下的阶跃响应曲线,记录超调量、上升时间、过渡过程时间。 结果: num=[20]; s s s s s G 4036820 )(234+++=25 425)()(2++=S S S R S C

+ — — den=[1 8 36 40 0]; [numc,denc]=cloop(num,den,-1); step(numc,denc) 练习4-3 已知系统的传递函数为: ①求系统的阶跃响应; ②阶跃响应曲线线型用“*”号表示; ③阶跃响应图应加上横坐标名、纵坐标名和标题名,并加上网格线。 结果: G1=tf([6.3233 6.3233*2*1.4235 1.4235*1.4235*6.3233 ],[1 0]); G2=tf([1],[1 1 10 0]); sys1=series(G1,G2); sys=feedback(sys1,-1); [y,t,x]=step(sys) plot(t,y,'*'); xlabel('time'); ylabel('y'); title('响应'); grid 练习4-4 求T1、T2、T3系统的阶跃响应; ①将 T1、T2、T3系统的阶跃响应图画在同一窗口内; ②T1、T2、T3系统的阶跃响应曲线分别用不同的线形和颜色表示; ③将‘T1、T2、T3’分别标注在对应的曲线上。 s s 2)4235.1(3233.6+ ) 5)(1(1++s s s

Matlab实验第一次实验答案

实验一Matlab使用方法和程序设计 一、实验目的 1、掌握Matlab软件使用的基本方法; 2、熟悉Matlab的数据表示、基本运算和程序控制语句 3、熟悉Matlab绘图命令及基本绘图控制 4、熟悉Matlab程序设计的基本方法 二、实验内容: 1、帮助命令 使用help命令,查找sqrt(开方)函数的使用方法; 解:sqrt Square root Syntax B = sqrt(X) Description B = sqrt(X) returns the square root of each element of the array X. For the elements of X that are negative or complex, sqrt(X) produces complex results. Remarks See sqrtm for the matrix square root. Examples sqrt((-2:2)') ans = 0 + 1.4142i 0 + 1.0000i

1.0000 1.4142 2、矩阵运算 (1)矩阵的乘法 已知A=[1 2;3 4]; B=[5 5;7 8]; 求A^2*B 解:A=[1 2;3 4 ]; B=[5 5;7 8 ]; A^2*B (2)矩阵除法 已知A=[1 2 3;4 5 6;7 8 9]; B=[1 0 0;0 2 0;0 0 3]; A\B,A/B 解:A=[1 2 3;4 5 6;7 8 9 ]; B=[1 0 0;0 2 0;0 0 3 ]; A\B,A/B (3)矩阵的转置及共轭转置

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实验报告

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图形系统 实验性质:验证性实验级别:必做 开课单位:信息与通信工程学院通信工程系学时:2学时 一、实验目的: 1、掌握利用MATLAB提供的图形函数来建立图形 2、理解MATLAB图形系统的概貌 二、实验器材: 安装matlab软件的计算机 三、实验原理 3.1 二维曲线绘图的基本操作 plot的基本调用格式的运用 3.2 三维绘图的基本操作 三维线图指令plot3 3.3 高级图形 一个图形由安排在一个层次结构上的五个图形对象组成。首先有一个窗口,这是一个图形对象。然后由两个轴对象来定义相应的坐标轴。这些都可以用s u b p l o t命令来完成。最后,用p l o t命令来创建两个线条对象。 对于每一个对象都可以修改它的一些属性。例如,可以改变图形窗口的位置和图形对象的背景色。对于一个轴对象可以改变它在图形区域内的刻度大小和位置。线条对象可以变得更细,改变成另一种颜色,另一种线型等等。 四、实验内容: 1、画出对数和指数函数,并分别加上标题,轴标记和曲线说明.这里要求采用多种方法 来标注曲线. 2、将图形窗口分成两格,分别绘制正割和余割函数曲线,并加上适当的标注. 3、将图形分成两个窗格分别绘制出函数在[-3,3]区间上的曲线,并利用axis调整轴 刻度,使它们具有相同的缩放尺寸 4、有一位研究生,在一年中平均每月的费用为生活费190元,资料费33元,电话费45

元,购买衣服42元,其它费用45元.请以一饼图表示出他每月的消费比例,并分离出 表示资料费用的切片.请给出每一块加以标注. 五、实验步骤: 1、画出对数和指数函数,并分别加上标题,轴标记和曲线说明; 2、将图形窗口分成两格,分别绘制正割和余割函数曲线,并加上适当的标注. 3、将图形分成两个窗格分别绘制出函数在[-3,3]区间上的曲线,并利用axis调整轴 刻度,使它们具有相同的缩放尺寸; 4、根据内容4编写m文件,并以一饼图表示出他每月的消费比例。 六、实验结果 1、画出对数和指数函数,并分别加上标题,轴标记和曲线说明.这里要求采用多种方法来标注曲线 代码:

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矩阵及其运算 学号: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工具软件实验(1) (1)生成一个4×4的随机矩阵,求该矩阵的特征值和特征向量。程序: A=rand(4) [L,D]=eig(A) 结果: A = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 L = -0.7412 -0.2729 - 0.1338i -0.2729 + 0.1338i -0.5413 -0.3955 -0.2609 - 0.4421i -0.2609 + 0.4421i 0.5416 -0.4062 -0.0833 + 0.4672i -0.0833 - 0.4672i 0.4276 -0.3595 0.6472 0.6472 -0.4804 D = 2.3230 0 0 0 0 0.0914 + 0.4586i 0 0 0 0 0.0914 - 0.4586i 0 0 0 0 0.2275 (2)给出一系列的a值,采用函数 22 22 1 25 x y a a += - 画一组椭圆。 程序: a=0.5:0.5:4.5; % a的绝对值不能大于5 t=[0:pi/50:2*pi]'; % 用参数t表示椭圆方程 X=cos(t)*a; Y=sin(t)*sqrt(25-a.^2); plot(X,Y) 结果: (3)X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2], (a)写出计算其负元素个数的程序。程序: X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2]; L=X<0; A=sum(L) 结果: A =

《MATLAB及应用》实验报告4

实验报告 实验项目名称MATLAB绘图 所属课程名称MATLAB及应用 实验类型上机实验 实验日期2015年12月日指导教师谢芹 班级 学号 姓名 成绩

一、实验名称 MATLAB绘图 二、实验目的 (1)掌握绘制二维图形的常用函数。 (2)掌握绘制三维图形的常用函数。 (3)掌握绘制图形的辅助操作 三、实验原理 1. 绘制二维图形的常用函数 plot函数绘制二维曲线,常用格式有: plot(x):缺省自变量的绘图格式,x可为向量或矩阵。 plot(x, y):基本格式,x和y可为向量或矩阵。 plot(x1, y1, x2, y2,…):多条曲线绘图格式,在同一坐标系中绘制多个图形。 plot(x, y, ‘s’):开关格式,开关量字符串s设定了图形曲线的颜色、线型及标示符号。 2. 绘制三维图形的常用函数 (1)三维曲线图——plot3函数 plot3(x1, y1, z1, 's1', x2, y2, z2, 's2'…) (2)三维网格图——mesh函数为数据点绘制网格线: mesh(z) —— z为n×m的矩阵,x与y坐标为元素的下标位置 mesh(x, y, z) —— x, y, z分别为三维空间的坐标位置 (3)三维曲面图——由surf函数完成的,用法和mesh类似。 3. 绘制图形的辅助操作 title ——给图形加标题 xlable ——给x轴加标注 ylable ——给y轴加标注 text ——在图形指定的任意位置加标注 gtext ——利用鼠标将标注加到图形任意位置 grid on ——打开坐标网格线

grid off ——关闭坐标网格线 legend —— 添加图例 axis —— 控制坐标轴刻度 4. 特殊坐标系 极坐标图形—— polar(theta,rho(i,:)) 四、实验内容 1、绘制23sin(23)26 t y t e π-=+和它的导数在[0,4π]的曲线,并用适当的字体、大小标注其x 轴、y 轴及其函数。 2、采用两种不同方法绘制224y x xe z --=在]3,3[,-∈y x 的三维(透视)网格曲面。(提示:ezmesh; mesh; hidden ) 3、绘制下列极坐标图形 r=3(1-cos θ) r=2(1+cos θ) r=2(1+sin θ) r=cos3 θ r=exp(4π θ) 4、在同一坐标内,分别用不同线型和颜色绘制曲线0.510.2cos4x y e x π-= 和0.522cos x y e x π-=,标记两曲线交叉点。 五、实验过程及结果(含源代码) 六、实验总结

实验4 Matlab程序设计1

实验4 Matlab 程序设计1 实验目的: 1、 掌握建立和执行M 文件的方法; 2、 掌握实现选择结构的方法; 3、 掌握实现循环结构的方法。 实验内容: 1. 从键盘输入一个4位整数,按如下规则加密后输出。加密规则:每位数字都加上7,然 后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。 2. 求分段函数的值。 ,x x x x y x x x x x x x ?+- <≠-?=-+ ≤<≠≠??-- ?2226035605231且且及其他 用if 语句实现,分别输出x=-5,-3,0,1,2,2.5,3,5时的y 值。 3. 输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E ,其中90~100分为A ,80~89 分为B ,70~79分为C ,60~69分为D ,60分以下为E 。 要求: (1) 分别用if 语句和swich 语句实现。 (2) 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 4. 硅谷公司员工的工资计算方法如下: (1) 工作时数超过120小时者,超过部分加发15%; (2) 工作时数低于60小时者,扣发700元; (3) 其余按每小时84元计发。

试编程按输入的工号和该号员工的工时数,计算应发工资。 5.设计程序,完成两位数的加、减、乘、除四则运算。即:输入两个两位随机整数,再输 入一个运算符号,做相应的运算,并显示相应的结果。 6.建立5×6矩阵,要求输出矩阵的第n行元素。当n值超过矩阵的行数时,自动转为输 出矩阵的最后一行元素,并给出出错信息。 7.产生20个两位随机整数,输出其中小于平均数的偶数。 实验代码及实验结果 1. >> a=input('请输入一个四位整数:'); 请输入一个四位整数:9988 >> a1=fix(a/1000); >> a2=rem(fix(a/100),10); >> a3=rem(fix(a/10),10); >> a4=rem(a,10); >> a1=rem(a1+7,10); >> a2=rem(a2+7,10); >> a3=rem(a3+7,10); >> a4=rem(a4+7,10); >> b=a1;a1=a3;a3=b; >> b=a2;a2=a4;a4=b; >> c=a1*1000+a2*100+a3*10+a4; >> disp(c)

河南城建学院MATLAB上机实验答案

一熟悉Matlab工作环境 1、熟悉Matlab的5个基本窗口 思考题: (1)变量如何声明,变量名须遵守什么规则、是否区分大小写。 答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。变量名要遵守以下几条规则:?变量名必须以字母开头,只能由字母、数字或下划线组成。 ?变量名区分大小写。 ?变量名不能超过63个字符。 ?关键字不能作为变量名。 ?最好不要用特殊常量作为变量名。 (2)试说明分号、逗号、冒号的用法。 分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。 逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。 冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。 (3)linspace()称为“线性等分”函数,说明它的用法。 LINSPACE Linearly spaced vector. 线性等分函数 LINSPACE(X1, X2) generates a row vector of 100 linearly equally spaced points between X1 and X2. 以X1为首元素,X2为末元素平均生成100个元素的行向量。 LINSPACE(X1, X2, N) generates N points between X1 and X2. For N < 2, LINSPACE returns X2. 以X1为首元素,X2为末元素平均生成n个元素的行向量。如果n<2,返回X2。 Class support for inputs X1,X2: float: double, single 数据类型:单精度、双精度浮点型。 (4)说明函数ones()、zeros()、eye()的用法。 ones()生成全1矩阵。 zeros()生成全0矩阵。 eye()生成单位矩阵。 2、Matlab的数值显示格式

相关文档
最新文档