北京交通大学MATLAB实验3

合集下载

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

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

MATLAB上机实验报告(2)实验容:一、试用如下几种方法来建立向量,观察结果(1)x=1:5, x=(1:5)’实验结果:x=1:5 是行向量,x=(1:5)’是列向量.且1为初始值,5为终止值,默认的步长为1.>> x=1:5x =1 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=exp(-x).*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 0.2000 0.4000 0.60000.80001.0000 1.2000 1.4000 1.60001.80002.0000 2.2000 2.4000 2.60002.80003.0000 y =0.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。

北科大matlab数学实验报告第三次北科大matlab数学实验报告第三次Matlab 数学实验 全部答案 精华版

北科大matlab数学实验报告第三次北科大matlab数学实验报告第三次Matlab 数学实验 全部答案 精华版

《数学实验》报告实验名称数学实验第三次报告学院专业班级姓名学号2013年11月学会用MATLAB绘制二维曲线,掌握gtext, legend, title, xlabel, ylabel等指令用法。

二、【实验任务】完成课后第4章第5,6,8,9题。

P79三、【实验程序】1,x=0:pi/50:4*pi;y=exp(x/3).*sin(3*x);plot(x,y ,'b*'),grid onhold onz1=exp(x/3);z2=-exp(x/3);plot(x,z1,'r-.')hold onplot(x,z2,'r-.')2,clf;x1=-pi:pi/50:pi; y1=x1.*cos(x1);x2=pi:pi/50:4*pi;y2=x2.*tan(1./x2).*sin(x2.^3);x3=1:0.1:8; y3=exp(1./x3).*sin(x3);subplot(1,3,1);plot(x1,y1,'r-'),grid ontitle('y1=x1.*cosx1')legend('x1.*cosx1')xlabel('x轴') ,ylabel('y轴')subplot(1,3,2);plot(x2,y2,'g-'),grid ontitle('y2=x2.*tan(1./x2).*sin(x2.^3)')legend('x2.*tan(1/x2).*sinx2')xlabel('x轴') ,ylabel('y轴')subplot(1,3,3);plot(x3,y3,'b-'),grid ontitle('y3=exp(1./x3).*sin(x3)')xlabel('x轴') ,ylabel('y轴')legend('exp(1./x3).*sinx3')axis tightgtext('y1=x1.*cosx1')gtext('y2=x2.*tan(1./x2).*sin(x2.^3)')gtext('y3=exp(1./x3).*sin(x3)')1,2,这次作业明显比第一次轻松了许多,在上课认真听讲后,又研读了书上的讲解和例题,起初是模仿,后来自己就能完全理解并做出题目来。

MATLAB 语言及其应用 实验报告

MATLAB 语言及其应用 实验报告

