MATLAB第一次实验
MATLAB第一次实验报告

MATLAB第一次实验报告1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。
并以x,y为坐标显示图像x(n+1) = a*x(n)-b*(y(n)-x(n)^2);y(n+1) = b*x(n)+a*(y(n)-x(n)^2)程序:function [y1,y2]=draw(a,b,c,x1,y1)x=[];y=[];x(1)=x1;y(1)=y1;n=c;for i=1:nx(i+1)=a*x(i)-b*(y(i)-x(i)^2);y(i+1)=b*x(i)+a*(y(i)-x(i)^2);endy1=x;y2=y;plot(y1,y2)输入:draw(5,1,1,1,2)2. 编程实现奥运5环图,允许用户输入环的直径。
程序:clcclearr=input('input a mnmber:')color1=['b','k','r'];color2=['y','g'];t=linspace(0,2*pi);a1=r+0.2*r;a2=3*r+0.4*r;a3=5*r+0.6*r;a=[a1,a2,a3];b1=2*r+0.3*r;b2=4*r+0.5*r;b=[b1,b2];for i=1:3x=r*cos(t)+a(i);y=r*sin(t);plot(x,y,color1(i),'linewidth',5) axis([0,7*r,-2*r,1.5*r]);hold onaxis equalendfor n=1:2x=r*cos(t)+b(n);y=r*sin(t)-r;plot(x,y,color2(n),'linewidth',5) hold onendaxis off输入:6(圆的半径)3. 实现对输入任意长度向量元素的冒泡排序的升序排列。
不允许使用sort函数。
第一次实验

2
1
Байду номын сангаас
实验一:matlab 的基本操作
3.cell 数组的练习: (1)A=[1 2; 3 4]; str='Matlab'; 建立一个 cell 数组 Ce,包括 1,2,3,4,以及 A 和 str; (2)显示这个 cell 数组; (3)建立一个 22 的 Cell 数组,并为每一项分别赋值 a 变量的值,2,矩阵 C 和串 str; 4. 请从文件 commerce.xls 中导出数据,把前面部分的说明写入变量 bm、headcom 中,后 面部分的数据写入 data 中,然后从变量中导出年写入变量 year 中,最后画出 year‐ commerce 的视图(利用 plot 命令),然后对该图进行修饰。
实验一:matlab 的基本操作
实验一:matlab 的基本操作
实验目的:熟悉 matlab 环境;熟悉数据的输入;对矩阵的输入,有关的操作的练习; 实验内容: 1.试用 matlab 语句给出一个矩阵:第一行是 1‐5;第二行是 6‐10;第三行是 10‐6;第四行 是 5‐1。 (0)一条命令后加’;’,与不加分号的区别;用 a=2 做实验; (1)并把这个矩阵存入变量 A 中,请用“:”运算符; (2)请取出第三行第四列的元素放入变量 a 中; (3)对矩阵的每个元素加 2 后,存入变量 B 中; (4)从矩阵 A 中提取偶数行,形成一个新的矩阵 C; (5)把 A 中的元素与 B 中的对应元素相乘,结果存入 E 中; (6)根据 C 矩阵,生成一个 54 的矩阵 F:第一行、第二行是 C 的第一行、第二行;第 三行、第四行、第五行是 C 的第一行的 1 倍、2 倍、3 倍;四列是 C 矩阵前四列; (7)求矩阵 A 与 F 的乘积; (8)在 A 中找出所有大于 5 的矩阵的行和列;(find 函数) (9)学习 any, all 函数的应用,给出这两个函数的 含义;并应用这两个函数到矩阵 A 中, 求>10 的情况。 2.熟悉 help 的用法: (1)查找 save, load 的用法;并应用相关 语句把习题 1 中的所有变量存入一个文件 lab1 中; (2)查找 clc, clear, and close 的用法 ;请清除 workspace 中的所有变量;建立快捷键,一 次完成 clc,clear,close 的操作。 (3)习题 1 中的变量重新装入 workspace 中; (4)学习如何把 command history 中的命令在命令行中执行;
第一次MatlAB实验报告

