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 -<<上的三维曲面图 实验结果:。
- 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)。