《MATLAB 语言及其应用》实验报告目录实验一Matlab 使用方法和程序设计........................实验二控制系统的模型及其转换.............................实验三控制系统的时域、频域和根轨迹分析...........实验四动态仿真集成环境-Simulink.........................实验一Matlab使用方法和程序设计一、实验目的1、掌握Matlab软件使用的基本方法;2、熟悉Matlab的数据表示、基本运算和程序控制语句3、熟悉Matlab绘图命令及基本绘图控制4、熟悉Matlab程序设计的基本方法二、实验内容:1、帮助命令使用help命令,查找 sqrt(开方)函数的使用方法;答:help sqrt2、矩阵运算(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*Bans =105 115229 251(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\Bans =1.0e+016 *-0.4504 1.8014 -1.35110.9007 -3.6029 2.7022-0.4504 1.8014 -1.3511>> A/Bans =1.0000 1.0000 1.00004.0000 2.5000 2.00007.0000 4.0000 3.0000(3)矩阵的转置及共轭转置已知A=[5+i,2-i,1;6*i,4,9-i];求A.', A'解:>> A=[5+i,2-i,1;6*i,4,9-i];>> A.'ans =5.0000 + 1.0000i 0 +6.0000i2.0000 - 1.0000i 4.00001.0000 9.0000 - 1.0000i>> A'ans =5.0000 - 1.0000i 0 -6.0000i2.0000 + 1.0000i 4.00001.0000 9.0000 + 1.0000i(4)使用冒号表达式选出指定元素已知: A=[1 2 3;4 5 6;7 8 9];求A中第3列前2个元素;A中所有列第2,3行的元素;>> A=[1 2 3;4 5 6;7 8 9];>> B=A(1:2,3)B =36>> B1=A(2:3,:)B1 =4 5 67 8 9用magic函数生成一个4阶魔术矩阵,删除该矩阵的第四列>> A=magic(4)A =16 2 3 135 11 10 89 7 6 124 14 15 1>> B=A(:,1:3)B =16 2 35 11 109 7 64 14 153、多项式(1)求多项式4xxp的根2=x)(3-->> p=[1 0 -2 -4];>> r=roots(p)r =2.0000-1.0000 + 1.0000i-1.0000 - 1.0000i(2)已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ,求矩阵A的特征多项式;>> A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ;>> p=poly(A)p =1.0000 -6.9000 -77.2600 -86.1300 604.5500把矩阵A作为未知数代入到多项式中;>> A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ;>> syms x;P=x^3-2*x-4;>> P1=subs(P,x,A)P1 =-4.6720 17.0000 111.0000 -5.0710111.0000 -2.4870 111.0000 200.000017.0000 707.0000 -4.0000 -5.0000-5.0000 0 17.0000 52.00004、基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π](2)在同一坐标系中绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5),t∈[0,2π]解:(1)程序为:t=[0:0.05:2*pi];y=cos(t);plot(t,y)(2)程序如下:x=[0:0.05:2*pi];y1=cos(x-0.25);y2=sin(x-0.5);plot(x,y1,x,y2)绘制曲线如下:5、基本绘图控制绘制[0,4π]区间上的x1=10sint曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)坐标轴控制:显示范围、刻度线、比例、网络线(3)标注控制:坐标轴名称、标题、相应文本;程序为:>> t=[0:0.05:4*pi];x1=10*sin(t);plot(t,x1,'r-.+')grid on;axis([0,15,-10,10]);title('曲线x1=10sint');xlabel('T轴');ylabel('X1轴');set(gca,'xminortick','on');set(gca,'yminortick','on');6、基本程序设计(1)编写命令文件:计算1+2+…+n<2000 时的最大n值;>> s=1;n=1;while(s<2000-n),n=n+1;s=s+n;end,[s,n]ans =1953 62(2)编写函数文件:分别用for和while循环结构编写程序,求2的0到n次幂的和。

北京交通大学现代控制理论matlab实验报告

北京交通大学现代控制理论matlab实验报告

北京交通⼤学现代控制理论matlab实验报告实验⼀利⽤MATLAB进⾏线性系统的模型转换及联结课程:现代控制理论姓名:王柬⽂学号:11212070班级:⾃动化1103指导教师:张勇标题 (1)⽬录 (2)⼀实验⽬的: (3)⼆实验原理: (3)三实验步骤: (6)四实验要求: (7)五实验内容: (8)1 (8)2 (18)3 (29)4 (36)5 (37)六实验感想: (40)⼀实验⽬的:1、学习系统状态空间模型的建⽴⽅法、了解状态空间模型与传递函数、零极点模型之间相互转换的⽅法;2、通过编程、上机调试,掌握系统状态空间模型与传递函数相互转换的⽅法。

3、通过编程、上机调试,掌握系统模型的联结⽅法。

⼆实验原理:⼀、连续系统(1)状态空间模型x Ax Buy Cx Du=+=+& (1.1)其中:nx R ∈是系统的状态向量,mu R ∈是控制输⼊,py R ∈是测量输出,A 是n n ?维状态矩阵、B 是n m ?维输⼊矩阵、C 是p n ?维输出矩阵、D 是直接转移矩阵。

在MATLAB 中,⽤(A,B,C,D )矩阵组表⽰。

系统传递函数和状态空间模型之间的关系如式(1.2)所⽰。

1()()G s C sI A B D -=-+ (1.2)(2)传递函数模型11101110()(),()m m m m n n n n b s b s b s b num s H s m n den s a s a s a s a ----++++==≤++++L L 在MATLAB 中,直接⽤分⼦/分母的系数表⽰1010[,,,][,,,]m m n n num b b b den a a a --==L L(3)零极点增益模型1212()()()()()()()m n s z s z s z H s ks p s p s p ---=---L L在MATLAB 中,⽤[z, p, k]⽮量组表⽰,即1212[,,,];[,,,];[];m n z z z z p p p p k k ===L L ⼆、离散系统(1)传递函数模型11101110()m m m m n n n n b z b z b z b H z a z a z a z a ----++++=++++L L (2)零极点增益模型1212()()()()()()()m n z z z z z z H z kz p z p z p ---=---L L(3)状态空间模型(1)()()()()()x k Ax k Bu k y k Cx k Du k +=+=+三、三种模型间的转换表⽰状态空间模型和传递函数的MATLAB 函数。