实验一 数学模型的MatlAB 描述一、MatlAB 中数学模型的表示MatlAB 中数学模型的表示主要有三种基本形式:传递函数分子/分母多项式模型、传递函数零极点增益模型和状态空间模型。
它们各有特点,有时需在各种模型之间进行转换。
1. 传递函数分子/分母多项式模型当传递函数为nn n nm m m m a s a sa s ab s b sb sb s G ++++++++=----11101110)(时,在MatlAB 中,直接用分子、分母的系数表示,即],,,[10m b b b num = ],,,[10n a a a d e n = ),()(d e n num tf s G =例1:已知一系统的传递函数2432328()3842ss G s s s s s ++=++++,提取其分子和分母多项式,并绘制零极点图*。
>> num=[3 2 8]; den=[1 3 8 4 2]; G=tf(num,den) [tt,ff]=tfdata(G ,'v') pzmap(G)grid on 结果如下:2. 传递函数的零极点增益模型当传递函数为)())(()())(()(1010n m p s p s p s z s z s z s Ks G ------=时,在MatlAB 中,用[z,p,k]矢量组表示,即[][][]),,()(,,,,,1010k p z zpk s G K k p p p p z z z z n m ====例2:求一传递函数222328()(61)(24)s s G s s s s s ++=++++的零极点及其增益,并绘制零极点图。
>> num=[3 2 8];den=conv([1 6 12],[1 2 4]); G=tf(num,den) GG=zpk(G)[z,p,k]=zpkdata(G ,'v') pzmap(G) grid结果如下:3.状态空间模型当系统的数学模型为状态空间表达式{BuAXX+='+=DuCXY时,在MatlAB中,用[A、B、C、D]矩阵组表示,即系统表示为()DCBAss、、、实验3:已知两系统串联,其中2132265452s sGs s s++=+++,222712432s sGs s++=++,求此串联系统的总的传递函数。
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第一次实验

fc=10000;fs=80000;N=4096;ts=1/fs;tp=10/fm;t=ts*tp;fHz=[0:4095]/4096*fs;wc=1,5*2*pi*fm/fs;B=firl(16,wc/pi);[h,w]=freqz(B,1,N); %低通滤波器mt=cos(2*pi*fm*t);mxt=sin(2*pi*fm*t); %m(t)的希尔伯特变换ct=cos(2*pi*fc*t);cqt=sin(2*pi*fc*t); %Cq(t)c1t=cos(2*pi*fc*t+pi/8); %相移pi/8的载波c2t=cos(2*pi*fc*t+pi/4); %相移pi/4的载波c3t=cos(2*pi*fc*t+pi/3); %相移pi/3的载波c4t=cos(2*pi*fc*t+pi/2); %相移pi/2的载波d0t=mt.*ct; %DSB已调信号a0t=[1+m(t)].*ct; %AM的已调信号s0t=0.5*mt*ct-0.5*mxt*cqt; %SSB已调信号上边带s1t=0.5*mt*ct+0.5*mxt*cqt; %SSB已调信号下边带Cw=fft(ct,N);Mw=fft(mt,N);D0w=fft(d0t,N);A0w=fft(a0t,N);S0w=fft(s0t,N);S1w=fft(s1t,N);figure(1);subplot(2,1,1);plot(t,mt);title(‘调制信号的时域波形’);xlabel(‘t’);ylabel(‘m(t)’);subplot(2,1,2);plot(t,ct);title(‘载波的时域波形’);xlabel(‘t’);ylabel(‘c(t)’);figure(2);subplot4,1,1);title(‘DSB已调信号的时域波形’);xlabel(‘t’);ylabel(‘d0(t)’);subplot(4,1,2);plot(t,a0t);title(‘AM已调信号的时域波形’);xlabel(‘t’);ylabel(‘a0(t)’);subplot4,1,3);plot(t,s0t);title(‘SSB已调信号上边带的时域波形’);xlabel(‘t’);ylabel(‘s0 (t)’);subplot4,1,4);plot(t,s1t);title(‘SSB已调信号下边带的时域波形’);xlabel(‘t’);ylabel(‘s1(t)’);figure(3);subplot(6,1,1);plot([0:N-1]/N*fs,abs(Cw));title(‘载波信号频谱图’);xlabel(‘w’);ylabel(‘C(w)’);subplot(6,1,2);plot([0:N-1]/N*fs,abs(Mw));title(‘调制信号频谱图’);xlabel(‘w’);ylabel(‘M(w)’);subplot(6,1,3);plot([0:N-1]/N*fs,abs(D0w));title(‘DSB已调信号频谱图’);xlabel(‘w’);ylabel(‘D0(w)’);subplot(6,1,4);plot([0:N-1]/N*fs,abs(A0w));title(‘AM调制信号频谱图’);xlabel(‘w’);ylabel(‘A0(w)’);subplot(6,1,5);plot([0:N-1]/N*fs,abs(S0w));title(‘SSB已调信号上边带频谱图’);ylabel(‘S0(w)’);subplot(6,1,6);plot([0:N-1]/N*fs,abs(S1w));title(‘SSB已调信号下边带频谱图’);xlabel(‘w’);ylabel(‘S1(w)’);figure(4)subplot(1,1,1);plot(w*fs/(2*pi),20*log10(abs(h))); title(‘低通滤波器的频谱图’);xlabel(‘w’);ylabel(‘H (w)’);。
同济matlab选修课第一次实验内容参考答案

