MATLAB实验七
- 格式:doc
- 大小:201.50 KB
- 文档页数:3
MATLAB实验报告一、实验目的本次 MATLAB 实验旨在深入了解和掌握 MATLAB 软件的基本操作和应用,通过实际编程和数据处理,提高解决问题的能力,培养编程思维和逻辑分析能力。
二、实验环境本次实验使用的是 MATLAB R2020a 版本,运行在 Windows 10 操作系统上。
计算机配置为英特尔酷睿 i5 处理器,8GB 内存。
三、实验内容(一)矩阵运算1、矩阵的创建使用直接输入、函数生成和从外部文件导入等方式创建矩阵。
例如,通过`1 2 3; 4 5 6; 7 8 9` 直接输入创建一个 3 行 3 列的矩阵;使用`ones(3,3)`函数创建一个 3 行 3 列元素全为 1 的矩阵。
2、矩阵的基本运算包括矩阵的加减乘除、求逆、转置等。
例如,对于两个相同维度的矩阵`A` 和`B` ,可以进行加法运算`C = A + B` 。
3、矩阵的特征值和特征向量计算通过`eig` 函数计算矩阵的特征值和特征向量,加深对线性代数知识的理解和应用。
(二)函数编写1、自定义函数使用`function` 关键字定义自己的函数,例如编写一个计算两个数之和的函数`function s = add(a,b) s = a + b; end` 。
2、函数的调用在主程序中调用自定义函数,并传递参数进行计算。
3、函数的参数传递了解值传递和引用传递的区别,以及如何根据实际需求选择合适的参数传递方式。
(三)绘图功能1、二维图形绘制使用`plot` 函数绘制简单的折线图、曲线等,如`x = 0:01:2pi; y = sin(x); plot(x,y)`绘制正弦曲线。
2、图形的修饰通过设置坐标轴范围、标题、标签、线条颜色和样式等属性,使图形更加清晰和美观。
3、三维图形绘制尝试使用`mesh` 、`surf` 等函数绘制三维图形,如绘制一个球面`x,y,z = sphere(50); surf(x,y,z)`。
(四)数据处理与分析1、数据的读取和写入使用`load` 和`save` 函数从外部文件读取数据和将数据保存到文件中。
实验七 连续信号与系统复频域分析的MATLAB 实现一、实验目的1. 掌握连续时间信号拉普拉斯变换的MATLAB 实现方法;2. 掌握连续系统复频域分析的MATLAB 实现方法。
二、实验原理1. 连续时间信号的拉普拉斯变换连续时间信号的拉普拉斯正变换和逆变换分别为:⎰∞∞--=dt e t f s F st )()(⎰∞+∞-=j j stds e s F j t f σσπ)(21)(Matlab 的符号数学工具箱(Symbolic Math Toolbox )提供了能直接求解拉普拉斯变换和逆变换的符号运算函数laplace()和ilaplace ()。
下面举例说明两函数的调用方法。
(1)拉普拉斯变换例1.求以下函数的拉普拉斯变换。
)()()2()()()1(221t te t f t e t f t t εε--==解:输入如下M 文件:syms tf1=sym('exp(-2*t)*Heaviside(t)'); F1=laplace(f1) %求f1(t)的拉普拉斯变换 f2=sym('t*exp(-t)*Heaviside(t)'); F2=laplace(f2) 运行后,可得如下结果:F1 = 1/(s+2) F2 = 1/(s+1)^2 (2)拉普拉斯逆变换例2.若系统的系统函数为1]Re[,231)(2->++=s s s s H 。
求冲激响应)(t h 。
解:输入如下M 文件:H=sym('1/(s^2+3*s+2)');h=ilaplace(H) %求拉普拉斯逆变换运行后,可得如下结果:h=exp(-t)-exp(-2*t) 2. 连续系统的复频域分析 若描述系统的微分方程为∑∑===Mj j j Ni i i t f b t ya 0)(0)()()(则系统函数为)()()()()(00s A s B sa sb s F s Y s H Ni ii Mj jj===∑∑== 其中,∑∑====Mj j j Ni i i s b s B s a s A 0)(,)(。
MATLAB全部实验及答案实验一、MATLAB基本操作实验内容及步骤1、命令窗口的简单使用(1)简单矩阵的输入(2)求[12+2×(7-4)]÷32的算术运算结果2、有关向量、矩阵或数组的一些运算(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,clca=[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);endc(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 1625 26 2326 24 28a.^2=1 4 99 16 425 4 9(7)有一段指令如下,请思考并说明运行结果及其原因clearX=[1 2;8 9;3 6];X( : ) 转化为列向量(8)使用三元组方法,创建下列稀疏矩阵2 0 8 00 0 0 10 4 0 06 0 0 0方法一:clear,clcdata=[2 8 1 4 6];ir=[1 1 2 3 4 ];jc=[1 3 4 2 1];s=sparse(ir,jc,data,4,4);full(s)方法二:不用三元组法clear,clca=zeros(4,4);a(1,[1,3])=[2,8];a(2,4)=1;a(3,2)=4;a(4,1)=6;a(9) 写出下列指令的运行结果>> A = [ 1 2 3 ]; B = [ 4 5 6 ];>> C = 3.^A>> D = A.^B3、 已知⎪⎭⎫ ⎝⎛+⋅=-334sin 234πt e y t 若需要计算t ∈[-1,1],取间隔为0.01,试计算出相对应的y 值。
MATLAB实验报告学校:湖北文理学院学院:物理与电子工程学院专业:电子信息工程学号: 2013128182 姓名:张冲指导教师:宋立新实验一 MATLAB环境的熟悉与基本运算一、实验目的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验内容1、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)2、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。
3、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、exerc3……),学习使用MATLAB的基本运算符。
三、练习1)help rand,然后随机生成一个2×6的数组,观察command window、command history和workspace等窗口的变化结果。
2)学习使用clc、clear,了解其功能和作用。
3)用逻辑表达式求下列分段函数的值4)求[100,999]之间能被21整除的数的个数。
(提示:rem,sum的用法)四、实验结果1)2)clc:清除命令窗口所有内容,数值不变;clear:初始化变量的值。
3)4)实验二 MATLAB数值运算一、实验目的1、掌握矩阵的基本运算2、掌握矩阵的数组运算二、实验内容1)输入C=1:2:20,则C(i)表示什么?其中i=1,2,3, (10)2)输入A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3],在命令窗口中执行下列表达式,掌握其含义: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./A3)二维数组的创建和寻访,创建一个二维数组(4×8)A,查询数组A第2行、第3列的元素,查询数组A第2行的所有元素,查询数组A第6列的所有元素。
实验报告说明:matlab 课程实验需撰写8个实验报告,每个实验报告内容写每次实验内容中标号呈黑体大号字显示的题目。
第一次实验内容:实验一 MATLAB 运算基础一、实验目的1.熟悉启动和退出MATLAB 的方法。
2.熟悉MATLAB 命令窗口的组成。
3.掌握建立矩阵的方法。
|4.掌握MATLAB 各种表达式的书写规则以及常用函数的使用。
二、实验内容1.先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1)22sin 8511z e︒=+ (2)12ln(2z x =,其中2120.455i +⎡⎤=⎢⎥-⎣⎦(3)0.30.33sin(0.3), 3.0, 2.9, 2.8,,2.8,2.9,3.02a ae e z a a --=+=--- 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。
(4)2220141122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪--≤<⎩,其中t =0::】提示:用逻辑表达式求分段函数值。
2.已知12344347873657A -⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,131203327B -⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求下列表达式的值:(1) A+6=B 和A-B+I(其中I 为单位矩阵)。
(2) A*B 和A.*B 。
(3) A^3和A^.3 。
(4) A/B 和B\A 。
(5)[A ,B]和[A([1,3],;);B^2] 。
!3.设有矩阵A 和B12345678910111213141516171819202122232425A ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦, 30161769023497041311B ⎡⎤⎢⎥-⎢⎥⎢⎥=-⎢⎥⎢⎥⎢⎥⎣⎦(1) 求它们的乘积C 。
(2) 将矩阵C 的右下角3×2子矩阵赋给D(3) 查看MATLAB 工作空间使用情况。
4.完成下列操作:(1)求[100,999]之间能被21整除的数的个数。
实验一、MATLAB语言的数值运算1、实验目的(1)学习MATLAB语言的基本矩阵运算;(2)学习MATLAB语言的点运算;(3)学习复杂运算;2、实验内容在下面的实验操作中,认真记录每项操作的作用和目的。
(1)基本矩阵运算1)创建数值矩阵。
键入a=[1 2 3;4 5 6;7 8 9];观察aa(3,2)a(:,1)键入t=1:10;u=0:0.1:10;观察矩阵变量t,u的值。
键入a(:,3)=[2;3;4];a观察矩阵a的变化。
2)创建特殊矩阵键入a=ones(3,3);b=zeros(2,2);c=eye(4);magic(4);观察特殊矩阵。
3)练习矩阵运算键入a=[0 1 0;0 0 1;-6 -11 -6];b=[1 2;3 4;5 6];c=[1 1 0;0 1 1];作矩阵乘运算v1=c*av2=a*bv3=c*a*bv4=b*cv5=c*b矩阵乘方运算a^2a^(1/2)矩阵加减运算a1=a+b*ca2=c*b-a(1:2,1:2)a3=a(1:2,2:3)+c*b矩阵右除ar=c/a矩阵左除a1=a\b4)练习矩阵特征运算选定某一矩阵完成如下矩阵特征运算a’, inv(a),diag(a),poly(a),rank(a),det(a),trace(a),eig(a)(2)Matlab语言的点运算a1=[1 2;3 4];a2=0.2*a1;观察[a1 a2][a1.*a2 a1./a2](3)多项式运算1)建立多项式向量ap=[1 3 3 1] ;b=[-1 -2 -3] ;bp=poly(b)2)练习多项式乘与求根。
p=conv(ap,bp)roots(p)3)练习多项式运算。
a=[1 2 3 4]; x=[2 4 5;-1 0 3; 2 1 5] polyvalm(a, x)实验二、MATLAB 语言的符号运算1、实验目的(1)学习MATLAB 语言的基本符号运算; (2)学习MATLAB 语言的矩阵符号运算;2、实验内容 (1)基本符号运算1) 符号微分、积分 syms t f1=sin (2*t); df1=diff(f1) if1=int (f1)2) 泰勒级数展开 tf1=taylor (f1,8) 3) 符号代数方程求解 syms a b c x; f=a*x^2+b*x+c; ef=solve (f)4) 符号微分方程求解f=’D2x+2*Dx+10*x=0’;g=’Dx(0)=1,x(0)=0’;dfg=dsolve(f,g)求满足初始条件的二阶常系数齐次微分方程的特解:2|,4|,020'022-===++==t t s s s dtdsdt s d 5) 积分变换 syms tf1=exp(-2*t)*sin (5*t) F1=laplace(f1)F2=ilaplace(F1)(2) 符号矩阵运算1)创建与修改符号矩阵G1=sym(‘[1/(s+1),s/(s+1)/(s+2);1/(s+1)/(s+2),s/(s+2)]’) G2=subs(G1,G1(2,2),’0’)G3=G1(1,1)2)常规符号运算syms sd1=1/(s+1);d2=1/(s+2);d=d1*d2ad=sym(‘[s+1 s;0 s+2]’);G=d*adn1=[1 2 3 4 5];n2=[1 2 3];p1=poly2sym (n1);p2=poly2sym(n2);p=p1+p2pn=sym2poly(p)实验三、Matlab语言的绘图一、实验目的(1)学习Matlab的各种二维绘图;(2)学习Matlab的三维绘图;二、实验内容(1)基本二维绘图1)向量绘图。
实验七 信号处理工具箱[实验内容]MATLAB 信号处理工具箱(signal processing toolbox) 是一个建立在MATLAB 数值计算环境上的工具集合,它的大多数功能是通过函数的调用来实现的,工具箱函数根据常用的信号处理应用需求,整合了数据生成、数据计算以及数据图形化的功能,从而最大限度地方便信号处理系统设计人员的工作。
信号处理工具箱它在波形生成、滤波器的设计、参数模型以及频谱分析中有着广泛的运用。
1.信号及其表示连续时间信号:时间变化连续。
如y=x(t)离散时间信号(序列):时间离散,如x(nT)=x(t)|t=nT.表:工具箱中的信号产生函数● 产生正弦波t=0:0.01:3*pi; y=sin(2*t); plot(t,y)● 产生矩形脉冲信号 t=-3:0.01:3;y=rectpuls(t-1,2); plot(t,y)axis([-3 ,3 ,-2 ,2])● 产生周期锯齿波 t=0:0.001:2.5;y=sawtooth(2*pi*30*t);plot(t,y)axis([0 0.2 -1 1])● 绘制离散时间信号的棒状图。
其中x(-1)=-1, x(0)=1, x(1)=2, x(2)=1, x(3)=0,x(4)=-1。
n=-3:5; %定位时间变量 x=[0,0,-1,1,2,1,-1,0,0];stem(n,x); grid; % 绘制棒状图 line([-3,5],[0,0]); %画x 轴线 xlabel('n'); ylabel('x[n]')2.信号的基本运算● 信号的相加与相乘 t=0:0.01:2;f1=exp(-3*t);f2=0.2*sin(4*pi*t); f3=f1+f2;f4=f1.*f2;subplot(2,2,1);plot(t,f1);title('f1(t)'); subplot(2,2,2);plot(t,f2); title('f2(t)');subplot(2,2,3);plot(t,f3);title('f1+f2'); subplot(2,2,4);plot(t,f4); title('f1.*f2');● 已知f(t)=sin(t)/t,试通过反褶、移位、尺度变换由f(t)得到f(-2t+3) 的波形. syms t;f=sin(t)/t;%定义符号函数 f1=subs(f,t,t+3); %进行移位f2=subs(f1,t,2*t);%进行尺度变换 f3=subs(f2,t,-t); %进行反褶subplot(2,2,1);ezplot(f,[-8,8]);grid on;% ezplot 是符号函数绘图命令 subplot(2,2,2);ezplot(f1,[-8,8]);grid on; subplot(2,2,3);ezplot(f2,[-8,8]);grid on; subplot(2,2,4);nx [n ]f1(t)f2(t)f1+f2f1.*f2t sin(t)/t tsin(t+3)/(t+3)tsin(2 t+3)/(2 t+3)t-sin(2 t-3)/(-2 t+3)ezplot(f3,[-8,8]);grid on;● 卷积运算:12010t f t else ,(),≤≤⎧=⎨⎩2020t t f t else,(),≤≤⎧=⎨⎩ t11=0; t12=1;t21=0; t22=2; t1=t11:0.001:t12;ft1=2.*rectpuls(t1-0.5,1); subplot(3,1,1);plot(t1,ft1);axis([0 3 0 4]) t2=t21:0.001:t22; ft2=t2;subplot(3,1,2);plot(t2,ft2);axis([0 3 0 4]) t3=t11+t21:0.001:t12+t22; ft3=conv(ft1,ft2) ft3=ft3*0.001 subplot(3,1,3);plot(t3,ft3);axis([0 3 0 4])3.线性系统时域分析● 求系统211308s H s s s ()..+=++的冲激响应、阶跃响应及对输入u t t ()sin()=的响应. num=[1,1]; den=[1,1.3,0.8];T=0:0.1:3;y1=impulse(num,den,T);y2=step(num,den,T); U=sin(T); y3=lsim(num,den,U,T); subplot(1,3,1);plot(T,y1);title('脉冲响应')subplot(1,3,2);plot(T,y2);title('阶跃响应')subplot(1,3,3);plot(T,y3);title('输入为u(t)=sin(t)的响应')脉冲响应阶跃响应输入为u(t)=sin(t)的响应[实验结果]1.●产生正弦波●产生矩形脉冲信号●产生周期锯齿波绘制离散时间信号的棒状图●信号的相加与相乘 f(t)→f(-2t+3)的图形●卷积运算线性系统时域分析。
实验七 matlab 求解级数有关计算1.级数的基本概念常数项级数:称用加号将数列n a 的项连成的式子+++++n a a a a 321为(常数项)无穷级数,简记为∑∞=1n na。
称级数∑∞=1n na前n 项构成的和∑==++++=nk kn n a a a a a S 1321为级数的部分和。
若SS n n =∞→lim ,则称级数∑∞=1n na收敛,其和为S 。
Taylor 级数:设函数)(x f 在包含a x =的区域内具有各阶导数,则称幂级数+-++-+-+=-∑∞=n n n n n a x n a f a x a f a x a f a f a x n a f )(!)()(!2)())((')()(!)()(2)2(0)(为函数)(x f 在a x =的Taylor 级数,当0=a 时称为Maclaurin(麦克劳林)级数。
2.级数的MATLAB 命令MATLAB 中主要用symsum,taylor 求级数的和及进行Taylor 展开。
例1 先用taylor 命令观测函数x y sin =的Maclaurin 展开式的前几项,例如观测前6项, 相应的MA TLAB 代码为:>>clear; syms x;>>taylor(sin(x),0,1) >>taylor(sin(x),0,2) >>taylor(sin(x),0,3) >>taylor(sin(x),0,4) >>taylor(sin(x),0,5) >>taylor(sin(x),0,6)结果为:ans =0 ans =x ans =xans =x-1/6*x^3 ans =x-1/6*x^3ans =x-1/6*x^3+1/120*x^5然后在同一坐标系里作出函数x y sin =和它的Taylor 展开式的前几项构成的多项式函数,,!5!3,!3,533 x x x y x x y x y +-=-==的图形,观测这些多项式函数的图形向x y sin =的图形的逼近的情况。
实验一、MATLAB基本操作一、实验目的2.学习使用图形函数计算器命令funtool及其环境。
3. 学习使用help命令进行帮助4. 掌握向量与矩阵的创建以及矩阵的基本操作5. 掌握数组与矩阵的概念二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;掌握数组与矩阵的概念;学会使用help命令进行帮助;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool;1.命令窗口的简单使用(1)简单矩阵的输入(自由创建)x=[1 3 5;2 4 6]x =1 3 52 4 6(2)求[12+2×(7-4)]÷32的算术运算结果,总结算术运算符先级[12+2*(7-4)]/3^2ans =22.有关向量、矩阵或数组的一些运算(1)设A=15;B=20;求C=A+B与c=a+b的区别A=15;B=20;>> C=A+BC =35>> c=a+bUndefined function or variable 'a'.(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是对应元素相乘)A=[1 2 3;4 5 6;7 8 9];B=[9 8 7;6 5 4;3 2 1];>> A*Bans =30 24 1884 69 54138 114 90>> A.*Bans =9 16 2124 25 2421 16 9(3)设a=10,b=20;求i=a/b与j=a\ba=10;>> b=20;>> i=a/bi =0.5000>> j=a\bj =2(4)设a=[1 -2 3;4 5 -4;5 -6 7]请设计出程序,分别找出小于0的矩阵元素的线性索引以及行列索引(sub2ind/ind2sub)。