MATLAB实验3

MATLAB实验3

实验三函数式M文件和MA TLAB绘图一、实验目的:1、掌握基本的绘图命令2、掌握各种图形注释方法3、掌握三维图形的绘制方法4、了解一些特殊图形的绘制5、了解图形的高级控制技巧二、相关知识1基本的绘图命令1)、常用绘图命令常用的统计图函数:在MA TLAB 7中,使用plot函数进行二维曲线图的绘制>> x=0:0.1:10;>> y1=sin(x);>> y2=cos(x-2.5);>> y3=sqrt(x);>> plot(x,y1,x,y2,x,y3)3)、极坐标图形的绘制MA TLAB提供了polar(x1,x2,s)函数来在极坐标下绘制图形:(参数1角度,参数2极半径,参数3颜色和线性)>> x= 0:0.01:10;>> y1=sin(x);>> y2 = cos(x-2.5);>> polar(y1,y2,'-r+')4)、多个图形的绘制方法subplot函数可以实现多个图形的绘制:>>x = 0:.1:20;>>subplot(2,2,1)>>plot(x,sin(x));>>subplot(2,2,2);>>plot(x,cos(x))5)、曲线的色彩、线型和数据点型基本的绘图命令都支持使用字符串来给不同的曲线定义不同的线型,颜色和数据点型。

plot(x,sin(x),'-rd')图形注释对图形进行注释的方式A 图形注释“工具栏。

B 图形调色板中的注释工具C insert 菜单中的“注释”命令D 直接使用注释命令Annotation 函数Xlabel ,ylabel ,zlabel 函数 Title 函数 Colorbar 函数 Legend 函数实验内容: 一、 基础练习1、跟我练输入x,y 的值,并将它们的值互换后输出 x=input('Input x please:\n');y=input('Input y please:\n'); echo on z=x; x=y; y=z; disp(x); disp(y);echo off2、练习请求键盘输入命令keyboard ,处理完毕后,键入return ,程序将继续运行 求一元二次方程ax2 +bx+c=0的根。

MATLAB实验三 信号的调制与解调

MATLAB实验三 信号的调制与解调

实验三信号的调制与解调一.实验目的:1.熟悉幅度调制与解调过程,熟悉调制解调过程中信号时域波形和频谱。

2.掌握Modulate函数实现调幅和调频信号。

3.熟悉快速傅立叶变换函数fft,求模函数abs和fftshift函数求信号幅度频谱。

4.掌握butter函数进行巴特沃兹低通滤波器设计,熟悉滤波器频率响应函数freqz,滤波函数filter。

5.熟悉信号的合成与分解原理,加深对傅里叶级数的理解;二、实验原理:1.两个信号的调制通常用乘法器实现,由一个信号控制另一个信号的某个参量,例如用一个低频正弦波信号控制高频载波的幅值,则产生一个振幅调制信号,称为调幅波;类似还可产生调频波等。

2.幅度调制与解调原理:(如下图所示)调制信号()p t,假设信道不引入噪声,解调时采用同步解f t,载波()调,LPF为低通滤波器,()f t为接收信号。

C三、实验内容1.验证性实验a)使用modulate函数产生调幅信号解:Fm=10; Fc=100; Fs=1000; N=1000; k=0:N; t=k/Fs;x=abs(sin(2*pi*Fm*t));xf=abs(fft(x,N)); y1=modulate(x,Fc,Fs,'am');subplot(2,1,1);plot(t(1:200),y1(1:200));xlabel('时间'); ylabel('幅度'); title('调幅');yf=abs(fft(y1,N)); subplot(2,1,2); stem(yf(1:200));xlabel('频率');ylabel('幅度');b)使用modulate函数产生调频信号解:Fm=10; Fc=100; Fs=1000; N=1000; k=0:N; t=k/Fs;x=abs(sin(2*pi*Fm*t));xf=abs(fft(x,N)); y1=modulate(x,Fc,Fs,'pm');subplot(2,1,1);plot(t(1:200),y1(1:200));xlabel('时间'); ylabel('幅度'); title('调频');yf=abs(fft(y1,N)); subplot(2,1,2); stem(yf(1:200)); xlabel('频率');ylabel('幅度');c)周期信号的分解与合成解:t=-3:0.01:3; Fm=0.5; sum=0; n=100; for i=1:2:n;sum=sum+4/pi.*(1/i).*sin(i*2*pi*Fm*t); endplot(t,sum);title('周期信号的分解与合成');2. 设计性实验1) 发射端调制信号()2cos(2)f t t =,载波()cos(20)p t t =,已调信号()A f t ,理想信道无噪声。

