贵大matlab实验四
- 格式:doc
- 大小:262.50 KB
- 文档页数:8
信号与系统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基础及应用专业班级电子xxxx姓名学号电气与信息学院实验二 MATLAB 数值计算(一)一实验目的:1.掌握数组的创建与运算方法;2. 掌握矩阵的创建与运算方法;3. 掌握数组的运算方法和矩阵运算方法的区别;4.掌握线性方程的求解方法二实验装置:计算机三实验内容:1.数组的创建和运算创建两个含5个元素的一维数组,并求这两个数组的四则运算。
2.矩阵的创建和运算(1)创建两个3×3的矩阵,并求这两个矩阵的四则运算。
(2)创建一个4×4的矩阵,并求这个矩阵的行列式值。
(3)线性方程的求解解方程组=6613753467294x 。
四实验要求:写出实验程序与仿真结果。
1. >> a=linspace(2,10,5) a =2 4 6 8 10>> b=linspace(1,9,5) b =1 3 5 7 9>> a+bans =3 7 11 15 19>> a-bans =1 1 1 1 1>> a.*bans =2 12 30 56 90>> a./bans =2.0000 1.3333 1.2000 1.1429 1.1111 >> a.\b ans =0.5000 0.7500 0.8333 0.8750 0.9000 2.(1) >> a=[1 1 1;2 2 2;3 3 3];>> b=[4 4 4;5 5 5;6 6 6];>> a+bans =5 5 57 7 79 9 9>> a-bans =-3 -3 -3-3 -3 -3-3 -3 -3>> a*bans =15 15 1530 30 3045 45 45>> a/bWarning: Matrix is singular to working precision. ans =NaN NaN NaNNaN NaN NaNNaN NaN NaN>> a\bWarning: Matrix is singular to working precision. ans =NaN NaN NaNNaN NaN NaNInf Inf Inf(2).>> a=[1 1 1 1;2 2 2 2;3 3 3 3;4 4 4 4];>> det(a)ans =(3).>> a=[4 9 2;7 6 4;3 5 7];>> b=[13;6;6];>> x=inv(a)*bx =-0.53081.7109-0.1374实验三 MATLAB数值计算(二)一实验目的:1.掌握多项式的创建与运算方法;2. 掌握基本的数据分析方法;二实验装置:计算机三实验内容:1.多项式创建输入系数矢量,创建多项式x^3-2*x^2+5*x+3。
《MATLAB原理及应用》实验报告第四章MATLAB程序设计一.实验目的1、掌握脚本文件的建立2、掌握条件语句和程序语句的使用3、掌握MATLAB的程序设计方法二.实验内容1.关于M脚本文件和M函数文件M文件是在M文件编辑器窗口中编写的。
在MATLAB的桌面上单击新建按钮,就可以打开M文件编辑器窗口,也可以通过依次单击【File】/【New】/【M-File】打开文件编辑器。
【实验4-1】脚本文件在M文件编辑器窗口输入一下内容:N=3;for m=1:Nfor n=1:Nif m==nA(m,n)=1;elseA(m,n)=0;endendend单击M文件编辑器窗口中的保存按钮,以“ex1.m”为文件名保存在当前工作目录下。
在命令窗口中输入:>> ex1运行后可以在命令窗口中看到变量A的图标,继续在命令窗口输入:>> AA =1 0 00 1 00 0 1这一脚本文件创建了一个3阶单位阵【实验4-2】 M 函数在M 文件编辑器窗口输入一下内容:function [mean,stdev]=stat(x)x=input('请输入x 的值:')%[mean,stdev]=stat(x)计算输入向量的均值和平均差%输入参数x 是向量%第一个输入参数mean 是向量各元素的平均值%第二个输入参数stdev 是向量的均方差%例如,取向量x=[1,2,3,4,5];%调用[mean,stdev]=stat(x),计算可得%均值mean=3%均方差stdev=1.4142n=length(x) %计算向量长度mean=sum(x)/n %计算向量平均值stdev=sqrt(sum((x-mean).^2/n)) %计算均方差输入完毕后,单击保存按钮,把文件保存在当前工作目录下,文件名为“stat.m ”2.MATLAB 程序流程控制【实验4-3】一个简单的for 循环事例。
MATLAB实验报告专业班级学号姓名实验一Matlab环境及命令窗口的使用实验目的与要求:熟练掌握MA TLAB的启动和退出;熟悉MA TLAB的命令窗口;熟悉常用选单和工具栏;熟悉MA TLAB桌面的其它窗口。
实验内容:启动MA TLAB,熟悉各环境窗口及作用,熟悉file、edit、View等菜单下各选项的功能;熟悉工具栏中各项的功能;打开演示程序(demo),开始其中的演示程序;退出MA TLAB(exit、quit)。
在命令窗口中,输入简单的命令操作;打开函数编辑窗,编写简单的程序并保存;程序:>> x1=sqrt(100),x2=5.48,y=9/x2x1 =10x2 =5.4800y =1.6423>>demo演示框左侧是库目录,选定demo下的图形类(Graphics)按钮,双击演示框右边的栏里的function of complex variable选项,就会出现如图中的演示框。
此例为复数Z的三次方:Z^3。
实验二Matlab数值计算实验目的与要求:熟练掌握matlab变量的使用;熟练掌握矩阵的创建;熟悉掌握matlab 的矩阵和数组的运算;熟悉matlab多项式的运算。
实验内容:1、给2×3阶矩阵变量a赋值(注意逗号与分号的使用),取其第2行第2个元素,取其第2行元素,取其第1列和第3列的元素;计算a/3、5*a、a+2等的值;程序:>> a=[7,9,5;5,9,4]a =7 9 55 9 4>> a=[7,9,5;5 9 4]a =7 9 55 9 4>> b=a([2],[2])b =9>> c=a([2],:)c =5 9 4>> d=a(:,[1,3])d =7 55 4>> e=a/3e =2.33333.0000 1.66671.6667 3.0000 1.3333>> 5*aans =35 45 2525 45 20>> a+2ans =9 11 77 11 62、生成2×3阶的全1矩阵x和3×3魔方矩阵y,计算a+x,x*y,x/y,y^2,2^a;a.*x, a.\x,y.^2,2.^a的值。
实验结果及分析实验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文件操作的各个函数。
二、实验内容1. 验证本章所举的例子例 5.1>> Fid=fopen('std.dat','w');>> Fid=fopen('std.dat','r')Fid =3>> A=fread(Fid);>> Sat=fclose(Fid)Sat =例 5.2>> magic=[1 2 3 4;5 6 7 8]magic =123 45678>> Fid=fopen('magic5.bin','w') Fid =3>> fwrite(Fid,magic,'int32') ans =8>> Sat=fclose(Fid)Sat =>> A=[-0.6515 -0.2727 -0.4354 -0.3190 -0.9047;-0.7534 -0.4567 -0.3212 -0.4132 -0.3583;-0.9264 -0.8173 -0.7823 -0.3265 -0.0631;-0.1735 -0.7373 -0.0972 -0.3267 -0.6298;-0.4768 -0.6773 -0.6574 -0.1923 -0.4389]A =-0.6515-0.2727-0.4354-0.3190-0.9047-0.7534-0.4567-0.3212-0.4132-0.3583-0.9264-0.8173-0.7823-0.3265-0.0631-0.1735-0.7373-0.0972-0.3267-0.6298-0.4768-0.6773-0.6574-0.1923-0.4389>> Fid=fopen('test.dat','w')Fid =3>> cnt=fwrite(Fid,A,'float')25>> fclose(Fid)ans =程序段将矩阵A的数据以二进制浮点数格式写入文件test.dat 中。
实验四 MATLAB语言绘图一、实验目的:1、学习MATLAB图形绘制的基本方法;2、熟悉和了解MATLAB图形绘制程序编辑的基本指令;3、熟悉掌握利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注;4、掌握plot、subplot的指令格式和语法。
二、实验基本知识:1.plot(x,y)------绘制由x,y所确定的曲线;2.图形窗口的分割;3.图形编辑窗口的使用。
三、实验内容1.用图形表示连续调制波形 y=sint*sin(9t)及其包络线。
>> t=(0:pi/100:pi)';>> y1=sin(t)*[1,-1];>> y2=sin(t).*sin(9*t);>> t3=pi*(0:9)/9;>> y3=sin(t3).*sin(9*t3);>> plot(t,y1,'r:',t,y2,'-bo')>> hold on>> plot(t3,y3,'s','MarkerSize',10,' MarkerEdgeColor ',[0 10],'MarkerFaceColor',[1,0.8,0])>> axis([0,pi,-1,1])>> hold off00.51 1.52 2.532.画出t e y t sin 5.0-=的曲线,在图上用“小红圈”标出第一次使y=0.6的那点位置。
>> fun=inline('exp(-0.5*t)*sin(t)-0.6'fun =Inline function:fun(t) = exp(-0.5*t)*sin(t)-0.6>> a=fzero(fun,0)a =-3.2595>> fplot(fun,[-2*pi,2*pi])>> hold on>> plot(a,0.6,'ro')-6-4-20246-4-2246810123.在同一个图形窗里画出实验三中第四题的三个输出,给出图题、横坐标、纵坐标名称。
matlab实验报告4实验四M⽂件的编写⼀、实验环境计算机MA TLAB软件⼆、实验⽬的1.学习MA TLAB中的关系运算和逻辑运算,掌握它们的表达形式和⽤法。
2.掌握MA TLAB中的选择结构和循环结构。
3.学会⽤MATLAB进⾏M⽂件的编写和调⽤。
三、预备知识1.关系和逻辑运算关系运算符⽤来完成关系运算,在控制程序流程⽅⾯有着极为重要的作⽤。
MATLAB 常⽤的关系符有:<、>、<=⼩于或等于、>=⼤于或等于、==等于、~=不等于。
关系运算符可以⽤来⽐较两个数值,若所描述的关系成⽴,则结果为1,表⽰逻辑真,反之,若所描述的关系不成⽴,结果为0,表⽰逻辑假。
MATLAB中的逻辑运算符有&与、|或、~⾮、逻辑运算法则A B A&B A|B xor(A,B) ~A0 0 0 0 0 10 1 0 1 1 11 0 0 1 1 01 1 1 1 0 02.选择结构if语句和switch语句if语句的⼀般形式如下:if A1 %表达式1B1 %命令2else if A2 %表达式2B2 %命令2else B3 %命令3endswitch语句的⼀般结构如下:switch a %读⼊⼀个语句case A1 %情况1B1 %命令1case A2case …………other case %其余情况Bn %最后⼀个命令3.循环结构for语句⼀半⽤于循环次数已知的情况,⽽while语句⼀般⽤于循环次数未知的情况。
for语句的格式为:for 变量=表达式命令1命令2…… endwhile 语句的格式为:while 表达式命令 end 四、实验内容和步骤1.创建⼀个矩阵,⽤函数all 和any 作⽤于该矩阵,⽐较结果。
创建⼀个矩阵a=[1,2,0,3;2,0,1,4];b=all(a),c=any(a),d=all(b),e=any(b) ⽐较结果b=1 0 0 1 c=1 1 1 1 d=0 e=1结果分情况讨论:当函数为all 时,在所选的数组中,只要有数等于0,那么,返回值为0;当不为0时,返回值为1。
学生实验报告开课学院及实验室: 机电学院2012年12月21日学院机电学院年级、专业、班姓名学号实验课程名称MATLAB程序设计成绩实验项目名称实验4: 数据和函数的可视化指导老师一、实验目的1、掌握MATLAB绘图的基本步骤和相关指令调用的先后顺序。
2、掌握MATLAB绘图指令的调用方法。
二、实验内容数学函数从形式上可以分为离散函数和连续函数。
MATLAB对这两种函数数据的可视化都提供了相应的指令。
仔细阅读教材【例5.1-1】的实现代码, 运行并保存结果;并改用stem函数, 画出【例5.1-1】的序列图。
仔细阅读教材【例5.1-2】的实现代码, 运行并保存结果;并分别使用描点和连折线方式, 画出连续函数y=xcosx的近似图形(采样点数自定, 要求画出的图尽量接近原连续函数的图)。
仔细阅读【例5.2-2】的实现代码, 理解plot指令画多条曲线的运用方法, 运行并保存结果;并使用plot函数和legend函数, 在同一个图形窗口上画出y=sint和y=sin(2t)在[0,2pi]区间上的图形, 并标出图例。
仔细阅读【例5.2-4】的实现代码, 理解图形标识选项的运用方法, 运行并保存结果;并修改代码, 把“sin(t)”字体改为正体, 大小改为20, “极大值”改为宋体。
阅读【例5.2-6】, 理解使用hold on指令画多幅图的方法, 运行并保存结果。
阅读【例5.2-8】, 理解使用subplot函数画多个子图的方法, 运行并保存结果。
(1)综合实验: 阅读以下关于通过绘制二阶系统阶跃响应综合演示图形标识的示例, 理解示例中所有图形标识指令的作用, 掌握各个图形标识指令的运用方法, 并在原指令上改动以实现以下功能:(2)把横坐标范围改为0至5pi, 纵坐标范围改为0至2;(3)把图中的横轴的刻度改为从0开始到4pi, 中间各点间隔为pi/2;纵轴刻度改为从0开始到1.5, 中间各点间隔为0.3;(4)把图中的α改为σ。
MATLAB图形基础班级:11电信一班姓名:何得中学号:20111060108实验目的:1.掌握MATLAB图形绘制功能;2.学会使用MATLAB提供的绘图函数;3.了解MATLAB对图形线性、色彩、光线、视角等的制定和处理。
实验仪器:MA TLAB软件,电脑实验数据:绘制fracreturnl变量同一图轴下绘制两条曲线增加子图分割子图删除图轴后仍保留两个子图效果添加图轴信息设定曲线样式在交互式绘图工具中增加图例>> rand('state',27)>> startprice=50;>>fracreturns1=0.0015*randn(200,1)+0.0003; >> x1=[startprice;1+fracreturns1];>> prices1=cumprod(x1); >> t=(1:length(prices1))'; >> randn('state',7) >>fracreturns2=0.0015*randn(200,1)+0.0003; >> x2=[startprice;1+fracreturns2]; >> prices2=cumprod(x2); >> whos Name Size Bytes Class L 51x51 20808 double array fracreturns1 200x1 1600 double array fracreturns2 200x1 1600 double array l1 1x1 8 double array l2 1x1 8 double array prices1 201x1 1608 double array prices2 201x1 1608 double array s 1x1 8 double arraystartprice 1x1 8 double array t 201x1 1608 double array x1 201x1 1608 double array x2 201x1 1608 double array Grand total is 4010 elements using 32080 bytes>> plot (prices2, 'DisplayName', 'prices2','YDataSource', 'prices2'); figure(gcf)>> x=0:pi/1000:2*pi; >> y=exp(-0.5*x).*sin(2*pi*x+pi/4);>> plot(x,y) plot(x,y,x,y+1,x,y-1) >> B=pascal(6) B = 1 1 1 1 1 1 1 2 3 4 5 6 1 3 6 10 15 21 1 4 10 20 35 56 1 5 15 35 70 126 1 6 21 56 126 252 >> plot(B)>> x=(0:pi/100:2*pi)'; >> y1=2*exp(-0.5*x)*[1,-1]; >> y2=2*exp(-0.5*x).*sin(2*pi*x); >> x1=(0:12)/2; >> y3=2*exp(-0.5*x1).*sin(2*pi*x1);>> plot(x,y1,'g:',x,y2,'b--',x1,y3,'rp');>> x1=0:pi/100:2*pi; >> x2=0:pi/100:3*pi;>> y1=exp(-0.5*x1).*sin(2*pi*x1); >> y2=1.5*exp(-0.1*x2).*sin(x2); >> plotyy(x1,y1,x2,y2);>> x=(0:pi/100:2*pi)';y1=2*exp(-0.5*x)*[1,-1];y2=2*exp(-0.5*x).*sin(2*pi*x);x1=(0:12)/2;y3=2*exp(-0.5*x1).*sin(2*pi*x1);plot(x,y1,'g:',x,y2,'b--',x1,y3,'rp');>> title('曲线及其包络线'); %加图形标题>> xlabel('independent variable X'); %加X轴说明>> ylabel('independent variable Y'); %加y轴说明>> text(2.8,0.5,'包络线'); %在指定位置添加图形说明>> text(0.5,0.5,'曲线y');>> text(1.4,0.1,'离散数据点');>> legend('包络线','包络线','曲线y','离散数据点') %加图例>> x=(0:pi/100:2*pi)';>> y1=2*exp(-0.5*x)*[1,-1];>>y2=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y1,'b:');>> axis([0,2*pi,-2,2]);>> hold on;>> plot(x,y2,'k');>> grid on;>> box off;>> hold off;>> x=(0:pi/100:2*pi)';>> y1=2*exp(-0.5*x)*[1,-1];>> y2=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y1,'b:');>> hold on;>> plot(x,y2,'k');>> grid on;>> box off;>> hold off>>alpha=-0.5;>>beta=3;>>A=50;>>t=0:0.01:10;>>y=A*exp(alpha*t).*sin(beta*t);>>plot(t,y);>>title('\fontname{隶书}\fontsize{16}{隶书}\fontname{Impact}{Impact}')>>xlabel('^{上标}and_{下标}')>>ylabel('Some\bf粗体\rm and some\it{斜体}')>>txt={'y={\itAe}^{\alphax}sin(\beta\itt)',... >> ['\itA\rm','='.num2str(A)],...>> ['\alpha='num2str(alpha)],...>> ['\beta=',num2str(beta)];>> text(2,22,txt)x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps);ct=cos(x)./(sin(x)+eps); subplot(2,2,1);plot(x,y);title('sin(x)');axis([0,2*pi,-1,1]); subplot(2,2,2);plot(x,z);title('cos(x)');axis([0,2*pi,-1,1]);subplot(2,2,3);plot(x,t);title('tangent(x)');axis([0,2*pi,-40,40]);subplot(2,2,4);plot(x,ct);title('cotangent(x)');axis([0,2*pi,-40,40]);x=linspace(0,2*pi,60); y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps);ct=cos(x)./(sin(x)+eps); subplot(2,2,1);stairs(x,y);title('sin(x)-1');axis([0,2*pi,-1,1]); subplot(2,1,2);stem(x,y);title('sin(x)-2');axis([0,2*pi,-1,1]); subplot(4,4,3);plot(x,y);title('sin(x)');axis([0,2*pi,-1,1]); subplot(4,4,4);plot(x,z);title('cos(x)');axis([0,2*pi,-1,1]); subplot(4,4,7);plot(x,t);title('tangent(x)');axis([0,2*pi,-40,40]);subplot(4,4,8);plot(x,ct);title('cotangent(x)');axis([0,2*pi,-40,40]);x=0:0.35:7;y=2*exp(-0.4*x);subplot(2,2,1);bar(x,y,'g');title('bar(x,y,''g'')');axis([0,7,0,2]); subplot(2,2,2);fill(x,y,'r');title('fill(x,y,''r'')');axis([0,7,0,2]); subplot(2,3,4);stairs(x,y,'b');title('stairs(x,y,''b'')');axis([0,7,0,2]);subplot(2,3,5);stem(x,y,'k');title('stem(x,y,k'')');axis([0,7,0,2]); subplot(2,3,6);area(x,y);title('area(x,y)');axis([0,7,0,2]);theta=0:0.01:2*pi;rho=sin(3*theta).*cos(3*theta);polar(theta,rho,'r');x=0:0.1:10; y=12*x.*x;subplot(2,2,1);plot(x,y);title('plot(x,y)');grid on;subplot(2,2,2);semilogx(x,y);title('semilogx(x,y)');grid on;subplot(2,2,3);semilogx(x,y);title('semipogx(x ,y)');grid on;subplot(2,2,4);loglog(x,y);title('loglog(x,y)');grid on;function y=myf(x); y=cos(tan(pi*x));fplot('myf',[-0.2,1.2],1e-4);subplot(1,2,1); pie([7,17,23,19,5]);title('饼图');legend('优秀','良好','中等','及格','不及格');subplot(1,2,2);compass([3+2i,4.5-i,-1.5+5i]);title('相量图');t=0:pi/50:2*pi;x=8*cos(t);y=4*sqrt(2)*sin(t);z=-4*sqrt(2)*si n(t);plot3(x,y,z,'p');title('Line in 3-D space');text(0,0,0,'origin');xlabel('X'),ylabel('Y'),zlabel('Z');grid;x=5:29;y=14:35; [x,y]=meshgrid(x,y); z=2*x+5*y; k=find(z==126); x(k)',y(k)' >> bans =8 13 18 23 28 ans =22 20 18 16 14x=0:0.1:2*pi;[x,y]=meshgrid(x);z=sin(y).*cos (x);mesh(x,y,z);xlabel('x-axis'),ylabel('y-axis'),zla bel('z-axis');title('mesh');x=0:0.1:2*pi;[x,y]=meshgrid(x);z=sin(y).*cos(x);surf(x,y,z);xlabel('x-asis'),ylabel('y-axis'),zlabel('z-axis');title('surf');x=0:0.1:2*pi;[x,y]=meshgrid(x);z=sin(y).*cos (x);plot3(x,y,z);xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis');title('plot3');grid;[x,y]=meshgrid(-10:0.5:10);z=sin(sqrt(x.^3+y.^2))./sqrt(x.^2+y.^2+eps); subplot(2,2,1); meshc(x,y,z);title('meshc(x,y,x)'); subplot(2,2,2); meshz(x,y,z);title('meshz(x,y,x)'); subplot(2,2,3); surfc(x,y,z);title('surfc(x,y,z)'); subplot(2,2,4); surfl(x,y,z);title('surfl(x,y,z)');t=0:pi/20:2*pi;[x,y,z]=cylinder(2+sin(t),30); subplot(1,3,1); surf(x,y,z);subplot(1,3,2); [x,y,z]=sphere; surf(x,y,z); subplot(1,3,3); [x,y,z]=peaks(300);meshz(x,y,z);subplot(2,2,1); bar3(magic(5)); subplot(2,2,2);y=3*sin(0:pi/10:2*pi); stem3(y);subplot(2,2,3);pie3([2347,1827,2043,3025]); subplot(2,2,4);fill3(rand(3,6),rand(3,6),rand(3,6),'r');subplot(1,2,1); [x,y,z]=peaks; waterfall(x,y,z);xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis'); title('waterfall of peaks'); subplot(1,2,2);contour3(x,y,z,12,'k');xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis');title('contour3 of peaks');subplot(2,2,1);mesh(peaks); view(-37.5,30);title('azimuth=-37.5,elevation=30') subplot(2,2,2);mesh(peaks); view(0,90);title('azimuth=0,elevation=90') subplot(2,2,3);mesh(peaks); view(90,0);title('azimuth=90,elevation=0') subplot(2,2,4);mesh(peaks); view(-7,-10);title('azimuth=-7,elevation=-10')z=peaks(20);colormap(copper); subplot(1,3,1);surf(z);subplot(1,3,2);surf(z);shading flat;subplot(1,3,3);surf(z);shading interp;x=0:0.1:2*pi;[x,y]=meshgrid(x);z=sin(y).*cos (x);[I,J]=find(z>0.2); for ii=1:length(I)z(I(ii),J(ii))=NaN; endsurf(x,y,z);。
实验一典型环节的电路模拟与软件仿真研究一.实验目的1.通过实验熟悉并掌握实验装置和上位机软件的使用方法。
2.通过实验熟悉各种典型环节的传递函数及其特性,掌握电路模拟和软件仿真研究方法。
二.实验内容1.设计各种典型环节的模拟电路。
2.完成各种典型环节模拟电路的阶跃特性测试,并研究参数变化对典型环节阶跃特性的影响。
3.在上位机界面上,填入各个环节的实际(非理想)传递函数参数,完成典型环节阶跃特性的软件仿真研究,并与电路模拟研究的结果作比较。
三、实验结果积分环节的传递函数为:Tss U s U i O 1)()(=其方块图、模拟电路和阶跃响应,分别如图1.2.1、图1.2.2和图1.2.3所示,于是C R T 0=,实验参数取R 0=100k ,C =1uF ,R=10k 。
4.比例微分(PD)环节的传递函数、方块图、模拟电路和阶跃响应比例微分环节的传递函数为:)1(Ts K U UiO +=其方块图和模拟电路分别如图1.4.1、图1.4.2所示。
其模拟电路是近似的(即实际PD环节)=10k ,R 3其方块图、模拟电路和阶跃响应,分别如图1.5.1、图1.5.2和图1.5.3所示,其中C R T R R K 101,==,实验参数取R 0=200k ,R 1=200k ,C =1uF ,R=10k 。
对应理想的和实际的比例积分微分(PID)环节的阶跃响应分别如图1.6.3 a 、图1.6.3 b 所示。
实际PID 环节的传递函数为:1222110010132()1(1)()(1)o i U s R R R C R C s U s R R C s R C R C s ++=+++(供软件仿真参考)实验二 典型系统动态性能和稳定性分析一.实验目的1.学习和掌握动态性能指标的测试方法。
2.研究典型系统参数对系统动态性能和稳定性的影响。
二.实验内容1.观测二阶系统的阶跃响应,测出其超调量和调节时间,并研究其参数变化对动态性能和稳定性的影响。
学生实验报告一、实验目的1. 归纳和学习求解常微分方程(组)的基本原理和方法;2. 掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析;3. 熟悉MATLAB软件关于微分方程求解的各种命令;4. 通过范例学习建立微分方程方面的数学模型以及求解全过程;通过该实验的学习,使学生掌握微分方程(组)求解方法(解析法、欧拉法、梯度法、改进欧拉法等),对常微分方程的数值解法有一个初步了解,同时学会使用MATLAB软件求解微分方程的基本命令,学会建立微分方程方面的数学模型。
这对于学生深入理解微分、积分的数学概念,掌握数学的分析思维方法,熟悉处理大量的工程计算问题的方法是十分必要的。
二、实验仪器、设备或软件:电脑,MATLAB软件三、实验内容1.微分方程及方程组的解析求解法;2.微分方程及方程组的数值求解法——欧拉、欧拉改进算法;3.直接使用MATLAB命令对微分方程(组)进行求解(包括解析解、数值解);4.利用图形对解的特征作定性分析;5.建立微分方程方面的数学模型,并了解建立数学模型的全过程。
四、实验步骤1.开启软件平台——MATLAB,开启MATLAB编辑窗口;2.根据微分方程求解步骤编写M文件3.保存文件并运行;4.观察运行结果(数值或图形);5.根据观察到的结果和体会写出实验报告。
五、实验要求与任务1.求微分方程的解析解,并画出它们的图形。
y '= y + 2 x, y (0) = 1, 0< x <1;解:命令为:dsolve('Dy=y+2*x','y(0)=0','x') 结果为:ans =2*exp(x) - 2*x – 2绘制图形程序:x=linspace(0,1,50);y=2*exp(x) - 2*x - 2;plot(x,y)图形如下:2.求微分方程⎪⎩⎪⎨⎧====-+]100[0)0(;0)0(01.03t uu u u u 的数值解,要求编写求解程序。
《数学实验》综合实验报告报告成员(2人):李庆超自动化1301 41321038陈吉采矿理留1401 614020152015年 6月运用MATLAB求解电路问题电路问题主要分为稳态电路与动态电路, 这里结合电路原理中的节点电压法, 通过MATLAB求解稳态电路;结合电路原理中的状态方程, 通过MATLAB求解动态电路。
§1运用MATLAB求解稳态电路一、问题提出:求解如图所示的稳态电路, 求出各电阻、电感、电容两端的电压及流过他们的电流和有功功率和功率因数。
(w=100rad/s;Is3=1A;Is4=2A;L1=10mH;L2=50mH;R3=5Ώ;R4=2Ώ;R5=10Ώ;C6=0.1mF)模型建立:本题首先可以运用电路原理的知识, 列出节点电压方程, 将电路结构及其参数用矩阵形式表达出来, 然后运用MATLAB 的知识对其进行求解。
根据电路原理知识, 任何稳态电路的求解可以根据以下公式列节点电压方程:s n TI A U AYA ..=其中, A 为电路的关联矩阵, Y 为支路导纳矩阵, 为节点电压, 为电源列向量。
对本题而言:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=011100001010011101A ⎥⎦⎤⎢⎣⎡=65432111111jwC R R R jwL jwL diag Y⎥⎦⎤⎢⎣⎡=0000.4.3.s s s I I I因此, 在根据 , 可以运用MATLAB 求解出本题的节点电压矩阵: , 进而得到各处节点相对于参考节点的电压。
问题求解:程序代码:w=100;Is3=1;Is4=2;L1=0.01;L2=0.05;R3=5;R4=2;R5=10;C6=0.0001;A=[1 0 1 1 0 0;-1 1 0 0 0 1;0 -1 0 -1 1 0];Is=[0;0;Is3;Is4;0;0];y=[1/(j*w*L1),1/(j*w*L2),1/R3,1/R4,1/R5,1/(j*w*C6)];Y=diag(y,0)Un=inv(A*Y*A')*A*IsIR3=Un(1)/R3IR4=(Un(1)-Un(3))/R4IR5=Un(3)/R5IC6=Un(2)*j*w*C6IL1=(Un(1)-Un(2))/(j*w*L1)IL2=(Un(3)-Un(2))/(j*w*L2)求解结果:Un =0.7705 + 1.1223i0.0023 + 0.0112i-2.6991 + 0.0347iIR3 =0.1541 + 0.2245iIR4 =1.7348 + 0.5438iIR5 =-0.2699 + 0.0035iIC6 =-1.1158e-04 + 2.2793e-05iIL1 =1.1111 - 0.7682iIL2 =0.0047 + 0.5403i结论:通过MATLAB求解得:相对于参考节点4, 节点1、2、3的节点电压分别为(0.7705+j1.223)V,(0.0023+j0.0112)V, (-2.6991+j0.0347)V。
贵州大学实验报告学院:计信专业:通信工程班级:通信102 姓名学号实验组实验时间2012.05.11 指导教师成绩实验项目名称MATLAB的基本操作与程序设计实验目的1、熟悉MATLAB的界面功能和基本操作;2、掌握MATLAB的基本运算方法;3、掌握MATLAB的矩阵运算方法;4掌握MA TLAB中帮助命令的使用方法。
5、掌握MATLAB的流程控制;6、掌握MATLAB的程序控制语句;7、掌握定义和调用MA TLAB函数的方法。
实验要求必须按要求完实验原理利用MA TLAB的一些命令可以完成对矩阵的运算,利用MATLAB和语文可以实现一些程序的设计。
实验仪器一台装有MATLAB软件的计算机实验步骤1、启动MATLAB,熟悉其各个窗口和菜单;2、新建Editor窗口,在该窗口中键入相应程序,并保存;3、参见实验内容。
4、启动MATLAB,新建Editor窗口,在该窗口中键入相应程序,并保存;5、参见实验内容。
实验内容1、已知:错误!未找到引用源。
, 错误!未找到引用源。
求下列表达式的值:(1)、错误!未找到引用源。
,其中I为单位矩阵;(2)、错误!未找到引用源。
, 错误!未找到引用源。
错误!未找到引用源。
;(3)、[A,B] 和[A([1,3],:);B^2].2、创建一个4行4列的满足正态分布的随机矩阵C,然后分别求C的对角阵、逆矩阵、转置、行列式值、秩。
3、已知:错误!未找到引用源。
, 错误!未找到引用源。
;求出表达式Z的值。
提示:利用冒号表达式生成a变量,求各点的函数值时用点乘运算。
四(1)、编写猜数程序。
首先由计算机产生[1,100]之间的均匀分布的一个随机整数,然后由用户猜测所产生的随机数。
根据用户猜测的情况给出不同提示:如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You w o n”,同时退出,用户最多可以猜7次。
提示:随机数生成指令rand(2)、根据中华人民共和国个人所得税法规定,公民的工资、薪金所得应该依法缴纳个人所得税。
实验四 MATLAB 绘图
一、实验目的
1.掌握二维图形的绘制。
2.掌握图形的标注
3.了解三维曲线和曲面图形的绘制。
二、实验的设备及条件
计算机一台(带有MATLAB7.0以上的软件环境)。
设计提示
1.Matlab 允许在一个图形中画多条曲线:plot(x1,y1,x2,y2,……)指令绘制y 1 = f 1(x 1), y 2 = f 2 (x 2 )等多条曲线。
Matlab 自动给这些曲线以不同颜色。
标注可用text 函数。
2.绘图时可以考虑极坐标和直角坐标的转换。
3.三维曲线绘图函数为plot3,注意参考帮助中的示例。
三、实验内容
1.生成1×10 维的随机数向量a ,分别用红、黄、蓝、绿色绘出其连线图、杆图、阶梯图和条形图,并分别标出标题“连线图”、“杆图”、“阶梯图”、“条形图”。
2、绘制函数曲线,要求写出程序代码。
(1) 在区间[0:2π]均匀的取20个点,构成向量t
(2) 在同一窗口用黑色绘制曲线y1=sin(2*t-0.3); 蓝色绘制曲线小y2=3cos(t+0.5);
(3)用红色圆圈标注两曲线的交叉点(使用ginput 函数获取交叉点的近似值)
(4)为你所绘制的图形添加相应的图形标注。
3.用mesh 或surf 函数,绘制下面方程所表示的三维空间曲面,x 和y 的取值范围设为[-3,3]。
10102
2y x z +-=
4.在[-2π,2π]的区间上,分别用plot 和fplot 函数绘制函数y=sin(1/x)的曲线,分析两曲线的差别。
思考题:
1.编写一个mcircle(r)函数,调用该函数时,根据给定的半径r,以原点
为圆心,画一个如图所示的红色空心圆。
(图例半径r=5);左图参考
polar函数的用法,右图绘制圆形的参数方程为x=sin(t),y=cos
(t)。
其中,t的区间为0~2*pi,步长为0.1。
2.(1)绘一个圆柱螺旋线(形似弹簧)图。
圆柱截面直径为10,高度为5,每圈上升高度为1。
如左图所示。
(2)利用(1)的结果,对程序做少许修改,得到如右图所示图形。
四、实验报告要求(包含预习报告要求和最终报告要求)
1.实验名称
2.实验目的
3.实验设备及条件
4.实验内容及要求
5.实验程序设计
指程序代码。
6.实验结果及结果分析
实验结果要求必须客观,有数据的可以记录数据,没有数据的简单描述实验现象。
结果分析是对实验结果的理论评判。
7.实验中出现的问题及解决方法
8. 思考题的回答
五.实验代码
clc
clear all
clf
%1
y=rand(1,10);
x=linspace(0,10,10);
subplot(2,2,1)
plot(x,y,'.-')
subplot(2,2,2)
stem(x,y)
subplot(2,2,3)
stairs(x,y)
subplot(2,2,4)
bar(x,y)
%2
figure
t=linspace(0,2*pi,20);
y1=sin(2*t-0.3);
y2=3*cos(t+0.5);
plot(t,y1,'k',t,y2,'b')
xlabel('t')
ylabel('y')
[x,y] = ginput(2);
hold on
plot(x(1),y(1),'ro',x(2),y(2),'ro')
gtext('y1=sin(2t-0.3)')
gtext('y2=3cos(t+0.5)')
%3
figure
x=-3:0.1:3;
y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=-X.^2/10+Y.^2/10;
mesh(X,Y,Z)
%4
figure
a=linspace(-2*pi,2*pi,100);
b=sin(1./a);
subplot(1,2,1)
plot(a,b)
subplot(1,2,2)
fplot('sin(1/x)',[-2*pi,2*pi])
用fplot函数能够自动在斜率大的点处多取参考点,使图像更准确
思考题:
%1
mcircle函数:
function [y,t]=mcircle(r)
figure
subplot(1,2,1);
t=0:2*pi/64:2*pi;
y=r*ones(size(t));
polar(t,y,'*r')
[X,Y]=pol2cart(t,y);
t = 0:0.1:2*pi;
x=r*sin(t);
y=r*cos(t);
subplot(1,2,2);
axis square;
axis equal;
plot(x,y,'*r')
调用时:
r=5;
mcircle(r);
% 2.(1)
t=0:pi/100:2*pi*5;
r1=10/2;
x1=r1.*cos(t);
y1=r1.*sin(t);
z=t/(2*pi);
figure
subplot(1,2,1);
plot3(x1,y1,z);
%2.(2)
r2=linspace(5,0,length(t));
x2=r2.*cos(t);
y2=r2.*sin(t);
subplot(1,2,2)
plot3(x2,y2,z)
六.实验结果及结果分析。