MATLAB实验报告第三章
MATLAB实验报告
MATLAB实验报告江苏科技⼤学《MATLAB实践》实验报告学号:1341901111姓名:符⾸夫计算机科学与⼯程学院2016.5.31实验⼀ MATLAB的基本使⽤⽅法实验⽬的和要求:通过完成实验⼀,掌握MATLAB的基本使⽤⽅法。
实验内容:(⼀)练习数据和符号输⼊法,将前⾯的命令在命令窗⼝中执⾏通过。
1)>>52)>>x=[1 2 3 4]3)>>g=[1 2 3 4];h=[4 3 2 1]>>s1=g+h, s2=g.*h, s3=g.^hS1=5 5 5 5S2=4 6 6 4S3=1 8 9 4(⼆)输⼊A=[715;256;315],B=[111;222;333],在命令窗⼝中执⾏下列表达式,掌握其含义。
源程序:>>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(:,1:2:3) % A数组中第⼀列和第三列>>A(3,:) %A数组中第三⾏>>A(:,3).*B(:,2) %A中第三列和B中第⼆列相乘>> A(:,3)*B(2,:) %A中第三列和B中第⼆⾏相乘竖着排,形成3*3矩阵>>A*B %A 与B数组相乘>>A.*B>>A^2>>A.^2 % A中所有数平⽅>>B/A %B矩阵除以A矩阵>>B./A % B中数除以A中对应位置数(三) 输⼊C=.1:2:20,则C (i )表⽰什么?其中i=1,2,3…10;源程序:>>c=1:2:20; >>c(1) >>c(10)实验⼆ MATLAB的数值计算实验⽬的和要求:通过完成实验⼆,掌握MATLAB的数值计算。
实验内容:(⼀) ⽤⼆分法计算多项式⽅程X^3-2X-5=0在[0,3]内的⼀个根。
Matlab实验报告(三)-MATLAB绘图
实验目的1.掌握MATLAB的基本绘图命令。
2.掌握运用MATLAB绘制一维、二维、三维图形的方法.3.给图形加以修饰。
一、预备知识1.基本绘图命令plotplot绘图命令一共有三种形式:⑴plot(y)是plot命令中最为简单的形式,当y为向量时,以y的元素为纵坐标,元素相应的序列号为横坐标,绘制出连线;若y为实矩阵,则按照列绘出每列元素和其序列号的对应关系,曲线数等于矩阵的列数;当y为复矩阵时,则按列以每列元素的实部为横坐标,以虚部为纵坐标,绘出曲线,曲线数等于列数。
⑵ plot(x,y,[linspec])其中linspec是可选的,用它来说明线型。
当x和y为同维向量时,以x为横坐标,y为纵坐标绘制曲线;当x是向量,y是每行元素数目和x维数相同的矩阵时,将绘出以x为横坐标,以y中每行元素为纵坐标的多条曲线,曲线数等于矩阵行数;当x为矩阵,y为相应向量时,使用该命令也能绘出相应图形。
⑶ plot(x1,y1,x2,y2,x3,y3……)能够绘制多条曲线,每条曲线分别以x和y为横纵坐标,各条曲线互不影响。
线型和颜色MATLAB可以对线型和颜色进行设定,线型和颜色种类如下:线:—实线:点线 -.虚点线——折线点:.圆点 +加号 *星号 x x型 o 空心小圆颜色:y 黄 r 红 g 绿 b 蓝 w 白 k 黑 m 紫 c 青特殊的二维图形函数表5 特殊2维绘图函数[1] 直方图在实际中,常会遇到离散数据,当需要比较数据、分析数据在总量中的比例时,直方图就是一种理想的选择,但要注意该方法适用于数据较少的情况。
直方图的绘图函数有以下两种基本形式。
·bar(x,y) 绘制m*n 矩阵的直方图.其中y 为m *n 矩阵或向量,x 必须单向递增。
·bar(y) 绘制y 向量的直方图,x 向量默认为x=1:m close all; %关闭所有的图形视窗。
x=1:10;y=rand (size(x )); bar(x,y ); %绘制直方图.123456789100.51Bar()函数还有barh ()和errorbar ()两种形式,barh()用来绘制水平方向的直方图,其参数与bar()相同,当知道资料的误差值时,可用errorbar ()绘制出误差范围,其一般语法形式为:errorbar (x,y,l,u)其中x,y 是其绘制曲线的坐标,l ,u 是曲线误差的最小值和最大值,制图时,l 向量在曲线下方,u 向量在曲线上方。
matlab实验报告
Matlab实验报告一、实验名称:matlab实验报告二、实验目的:熟悉并学会掌握matlab的基本操作。
三、实验内容:准确编写第二,三,四章课后习题的matlab程序。
四、实验数据处理第二章MATLAB 基本操作第一题:利用基本矩阵产生3X3和15X8的单位阵、全1阵、全0阵,随机分布矩阵([-1,1]之间)、正态分布随机阵(均值为1,方差为4)。
程序:>> A=eye(3)A = 1 0 00 1 00 0 1>> A=ones(3)A =1 1 11 1 11 1 1>> A=zeros(3)A =0 0 00 0 00 0 0>> A=1-2*rand(3)A =-0.9003 0.0280 0.08710.5377 -0.7826 0.9630-0.2137 -0.5242 -0.6428>> A=2*randn(3)+1A =0.1349 1.5754 3.3783-2.3312 -1.2929 0.92471.2507 3.3818 1.6546>> B=eye(2,3)B =1 0 00 1 0>> B=ones(2,3)B = 1 1 11 1 1>> B=zeros(2,3)B =0 0 00 0 0>> B=1-2*rand(2,3)B = 0.1106 -0.5839 -0.4764-0.2309 -0.8436 0.6475>> B=2*randn(2,3)+1B =1.3493 2.4516 5.36640.6266 -0.1766 0.7272第五题:利用rand函数产生(0,1)间均匀分布的5X5随机矩阵A,然后统计A中大于等于0.6的元素个数。
程序:A=rand(5)A =0.4057 0.0579 0.2028 0.0153 0.41860.9355 0.3529 0.1987 0.7468 0.84620.9169 0.8132 0.6038 0.4451 0.52520.4103 0.0099 0.2722 0.9318 0.20260.8936 0.1389 0.1988 0.4660 0.6721>> n=sum(sum(A>=0.6))n =9第六题:利用rand函数产生均值为0,方差为1的4X4正态分布随机矩阵A,然后统计A 中大于-0.5且小于0.5的元素个数。
matlab实验报告
实验三图像的映射一.实验目的及要求掌握图像几何变换的基本原理,熟练掌握数字图像的缩放、旋转、平移、镜像和转置的基本原理及其MATLAB编程实现方法。
二、实验内容(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。
熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。
1. 图像缩放clear all, close allI = imread('cameraman.tif');Scale = 1.35; % 将图像放大1.35倍J1 = imresize(I, Scale, 'nearest'); % using the nearest neighbor interpolationJ2 = imresize(I, Scale, 'bilinear'); % using the bilinear interpolation imshow(I), title('Original I mage');figure, imshow(J1), title('Resized Image-- using the nearest neighbor interpolation ');figure, imshow(J2), title('Resized Image-- using the bilinear interpolation '); % 查看imresize使用帮助 help imresizeCommand窗口显示如下:IMRESIZE Resize image.B = IMRESIZE(A, SCALE) returns an image that is SCALE times the size of A, which is a grayscal e, RGB, or binary image.B = IMRESIZE(A, [NUMROWS NUMCOLS]) resizes the image so that it has the specified numb er of rows and columns. Either NUMROWS or NUMCOLS may be NaN, in which case IMRESIZE computes the number of rows or columns automatically in order to preserve the image aspect ratio.[Y, NEWMAP] = IMRESIZE(X, MAP, SCALE) resizes an indexed image.[Y, NEWMAP] = IMRESIZE(X, MAP, [NUMROWS NUMCOLS]) resizes an indexed image.To control the interpolation method used by IMRESIZE, add a METHOD程序代码如下: clc,clear all;I = imread('cameraman.tif'); rows=size(I,1); cols=size(I,2); for i=1:rows for j=1:cols Q(j,i)=I (i,j); end endsize(I),size(Q) figure(1);subplot(121);imshow(I);title('origine picture');subplot(122);imshow(Q);title('modified picture'); 执行程序,所得结果如下:实验分析如下:设图像中某个像素为p(j,i),则其值为被p(i,j)被代替,其中p为整个图像的像素矩阵。
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:举例2:3.matlab程序流程控制1).for循环:for循环变量=初值:增量:终值循环体End2).while循环结构:while 逻辑表达式循环体End3).If分支:(单分支表达式)if 逻辑表达式程序模块End(多分支结构的语法格式)if 逻辑表达式1程序模块1Else if 逻辑表达式2程序模块2…else 程序模块nEnd4).switch分支结构Switch 表达式Case 常量1程序模块1Case 常量2程序模块2……Otherwise 程序模块nEnd4.典型信号的MATLAB表示1).实指数信号:y=k*exp(a*t)举例:2).正弦信号:y=k*sin(w*t+phi)3).复指数信号:举例:4).抽样信号5).矩形脉冲信号:y=square(t,DUTY) (width默认为1)6).三角波脉冲信号:y=tripuls(t,width,skew)(skew的取值在-1~+1之间,若skew取值为0则对称)周期三角波信号或锯齿波:Y=sawtooth(t,width)5.单位阶跃信号的MATLAB表示6.信号的时移、反折和尺度变换:Xl=fliplr(x)实现信号的反折7.连续时间信号的微分和积分运算1).连续时间信号的微分运算:语句格式:d iff(function,’variable’,n)Function:需要进行求导运算的函数,variable:求导运算的独立变量,n:求导阶数2).连续时间信号的积分运算:语句格式:int(function,’variable’,a,b)Function:被积函数variable:积分变量a:积分下限b:积分上限(a&b默认是不定积分)8.信号的相加与相乘运算9.信号的奇偶分解四、小结这一次实验让我能够教熟悉的使用这个软件,并且能够输入简单的语句并输出相应的结果和波形图,也在一定程度上巩固了c语言的一些语法。
MATLAB第三章实验报告
MATLAB程序设计班级:11电信一班姓名:何得中学号:20111060108实验目的:1. 掌握和建立执行M文件的方法;2. 掌握利用if、switch语句实现条件选择结构的方法;3. 了解try语句的使用;4. 掌握利用for、while语句实现循环结构;5. 掌握M文件调试方法。
实验仪器:MA TLAB软件,电脑实验数据:>> clear;>> x=15:-1:1;>> y=[1,2,3,4;5,6,7,8];>> [a,b]=fexch(x,y)a = 1 2 3 45 6 7 8b=15 14 13 12 11 10 9 8 7 6 5 4 3 2 1>> whosName Size Bytes Classans 1x15 120 double arrayx 2x4 64 double arrayy 1x15 120 double arrayz 1x15 120 double arrayGrand total is 53 elements using 424 bytes>> global alpha beta>> alpha=3;>> bata=4;>> w=weight(2,5)w =112>> [w,z]=tran(3,4)w = 5z =0.9273>> x=[1:3];y=[1;2;3];example1(x)example1(x,y')example1(x,y,3)ans =1 2 3fout =2 4 6ans = 2 4 6ans =21>> X='Good Morning';>> disp(X)Good Morning>> x=input('请输入x的值:');if x==-1disp('negative one');elseif x==0disp('zeroc');elseif x==1disp('postive one');elsedisp('other value');end请输入x的值:-1negative one>>a=input('a=?');b=input('b=?');c=input('c=?');d=b*b-4*a*c;x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]; disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))] )>>solutiona=?2b=?4c=?6x1=-1+1.4142i, x2=-1+1.4142i>> P=input('输入商品价格');switch floor(P/100)case{0,1}rate=0;case{2,3,4}rate=4/100;case num2cell(5:9)rate=6/100;case num2cell(10:29)rate=8/100;case num2cell(30:49)rate=10/100;otherwiserate=15/100;endP=P*(1-rate)输入商品价格8500P = 7225>> y=0;N=100for n=1:N;y=y+n;endyN =100y =5050 >> a=rand(4,5);for i=asum=mean(i)endsum =0.5685sum =0.5321sum =0.6684sum =0.5605sum =0.7891>> s=0;a=[99,88,77,66;98,89,78,68;89,78,83,79;68,88 ,66,67;89,78,96,69];for k=as=s+k;enddisp(s')330 333 329 289 332>> y=0;n=1;while n<=100y=y+1/n/n;n=n+1;endyy =1.6350>> w=rand(1,10);x=fix(100*w);disp(x)n=length(x);for i=1:n-1for j=n:-1:i+1if x(j)>x(j-1)y=x(j);x(j)=x(j-1);x(j-1)=y;endendenddisp(x)83 1 68 37 83 50 70 42 30 1883 83 70 68 50 42 37 30 18 1>> for k=100:300;if rem(k,13)~=0continue;endbreak;endkk =104>> n=4;A=eye(3);tryan=A(n,:);catchan=A(end,:);endlasterran= 0 0 1ans =Index exceeds matrix dimensions.>> p=1; k=1;while p<1e60p=p*k; k=k+1;endk=k-1;r=p./k;k=k-1;disp(['The',num2str(k),'!is',num2str(r)])The47!is258623241511168180000000000000 000000000000000000000000000000判断明天是否有雨>> x=input('请输入天气x的值');if x==1 % 1代表下雨disp('yes');elseif x==0 % 0代表晴天disp('no');elsedisp('maybe');end请输入天气x的值6Maybe确定个人所得税>>A=input('请输入工资:');switch floor((A-3500)/100)case num2cell(-35:0)rate=0;case num2cell(0:45)rate=5/100;case num2cell(45:80)rate=10/100;case num2cell(80:120)rate=15/100;case num2cell(120:280)rate=20/100;case num2cell(280:580)rate=30/100;case num2cell(580:980)rate=35/100;otherwiserate=40/100;endA=(A-3500)*rate请输入工资:3600A =5已知y=1+1/2+1/3+…+1/n,利用佛如语句求解当n=100时,y的值。
程序设计实验报告(matlab)
程序设计实验报告(matlab)实验一: 程序设计基础实验目的:初步掌握机器人编程语言Matlab。
实验内容:运用Matlab进行简单的程序设计。
实验方法:基于Matlab环境下的简单程序设计。
实验结果:成功掌握简单的程序设计和Matlab基本编程语法。
实验二:多项式拟合与插值实验目的:学习多项式拟合和插值的方法,并能进行相关计算。
实验内容:在Matlab环境下进行多项式拟合和插值的计算。
实验方法:结合Matlab的插值工具箱,进行相关的计算。
实验结果:深入理解多项式拟合和插值的实现原理,成功掌握Matlab的插值工具箱。
实验三:最小二乘法实验目的:了解最小二乘法的基本原理和算法,并能够通过Matlab进行计算。
实验内容:利用Matlab进行最小二乘法计算。
实验方法:基于Matlab的线性代数计算库,进行最小二乘法的计算。
实验结果:成功掌握最小二乘法的计算方法,并了解其在实际应用中的作用。
实验六:常微分方程实验目的:了解ODE的基本概念和解法,并通过Matlab进行计算。
实验内容:利用Matlab求解ODE的一阶微分方程组、变系数ODE、高阶ODE等问题。
实验方法:基于Matlab的ODE工具箱,进行ODE求解。
实验结果:深入理解ODE的基本概念和解法,掌握多种ODE求解方法,熟练掌握Matlab的ODE求解工具箱的使用方法。
总结在Matlab环境下进行程序设计实验,使我对Matlab有了更深刻的认识和了解,也使我对计算机科学在实践中的应用有了更加深入的了解。
通过这些实验的学习,我能够灵活应用Matlab进行各种计算和数值分析,同时也能够深入理解相关的数学原理和算法。
这些知识和技能对我未来的学习和工作都将有着重要的帮助。
MATLAB实验报告3
MATLAB 实验三:图形可视化
一、实验目的:
1、熟悉MATLAB 软件的文件操作的环境命令;
2、掌握数据可视化的基本步骤;
3、掌握基本MATLAB 绘制3D 曲线及3D 曲面的方法。
二、实验内容
1. 绘制曲线,绘图区间
[-2,2]
2. 以正弦数据为例,用subplot ()函数将图形分成四块(2×2),在四部分中分别绘制出阶梯曲线(红色),火柴杆曲线(黑色),条形图(蓝色),横坐标为对数分度的曲线(绿色);绘图横坐标范围为[0,2π];每一个子图命名。
3. 绘制三维曲线,x ,y ,z 坐标与时间t 的关系满足下面公式:(对应点采用五角星)
)sin(24),sin(24),
cos(8],2,0[t z t y t x t ===∈π
4. 绘制下列图像
三维曲线:226621z x xy y x y =++++-,1010x -<<,1010y -<< 实验结果:(以0.5为步长)(区别数组乘与乘的不同效果)
5、绘制如下函数的三维网格曲面(三维网线图),x ,y 的取值范围为 [-10,10]
[-10,10]
2222sin(),(y x y x y x z ++=
实验结果:
6.绘制函数()()()
221exp 2f x x y π=-+在33x -<<,33y -<<上的三维曲面图 实验结果:。
国家开放大学《Matlab语言及其应用》实验报告(第三章--绘制二维和三维图形)
——绘制二维和三维图形
姓名:学号:
实验名称
绘制二维和三维图形
实验目标
利用Matlab常见函数完成二维图形的绘制和图形的标注;实现三维曲线和曲面图形的绘制。
实验要求
熟悉Matlab基本绘图函数、图形处理函数,了解三维曲线和曲面图形的绘制方法。
实验步骤
1、用Matlab基本绘图函数绘制二维图形:根据已知数据,用plot函数画出正弦函数曲线,并进行相应标注。
enon
实验内容
1.二维曲线绘图
例:精细指令实例
2.三维曲线绘图
【例】三维曲线绘图基本指令演示一:plot3
t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);
plot3(x,y,z,'b-',x,y,z, 'rd')三维曲线绘图(蓝实线和红菱形)
box on
legend('链','宝石')在右上角建立图例
subplot(121);
surf(x1,y1,z1);
subplot(122);
[x2,y2,z2]=sphere (30);
surf(x2,y2,z2);
clear;clf;
z=peaks;
subplot(1,2,1);mesh(z);% 透视
hidden off
subplot(1,2,2);mesh(z);%不透视
2、用三维曲线绘图基本指令plot 3绘制三维曲线图:t=0~2pi;x=sin(t);y=cos(t);z=cos(2*t);用plot3函数画出关于x,y,z的三维曲线图,并适当加标注。
自动控制原理MATLAB分析与设计-仿真实验报告
兰州理工大学《自动控制原理》MATLAB分析与设计仿真实验报告院系:电气工程与信息工程学院班级:电气工程及其自动化四班姓名:学号:时间:年月日电气工程与信息工程学院《自动控制原理》MATLAB 分析与设计仿真实验任务书(2014) 一、仿真实验内容及要求 1.MATLAB 软件要求学生通过课余时间自学掌握MATLAB 软件的基本数值运算、基本符号运算、基本程序设计方法及常用的图形命令操作;熟悉MATLAB 仿真集成环境Simulink 的使用。
2.各章节实验内容及要求1)第三章 线性系统的时域分析法∙ 对教材第三章习题3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果;∙ 对教材第三章习题3-9系统的动态性能及稳态性能通过仿真进行分析,说明不同控制器的作用;∙ 在MATLAB 环境下选择完成教材第三章习题3-30,并对结果进行分析; ∙ 在MATLAB 环境下完成英文讲义P153.E3.3;∙ 对英文讲义中的循序渐进实例“Disk Drive Read System”,在100=a K 时,试采用微分反馈控制方法,并通过控制器参数的优化,使系统性能满足%5%,σ<3250,510s ss t ms d -≤<⨯等指标。
2)第四章 线性系统的根轨迹法∙ 在MATLAB 环境下完成英文讲义P157.E4.5; ∙ 利用MATLAB 绘制教材第四章习题4-5;∙ 在MATLAB 环境下选择完成教材第四章习题4-10及4-17,并对结果进行分析;∙ 在MATLAB 环境下选择完成教材第四章习题4-23,并对结果进行分析。
3)第五章 线性系统的频域分析法∙ 利用MATLAB 绘制本章作业中任意2个习题的频域特性曲线;4)第六章 线性系统的校正∙ 利用MATLAB 选择设计本章作业中至少2个习题的控制器,并利用系统的单位阶跃响应说明所设计控制器的功能;∙ 利用MATLAB 完成教材第六章习题6-22控制器的设计及验证;∙ 对英文讲义中的循序渐进实例“Disk Drive Read System”,试采用PD控制并优化控制器参数,使系统性能满足给定的设计指标ms t s 150%,5%<<σ。
Matlab实验报告
实验结果及分析实验1:程序如下x=1:10y=2*x;plot(x,y)仿真结果:实验结果分析:仿真结果是条很规则的直线,X轴和Y轴一一对应,清楚明了,而序又特别简单。
所以用Maltab 软件很方便地画出规则的直线,方便研究。
实验结果及分析1、A=2、A=1A=实验结果及分析实验三 Matlab在信号与系统中的应用实验名称实验1、掌握信号与系统课程中基本知识的Matlab编程、仿真方法目的实验原理实验1程序:b=[1];a=[1 1];p=;t=0:p:5;x=exp(-3*t);subplot(1,2,1);impulse(b,a,0:p:5);title('冲激响应');subplot(1,2,2);step(b,a,0:p:5);title('阶跃响应');实验内容<设计性实验>1、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)= exp(-3t)ε(t)的冲激响应、阶跃响应。
在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。
<设计性实验>(选做)2、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)=(1+exp(-3t))ε(t)的冲激响应、阶跃响应,要求用conv编程实现系统响应。
在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。
实验结果及分析实验1仿真结果:simulink仿真环境下冲激响应阶跃响应实验名称实验四 Matlab在数字信号处理中的应用实验结果及分析实验1仿真结果:6khz12kHZ。
MATLAB实验报告3
MATLAB实验报告3MATLAB实验报告3一、实验目的1.掌握MATLAB程序的调试方法;2.掌握MATLAB中的矩阵操作;3.熟悉MATLAB中处理图像的基本操作。
二、实验内容1.用MATLAB调试程序;2.用MATLAB进行矩阵运算;3.用MATLAB处理图像。
三、实验原理及步骤1.MATLAB程序的调试方法在MATLAB中调试程序可以采用设置断点、逐行运行、单步调试等方法。
设置断点可以在程序中的其中一行上点击左键,会出现一个红色的圆点表示断点已设置。
逐行运行可以通过点击Editor界面上的运行按钮实现。
单步调试可以通过点击断点所在行的左侧按钮实现。
2.矩阵运算在MATLAB中,对于矩阵的运算可以使用一些基本的函数,如矩阵加法、减法、乘法等。
矩阵加法可以使用"+"操作符实现,减法可以使用"-"操作符实现,乘法可以使用"*"操作符实现。
另外,MATLAB还提供了一些更复杂的矩阵运算函数,如矩阵的转置、逆等。
3.图像处理在MATLAB中,可以使用imread函数加载图像文件,使用imshow函数显示图像,使用imwrite函数保存图像。
另外,还可以使用一些图像处理函数对图像进行处理,如灰度化、二值化、平滑滤波等。
四、实验步骤1.调试程序首先,在MATLAB的Editor界面中打开要调试的程序文件。
然后,在程序的其中一行上点击左键,即设置了一个断点。
最后,点击运行按钮,程序会在断点处停下,然后可以通过单步调试和逐行运行来逐步查看程序的执行过程和变量的取值。
2.矩阵运算首先,定义两个矩阵A和B,并赋值。
然后,使用"+"操作符对两个矩阵进行相加,得到矩阵C。
最后,使用disp函数显示矩阵C的值。
3.图像处理首先,使用imread函数加载一张图像。
然后,使用imshow函数显示加载的图像。
接着,使用rgb2gray函数将彩色图像转换为灰度图像。
matlab实现图像的放大及旋转
实验三图像的几何操作一、图像的基本运算1、加法运算图像相加一般用于对同一场景的多幅图像求平均效果,以便有效地降低具有叠加性质的随机噪声。
直接采集的图像品质一般都较好,不需要进行加法运算处理,但是对于那些经过长距离模拟通信方式传送的图像(如卫星图像),这种处理是必不可少的。
在MA TLAB7.0中,如果要进行两幅图像的加法,或者给一幅图像加上一个常数,可以调用imadd函数来实现。
imadd函数将某一幅输入图像的每一个像素值与另一幅图像相应的像素值相加,返回相应的像素值之和作为输入图像。
imadd函数的调用格式可参考图像处理的工具箱。
下面的程序可将图1两幅图像叠加在一起,叠加效果如图2所示。
imshow('rice.png');imshow('cameraman.tif');I=imread('rice.png');J=imread('cameraman.tif');K=imadd(I,J,'uint16');%大小必须一样imshow(K,[])图1 图2给图像的每一个像素加上一个常数可以使图像的亮度增加。
例如以下程序示例的处理效果如图3所示。
I=imread('rice.png');J=imadd(I,50);subplot(1,2,1),imshow(I);subplot(1,2,2),imshow(J);图32、减法运算图像减法也称为差分方法,是一种常用于检测图像变化及运动物体的图像处理方法。
图像减法可以作为许多图像处理过程的准备步骤。
例如,可以使用图像减法来检测一系列相同场景图像的差异。
图像减法与阈值化处理的综合使用通常是建立机器视觉系统最有效的方法之一。
当然,在利用图像减法处理图像时,往往需要考虑背景的更新机制,尽量补偿因天气、光线等因素对图像显示效果造成的影响。
在MATLAB7.0中,使用imsubtract函数可以将一幅图像从另一幅图像中减去,或者从一幅图像中减去一个常数。
matlab实验报告3
matlab实验报告3课程名称:学生学号:所属院部:实验报告实验四、LTI系统的响应MATLAB应用技术专业班级:通信1422***-*****31 学生姓名:周妍智电子信息工程系指导教师:徐树梅2015 ―― 2016 学年第二学期实验项目名称:LTI系统的响应实验学时:16 学生姓名:周妍智实验地点:微机11 实验日期:2016.4.17 实验成绩:批改教师:徐树梅批改时间:一、实验目的1. 熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求解方法2. 熟悉连续(离散)时间系统在任意信号激励下响应的求解方法3. 熟悉应用MATLAB实现求解系统响应的方法二、实验原理1.连续时间系统对于连续的LTI系统,当系统输入为f(t),输出为y(t),则输入与输出之间满足如下的线性常系数微分方程:?ayii?0n(i)(t)??bjf(j)(t),当系统输入为单位冲激信号δ(t)时产生j?0m的零状态响应称为系统的单位冲激响应,用h(t)表示。
若输入为单位阶跃信号ε(t)时,系统产生的零状态响应则称为系统的单位阶跃响应,记为g(t),如下图所示。
系统的单位冲激响应h(t)包含了系统的固有特性,它是由系统本身的结构及参数所决定的,与系统的输入无关。
我们只要知道了系统的冲激响应,即可求得系统在不同激励下产生的响应。
因此,求解系统的冲激响应h(t)对我们进行连续系统的分析具有非常重要的意义。
在MATLAB中有专门用于求解连续系统冲激响应和阶跃响应,并绘制其时域波形的函数impulse( ) 和step( )。
如果系统输入为f(t),冲激响应为h(t),系统的零状态响应为y(t),则有:y(t)?h(t)?f(t)。
若已知系统的输入信号及初始状态,我们便可以用微分方程的经典时域求解方法,求出系统的响应。
但是对于高阶系统,手工计算这一问题的过程非常困难和繁琐。
在MATLAB中,应用lsim( )函数很容易就能对上述微分方程所描述的系统的响应进行仿真,求出系统在任意激励信号作用下的响应。
MATLAB实验报告一二三
2015秋2013级《MATLAB程序设计》实验报告实验一班级:软件131 姓名:付云雷学号:132872一、实验目的:1、了解MATLAB程序设计的开发环境,熟悉命令窗口、工作区窗口、历史命令等窗口的使用。
2、掌握MATLAB常用命令的使用。
3、掌握MATLAB帮助系统的使用。
4、熟悉利用MATLAB进行简单数学计算以及绘图的操作方法。
二、实验内容:1、启动MATLAB软件,熟悉MATLAB的基本工作桌面,了解各个窗口的功能与使用。
图1 MATLAB工作桌面2、MATLAB的常用命令与系统帮助:(1)系统帮助help:用来查询已知命令的用法。
例如已知inv是用来计算逆矩阵,键入help inv即可得知有关inv命令的用法。
lookfor:用来寻找未知的命令。
例如要寻找计算反矩阵的命令,可键入lookfor inverse,MATLAB即会列出所有和关键字inverse相关的指令。
找到所需的命令後,即可用help进一步找出其用法。
(2)数据显示格式:常用命令:说明format short 显示小数点后4位(缺省值)format long 显示15位format bank 显示小数点后2位format + 显示+,-,0format short e 5位科学记数法format long e 15位科学记数法format rat 最接近的有理数显示(3)命令行编辑:键盘上的各种箭头和控制键提供了命令的重调、编辑功能。
具体用法如下:↑----重调前一行(可重复使用调用更早的)↓----重调后一行→----前移一字符←----后移一字符home----前移到行首end----移动到行末esc----清除一行del----清除当前字符backspace----清除前一字符(4)MATLAB工作区常用命令:who--------显示当前工作区中所有用户变量名whos--------显示当前工作区中所有用户变量名及大小、字节数和类型disp(x) -----显示变量X的内容clear -----清除工作区中用户定义的所有变量save文件名-----保存工作区中用户定义的所有变量到指定文件中load文件名-----载入指定文件中的数据3、在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算结果。
MATLAB实验报告3
3.6 基于Simulink 控制系统的稳态误差分析1.实验目的1)掌握使用Simulink 仿真环境进行控制系统稳态误差分析的方法。
2)了解稳态误差分析的前提条件是系统处于稳定状态。
3)研究系统在不同典型信号输入作用下,稳态误差的变化。
2.实验内容(1)研究系统在不同典型输入信号作用下,稳态误差的变化。
【例3-11】 已知一个单位负反馈系统开环传递函数为G(s)=)11.0(10 s s K ,分别K=10和K=1时,系统单位阶跃响应曲线并求出单位阶跃响应稳态误差。
【解】 首先对闭环系统判稳。
该系统为零极点模型,用函数roots()命令判断系统闭环全部特征根的实部都是负值,说明闭环系统稳定。
这样进行稳态误差分析才有意义。
K=10时的判稳程序如下:>> n1=100;d1=conv([1,0],[0.1,1]);G=tf(n1,d1);sys=feedback(G ,1);roots(sys.den{1})ans =-5.0000 +31.2250i-5.0000 -31.2250i然后在Simulink 环境下,建立系统数学模型,如图3-21所示。
设置仿真参数并运行,观察示波器Scope 中系统的单位阶跃响应曲线,如图3-22所示,并读出单位阶跃响应稳态误差。
图3-21 基于Simulink Ⅰ型控制系统单位阶跃响应(K=10)结构图图3-22 基于Simulink Ⅰ型控制系统单位阶跃响应稳态误差曲线【分析】实验曲线表明,Ⅰ型单位反馈系统在单位阶跃输入作用下,稳态误差e ssr=0,即Ⅰ型单位反馈系统稳态时能完全跟踪阶跃输入,是一阶无静差系统。
K=1时的判稳程序如下:>> n1=10;d1=conv([1,0],[0.1,1]);G=tf(n1,d1);sys=feedback(G,1);roots(sys.den{1})ans =-5.0000 + 8.6603i-5.0000 - 8.6603i在Simulink环境下建立的数学模型及仿真参数运行后示波器Scope中系统的单位阶跃响应曲线如下图所示。
matlab 实验报告
matlab 实验报告Matlab实验报告引言:Matlab是一种强大的数值计算和可视化软件,广泛应用于科学、工程和经济等领域。
本实验报告将介绍我在使用Matlab进行实验过程中的一些经验和结果。
实验一:矩阵运算在这个实验中,我使用Matlab进行了矩阵运算。
首先,我创建了一个3x3的矩阵A和一个3x1的矩阵B,并进行了矩阵相乘运算。
通过Matlab的矩阵乘法运算符*,我得到了一个3x1的结果矩阵C。
接着,我对矩阵C进行了转置操作,得到了一个1x3的矩阵D。
最后,我计算了矩阵C和矩阵D的点积,并将结果输出。
实验二:数据可视化在这个实验中,我使用Matlab进行了数据可视化。
我选择了一组实验数据,包括时间和温度两个变量。
首先,我将数据存储在一个矩阵中,并使用Matlab的plot函数将时间和温度之间的关系绘制成曲线图。
接着,我使用Matlab的xlabel、ylabel和title函数添加了横轴、纵轴和标题。
最后,我使用Matlab的legend函数添加了图例,以便更好地理解图表。
实验三:数值积分在这个实验中,我使用Matlab进行了数值积分。
我选择了一个函数f(x)进行积分计算。
首先,我使用Matlab的syms函数定义了符号变量x,并定义了函数f(x)。
接着,我使用Matlab的int函数对函数f(x)进行积分计算,并将结果输出。
为了验证结果的准确性,我还使用了Matlab的diff函数对积分结果进行了求导操作,并与原函数f(x)进行了比较。
实验四:信号处理在这个实验中,我使用Matlab进行了信号处理。
我选择了一个音频文件,并使用Matlab的audioread函数读取了该文件。
接着,我使用Matlab的fft函数对音频信号进行了傅里叶变换,并将结果绘制成频谱图。
为了进一步分析信号的特征,我还使用了Matlab的spectrogram函数绘制了信号的时频图。
通过对信号的频谱和时频图的观察,我可以更好地理解信号的频率和时域特性。
matlab实验报告
matlab实验报告引言:Matlab(矩阵实验室)是一款功能强大的数值计算和科学计算软件,广泛应用于工程、科学和经济等领域。
本实验报告将探讨我在使用Matlab进行实验过程中的心得体会和实验结果。
实验一:图像处理在这个实验中,我使用Matlab对一张图像进行了处理,并应用了各种图像处理算法。
这包括图像增强、边缘检测和图像分割等技术。
通过Matlab的图像处理工具箱,我能够轻松调用各种算法函数,并对图像进行快速处理。
实验结果表明,Matlab图像处理工具箱提供了丰富的函数和算法,极大地方便了我们的图像处理工作。
实验二:模拟信号处理模拟信号处理是Matlab中的一个重要应用领域。
在这个实验中,我模拟了一个带噪声的正弦信号,并使用Matlab进行了噪声滤波和频谱分析。
通过使用Matlab的滤波函数,我能够有效地去除信号中的噪声,并还原出原始信号。
同时,Matlab提供了功能强大的频谱分析工具,我可以轻松地对信号的频率特性进行分析和可视化。
实验三:数据分析与统计数据分析与统计是Matlab的另一个重要应用领域。
在这个实验中,我使用Matlab对一组实验数据进行了分析和统计。
通过使用Matlab的统计函数和工具,我能够计算出数据的均值、方差、标准差等统计指标,并绘制出数据的直方图和散点图。
这些统计分析结果对我的实验研究提供了有力的支持,并帮助我更好地理解实验数据。
实验四:数值计算与优化数值计算与优化是Matlab的核心功能之一。
在这个实验中,我使用Matlab进行了一组数值计算和优化实验。
通过使用Matlab的数值计算函数和优化工具箱,我能够快速计算出复杂的数学问题,并找到最优解。
同时,在进行优化实验时,我可以设置各种约束条件和目标函数,从而得到最优解的参数值。
这些数值计算和优化工具极大地提高了我的研究效率和准确度。
结论:通过这些实验,我深刻认识到Matlab的强大功能和广泛应用领域。
无论是图像处理、信号处理、数据分析还是数值计算与优化,Matlab都提供了丰富的函数和工具,让我们能够快速高效地完成实验和研究工作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
M3-1
(1)ts=0;te=5;dt=0.01;
>>sys=tf([2,1],[1,3,2]);
>> t=ts:dt:te;
>> x=exp(-3*t).*heaviside(t);
>> y=lsim(sys,x,t);
>>plot(t,y);
>>xlabel('time(sec)');
>>ylabel('y(t)');
系统的零状态响应
(2)y 的数值解为:
M3-2,在图示电路中(1)建立该系统的微分方程;(2)用inpulse 函数求系统的单位冲击响应;
(3)用step 函数求系统的单位阶跃响应。
解:(1)有图可知,方程的微分方程为:LC/R*Y(t)’’+C*Y(t)’+Y(t)/R=X(t)
带入数据得 1/6*Y(t)’’+1/2*Y(t)’+Y(t)=X(t)
(2)>>ts=0;te=5;dt=0.01;
>>sys=tf([1],[1/6,1/2,1]);
>> t=ts:dt:te;
>> y=impulse(sys,t);
>>plot(t,y);
>>xlabel('Time(sec)')
>>ylabel('h(t)')
00.51 1.52 2.5
3 3.5
4 4.55
time(sec)y (t )
系统的冲击响应
(3)>>ts=0;te=5;dt=0.01;
>>sys=tf([1],[1/6,1/2,1]);
>> t=ts:dt:te;
>> y=step(sys,t);
>>plot(t,y);
>>xlabel('Time(sec)')
>>ylabel('d(t)')
M3_3求下列二阶系统的单位阶跃响应。
(1)y ’’(t)+0.2y ’(t)+y(t)=x(t)
>>ylabel('d(t)')
>>ts=0;te=10;dt=0.01;
>>sys=tf([1],[1,0.2,1]);
>> t=ts:dt:te;
>> y=step(sys,t);
>>plot(t,y)
Time(sec)h (t
)Time(sec)d (t )
(2)y’’(t)+y’(t)+y(t)=x(t) >>ts=0;te=10;dt=0.01; >>sys=tf([1],[1,1,1]); >> t=ts:dt:te;
>> y=step(sys,t);
>>plot(t,y)
(3)y’’(t)+2y’(t)+y(t)=x(t) ts=0;te=10;dt=0.01; >>sys=tf([1],[1,2,1]); >> t=ts:dt:te;
>> y=step(sys,t);
>>plot(t,y)
M3_4.c0vn函数可以计算起点为k=0的两个序列的卷积,利用此函数和卷积的性质,编写计算非零起点的任意两个序列卷积的程序,并计算下列两个的卷积。
(1)X[k]=[o.85,0,53,0.21,0.67,0.84,0.12]
(2)x[k]=0.68,0.37,0.83,0.52,0.71]
M3-7.求差分方程的零状态响应,并画出前20点的图。
>> k=-30:30;
>> a=[1 0.7 -0.45 -0.6];
>> b=[0.8 -0.44 0.36 0.02];
>>uk=[zeros(1,30),ones(1,31)];
>> x=0.6.^k.*uk;
>> y=filter(b,a,x);
>>stem(k,y)
-30-20-100102030
M3-8.利用impz函数求差分方程的单位脉冲相应,并画出前30点的图。
>> k=0:30;
>> a=[1 0.7 -0.45 -0.6];
>> b=[0.8 -0.44 0.36 0.02];
>> h=impz(b,a,k);
>>stem(k,h)。