MATLAB第三次实验

MATLAB第三次实验

工业工程的计算机方法实验报告实验序号:_______________学号:_______________姓名:_______________日期:_______________一.实验目的1.熟悉Matlab图像处理的基本理论和概念,了解图像处理的基本应用和简单的处理方法。

2.进行Matlab图像处理处理的操作和运算,以及一些基础的图像处理技术的应用二.实验效果1、编写一个程序实现以下功能:选择一幅图像,将其转换成灰度图像,然后进行灰度图的直方图生成,然后进行灰度直方图均衡化,最后进行灰度图的二值化。

将以上四种图像显示在一个窗口。

效果图如下:2、选取一张彩色柑橘或者荔枝图像,将其转换到YCBCR空间,YUV 和HSI空间,分析对应的CR分量灰度直方图,Y分量直方图和H分量灰度直方图,对其灰度图选取对应的阈值,进行分割,得到果实目标。

转换为YCBCR空间代码如下:YCBCR效果图如下:转换为YUV空间代码如下:YUV效果图如下:转换为HIS空间代码如下:HSI效果图如下:3、选取一张图像,对其灰度图像进行双阈值分割,然后将分割后的目标恢复到其彩色图像。

代码如下:效果图如下:三.实验小结从一开始接触matlab时的朦胧,难解到现在能看懂一部分的matlab图像处理代码,我们的进步,自身是绝对能感觉的到的。

相对大一大二接触大多数纯理论的课,到现在总是在院楼上实验课,我们也知道大三课程注重于生活实践和实用性,培养即将走入社会的我们的动手能力。

Matlab的功能实在强大,无论在数学建模,还是在图像处理领域,都占有十分重要的地位。

在学习中,也是层层深入,第三次试验就是建立在第二次的基础之上的,每次试验课除了有对新知识的了解外,还有对旧知识的复习,真是温故而知新啊。

在第三次实验中,也确实遇到了一些问题,如cat的运用等,因为不熟悉其应用,在最后一道题的还原时卡了挺久的,在多次询问同学之后,终于解决。

还是要多做多练,方能知道自己的疑惑,要敢于向他人求助,事半功倍。

matlab实验三答案详解

matlab实验三答案详解

实验三选择结构程序设计实验内容1.程序代码function f(x)if x<0&x~=-3y=x*x+x-6;elseif x>0&x<5&x~=2&x~=3y=x*x-5.*x+6;elsey=x*x-x-1endy运行结果>> f(-7)y =36>> f(2.5)y =-0.2500>> f(90)y =80092.程序代码score=input('分数=');if score<=100&score>=0switch fix(score/10)case{9,10}grade='A';case{8}grade='B';case{7}grade='C';case{6}grade='D';otherwisegrade='E';endgradeelsedisp('输入有误,请输入正确的百分制成绩');end运行结果>> 分数=56grade =E>> f分数=345输入有误,请输入正确的百分制成绩3.程序代码time=input('工作时间=');switch timecase{time>120}wage=(time-120)*(1+15/100)*84+120*84;case{time<60}wage=time*84-700;otherwisewage=time*84end运行结果>> f工作时间=150wage =12600>> f工作时间=50wage =4200>> f工作时间=110wage =92404.程序代码A=10+90*rand(5);a=fix(A(3,3))b=fix(A(2,4))x=input('输入一个运算符号','s');switch xcase {'+'}c=a+b;case{'-'}c=a-b;case{'*'}c=a*b;case{'/'}c=a/b;otherwisec='无效'endc运行结果>> fa =55b =59输入一个运算符号+c =114>> fa =77b =14输入一个运算符号/c =5.5000>> fa =30b =58输入一个运算符号#c =无效c =无效5.程序代码A=input('输入一个5行6列的矩阵A=');n=input('输入一个正整数n=');if n<5&n>0disp(A(n,:));elsedisp(A(5,:));endlasterr运行结果>> f输入一个5行6列的矩阵A=[1 2 3 4 5 5;2 3 4 5 7 6;2 9 2 2 2 3;11 2 11 9 7 3;2 3 4 5 6 7] 输入一个正整数n=62 3 4 5 6 7ans =Undefined function or variable 'clcl'.>> f输入一个5行6列的矩阵A=[1 2 3 4 5 5;2 3 4 5 7 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7]输入一个正整数n=32 2 2 2 2 3ans =Undefined function or variable 'clcl'.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京交通大学MATLAB 实验3
实验内容
一、 在同一坐标系下绘制t 2,- t 2,t 2sin t 在[0,2]t π∈内的曲线图;选择合适的“曲线线型”,“曲线颜色”、“标记符号”选项,并在图形上加注坐标轴名和图名。