z1=poly2str(z,'x'); w=polyval(z,x); plot(x,y,'o',x,w,'r')
实验体会与总结
-3-Βιβλιοθήκη 的值,8 3 2 8, b2 3, r2 15
1 10, b1 , r1 28
在三维空间上画出解轨线。 解:
equation.m equation_run.m
function dx=equation(t,x,a,b,c); dx=zeros(3,1); dx=[-a*x(1)+a*x(2);c*x(1)-x(2)-x(1)*x(3);x(1)*x(2)-b*x(3)];
实 验 报 告
班级 实 验 名 称 学号 姓名 Matlab 第一次试验 1.熟悉 Matlab 的操作环境和基本操作; 实 验 目 的 2. 掌握随机矩阵的构建; 3.掌握微分方程数值求解; 4. 掌握曲线拟合 参加实验时间 实 验 地 点 年 月 日 7、8 节课 电信楼 313
实验内容及其结果(写出源程序及其输出结果)
>> x0=[0,1e-10,1]; a1=10;b1=8/3;c1=28; [t,x]=ode45(@equation,[0,100],x0,[],a1,b1,c1); a2=8;b2=3;c2=15; [t,y]=ode45(@equation,[0,100],x0,[],a2,b2,c2); subplot(1,2,1);plot3(x(:,1),x(:,2),x(:,3)); subplot(1,2,2);plot3(y(:,1),y(:,2),y(:,3))
%
[i,j]= find(abs(A)>3);
第一次实验MATLAB

3>> (12+2*(7-4))/3^2ans =24>> a=-8;>> a=-8;r_a=a^(1/3)r_a =1.0000 + 1.7321i>> p=[1,0,0,-a];R=roots(p)R =-2.00001.0000 + 1.7321i1.0000 - 1.7321i>> MR=abs(R(1));t=0:pi/20:2*pi;x=MR*sin(t);y=MR*cos(t);plot(x,y,'b:') >> grid on>> hold on>> plot(R(2),'.','Markersize',30,'color','r')>> plot(R([1,3]),'o','Markersize',15,'Color','b')>> axis([-3,3,-3,3]),axis square>> hold off>> whoYour variables are:MR R a ans p r_a t x y5>> whosName Size Bytes ClassMR 1x1 8 double arrayR 3x1 48 double array (complex) a 1x1 8 double arrayans 1x1 8 double arrayp 1x4 32 double arrayr_a 1x1 16 double array (complex)t 1x41 328 double arrayx 1x41 328 double arrayy 1x41 328 double arrayGrand total is 134 elements using 1104 bytes6 >>clear>> who>> whos8 a=-8;w1=a^(2/3)Wl=-2.0000 + 3.4641i>> a=-8;w2=(a^2)^(1/3)w2 =4.0000>> a=-8;w3=(a^(1/3))^2w3 =-2.0000 + 3.4641i7 Clear:清除MA TLAB工作空间中保存的变量;Clf:清除图形窗。
实验一 Matlab软件初步(终稿)

实验一 MATLAB软件初步1.1实验目的在计算机上进行数学实验需要一个功能完备的计算平台,本数学实验系列课程均在MATLAB软件环境中进行数学实验。
而本实验的目的就是熟悉MATLAB软件使用环境,并掌握其基本应用,为后续实验课程奠定必要的计算机基础。
1.2 实验要求本实验要求学生掌握MATLAB软件的基本功能,会使用MATLAB进行简单的数值运算,会使用plot函数绘制简单二维图形,会编写简单的MATLAB程序,会使用常用MATLAB帮助命令。
1.3知识概要1.3.1 导言MATLAB是 MATrix LABoratory 的缩写,是由美国MathWorks公司开发的工程计算软件。
MATLAB语言是以数组为基本数据单位,包括控制流程语句、函数、数据结构、输入输出及面向对象等特点的高级语言,具有以下主要特点:1)运算符和库函数极其丰富,语言简洁,编程效率高。
MATLAB除了提供和C语言一样的运算符外,还提供广泛的矩阵和向量运算符。
2)既具有结构化的控制语句(如for循环、while循环、break语句、if语句和switch语句),又有面向对象的编程特性。
3)图形功能强大。
它既包括对二维和三维数据可视化、图像处理、动画制作等高层次的绘图命令,也包括可以完全修改图形局部及编制完整图形界面的、低层次的绘图命令。
1.3.2 MATLAB软件环境启动MATLAB后,软件界面如下图所示,该界面主要包括命令窗口、工作区窗口、历史命令窗口、当前目录窗口。
图 1 MATLAB 主窗口1 命令窗口(Command Window)命令窗口是用户与MATLAB 进行交互的主要场所,命令窗口的空白区域,用于输入和显示计算结果,可以在该区域键入各种MATLAB 命令进行各种操作,键入数学表达式进行计算。
例如,当键入变量赋值命令:123x =+⨯,并回车, 将在命令行的下面显示:再输入求三角正弦函数值的表达式sin()4y =并回车,将显示:在进行程序设计时,首先需要对变量进行命名,MATLAB的变量名称需要符合以下规则:⏹以字母开头,后面可跟字母,数字和下短线;⏹大小写字母有区别;⏹不超过31个字符。