仿真程序:
%实验三,题1
close all;clear all;clc;
t=linspace(0,2*pi,1024);
y1=t.^2;
y2=-t.^2;
y3=(t.^2).*sin(t);
figure(2);plot(t,y1,':y',t,y2,'--g',t,y3,'-r');
legend('y=t^2','y=-t^2','y=t^2*sin(t)');
title('三个函数图形');xlabel('t');ylabel('f(t)');
仿真结果:
二、 选择合适的θ的范围,讲同一图形窗口分割成2行2列绘制下列4幅极坐标图 2
3(1) 1.0013(2)cos(3.5)sin (3)(4)1cos (7)
ρθρρρθθθ
θ====-
仿真程序:
%实验三,题2
theta=linspace(0,16*pi,2048);
subplot(2,2,1);polar(theta,1.0013*theta.^2);
subplot(2,2,2);polar(theta,cos(3.5*theta));
subplot(2,2,3);polar(theta,sin(theta)./theta);
subplot(2,2,4);polar(theta,1-(cos(7*theta)).^3);
仿真结果:
三、 用鼠标左键在图形窗口上取5个点,在每个点的位置处写出一个字符串来显式鼠标
点的横坐标值,然后将这些点连成折线。

仿真程序:
%实验三,题3
close all;clc;clear all;
axis([0,10,0,10]);
hold on;
box on;
x=[];y=[];
while(1)
[x1,y1,button]=ginput(1);
if(button~=1)
break;
end
plot(x1,y1,'ro');
x=[x,x1];
y=[y,y1];
text((x1+0.1),y1,mat2str(x1));
end
line(x,y);
hold off;
仿真结果:
四、求积分
4
()
a f x dx
=⎰,其中
2
ln,
()ln16
,2
2sin(1)
2
x if x
f x
if x



=⎨
>
⎪++


1.9741
仿真程序:
%实验三,题4
close all;clear all;clc;
syms y1 y2 x;
y1=int(log(x^2),x,0,2);
y2=int(log(16)/(2+sin((x+1)*pi)),x,2,4);
y=y1+y2;
disp(double(y));
仿真结果:
五、求解方程x5+6x4-3x2=10的5个根,并将其位置用五角星符号标记在复平面上,要
求横纵坐标轴刻度等长,注明虚轴和实轴,在title位置上写出方程。

仿真程序:
%实验三,题5
clc;close all;clear all;
factor=[1 6 0 -3 0 -10];
ro=roots(factor);
disp(ro);
scatter(real(ro),imag(ro),'p');
axis equal;
title('x^5+6x^4-3x^2=10');
xlabel('real axis');ylabel('imagine axis(j)');
仿真结果:
六、 某班同学成绩已经存放在矩阵A 中,每行为某一位同学的数据,第1列为学号,
第2列至第4列为其三门课程的成绩,试编程按照3门课平均成绩由小到大的顺序重新排列成绩表,并放在矩阵B 中。

99234012957388992340338477809923400966807299234067929359A ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦
仿真程序:
%实验三,题6
clc;clear all;close all;
A=[99234012,95,73,88;
99234033,84,77,80;
99234009,66,80,72;
99234067,92,93,59];
[y,index]=sort(mean(A(:,2:end),2));
B=A(index,:);
disp(B);
仿真结果:
七、 解如下微分方程,并绘制出图像y (x ) 2002()0,|0[0,1,|]1,x x y y y y x ==-===∈- 仿真程序:
function xdot=f_03(t,x)
xdot=[x(2);2*(x(2))^2];
t0=0;tf=1;
x0=[0,-1];
[t,x]=ode45('f_03',[t0,tf],x0);
plot(t,x(:,1));
title('y=f(x)');
xlabel('x');ylabel('y');
仿真结果:。

相关文档
最新文档