matlab实验报告(实验2)

合集下载

实验二MATLAB绘制图形

实验二MATLAB绘制图形

grid on %在所画出的图形坐标中加入栅格
绘制图形如下
50
10
1
0.8
40
10
0.6
0.4
30
10
0.2
0
1020
-0.2
-0.4
1010
-0.6
-0.8
0
10
-1
-2
0
2
-2
0
2
10
10
10
10
10
10
如果在图中不加栅格
程序如下:
clear x=logspace(-1,2);%在10^(-1)到10^2之间产生50个 对数等分的行向量 subplot(121); loglog(x,10*exp(x),'-p') subplot(122); semilogx(x,cos(10.^x))
(2)plot(x,y): 基本格式,x和y可为向量或矩阵. 1. 如果x,y是同维向量,以x元素为横坐标,以y元素 为纵坐标绘图. 2. 如果x是向量,y是有一维与x元素数量相等的矩阵, 则以x为共同横坐标, y元素为纵坐标绘图,曲线数目 为y的另一维数. 3. 如果x,y是同维矩阵,则按列以x,y对应列元素为 横、纵坐标绘图,曲线数目等于矩阵列数.
y=2*exp(-0.5*x).*cos(4*pi*x);
2
plot(x,y)
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
1
2
3
4
5
6
7
例4 绘制曲线
t=(0:0.1:2*pi);
x=t.*sin(3*t);
y=t.*sin(t).*sin(t);

南华大学《MATLAB及应用》实验报告2

南华大学《MATLAB及应用》实验报告2

核科学技术学院实验报告实验项目名称MATLAB符号计算所属课程名称MATLAB及应用实验类型上机实验实验日期12月日指导教师谢芹班级学号姓名成绩一、实验名称MATLAB符号计算二、实验目的(1)掌握定义符号对象的方法(2)掌握符号表达式的运算法则以及符号矩阵运算(3)掌握求符号函数极限及导数的方法(4)掌握求符号函数定积分和不定积分的方法三、实验原理1. 函数极限及导数的方法(1)函数极限:limit(F,x,a) 求符号函数f(x)的极限值。

即计算当变量x趋近于常数a时,f(x)函数的极限值。

(2)limit(f):求符号函数f(x)的极限值。

符号函数f(x)的变量为函数findsym(f)确定的默认变量;没有指定变量的目标值时,系统默认变量趋近于0,即a=0的情况。

(3)limit(f,x,a,'right'):求符号函数f的极限值。

'right'表示变量x从右边趋近于a。

(4)limit(f,x,a,‘left’):求符号函数f的极限值。

‘left’表示变量x从左边趋近于a。

2. 微分:diff(s):没有指定变量和导数阶数,则系统按findsym函数指示的默认变量对符号表达式s求一阶导数。

diff(s,'v'):以v为自变量,对符号表达式s求一阶导数。

diff(s,n):按findsym函数指示的默认变量对符号表达式s求n阶导数,n为正整数。

diff(s,'v',n):以v为自变量,对符号表达式s求n阶导数。

3. 函数定积分和不定积分的方法:int(s):没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式s求不定积分。

int(s,v):以v为自变量,对被积函数或符号表达式s求不定积分。

int(s,v,a,b):求定积分运算。

a,b分别表示定积分的下限和上限。

梯形法:trapz(x,y):x为分割点构成的向量,y为被积函数在分割点上的函数值构成的向量;抛物线法:quad(f,a,b,tol),f 是被积函数,[a,b]是积分区间,tol 是精度。

实验2 用MATLAB进行信号频谱分析 2

实验2   用MATLAB进行信号频谱分析 2

实验报告通信工程 1101学号:********* 姓名:李*实验2 用MATLAB 进行信号频谱分析一、实验目的㈠ 初步掌握MATLAB 产生常用离散时间信号的编程方法。

㈡ 学习编写简单的FFT 算法程序,对离散信号进行幅频谱分析。

㈢ 观察离散时间信号频谱的特点。

二、实验原理㈠ 常用的离散时间信号在 MATLAB 语言主要是研究离散信号的。

常用的离散信号有: 1.单位取样序列⎩⎨⎧≠==0001)(n n n δ2.单位阶跃序列⎩⎨⎧<≥=001)(n n n u3.实指数序列R a n a n x n∈∀=;)(4.复指数序列n e n x n j ∀=+)(0)(ωσ5.正(余)弦序列)cos()(0θω+=n n x n ∀ 6.周期序列n N n x n x ∀+=)()(㈡ 离散信号的产生离散信号的图形显示使用stem 指令。

在 MATLAB 中的信号处理工具箱中,主要提供的信号是离散信号。

由于MATLAB 对下标的约定为从1开始递增,例如x=[5,4,3,2,1,0],表示x(1)=5,x(2)=4,X(3)=3…因此要表示一个下标不由1开始的数组x(n),一般应采用两个矢量,如 n=[-3,-2,-1,0,l ,2,3,4,5];x=[1,-l ,3,2,0,4,5,2,1];这表示了一个含9个采样点的矢量:X(n)={x(-3),x(-2),x(-1),x(0),x(1),x(2),x(3),x(4),x(5)}。

1.单位取样序列⎩⎨⎧≠==δ0001)(n n n 这一函数实现的方法有二:方法一:可利用MATLAB 的zeros 函数。

x=zeros(1,N); %建立一个一行N 列的全零数组x(1)=1; %对X (1)赋1 方法二:可借助于关系操作符实现n=1:N;x=[n==1]; %n 等于1时逻辑关系式结果为真,x=1;n 不等于1时为假,x=0如要产生 ⎪⎩⎪⎨⎧≤<<=≤≤=-δ20210100)(10)(n n n n n n n n n n n n则可采用MATLAB 实现:n=n1:n2;x=[(n-n0)==0];%n=n0时逻辑关系式结果为真,x=1;n ≠n0时为假,x=0 2.单位阶跃序列⎩⎨⎧<≥=001)(n n n u这一函数可利用MATLAB 的ones 函数实现: x=ones(1,N);还可借助于关系操作符“>=”来实现。

MATLAB实验报告

MATLAB实验报告

实验二MATLAB语言基础一、实验目的基本掌握MA TLAB向量、矩阵、数组的生成及其基本运算(区分数组运算和矩阵运算)、常用的数学函数。

了解字符串的操作。

二、实验内容1.向量的生成与运算;2.矩阵的创建、引用和运算;3.多维数组的创建及运算;4.字符串的操作。

三、实验步骤1.向量的生成与运算①向量的生成向量的生成有三种方法:直接输入法:生成行向量、列向量;冒号表达式法:变量=初值:间隔(可正可负):终值函数法:使用linspace线性等分函数,logspace对数等分函数。

格式为:linspace(初值,终值,个数)Logspace(初值,终值,个数), 初值及终值均为10的次幂。

②向量的运算A=[1 2 3 4 5],b=3:7,计算两行向量的转置,两行向量人加、减,两列向量的加、减;向量的点积与叉积。

a=[1 2 3 4 5];b=3:7;a =1 2 3 4 5b =3 4 5 6 7at=a',bt=b'at =12345bt =34567e1=a+b,e2=a-be1 =4 6 8 10 12 e2 =-2 -2 -2 -2 -2 f1=at+bt,f2=at-btf1 =4561012f2 =-2-2-2-2-2g1=dot(a,b),g2=a*bt>> g1=dot(a,b),g2=a*btg1 =85g2 =85g4=a.*b>> g4=a.*bg4 =3 8 15 24 35A=1:3;B=4:6;g3=cross(A,B)>> g3=cross(a,b)g3 =-3 6 -3注意:g1和g2的结果是否相同,为什么?g4的结果与g1和g2结果是否一样,为什么?g1和g2的结果相同,因为两者是同一种运算;g4与g1和g2不相同,因为两者一个是点乘一个是叉乘,运算不一样。

2.矩阵的创建、引用和运算矩阵是由n×m元素构成的矩阵结构。

实验二MATLAB程序设计含实验报告

实验二MATLAB程序设计含实验报告

实验二 MATLAB 程序设计一、 实验目的1.掌握利用if 语句实现选择结构的方法。

2.掌握利用switch 语句实现多分支选择结构的方法。

3.掌握利用for 语句实现循环结构的方法。

4.掌握利用while 语句实现循环结构的方法。

5.掌握MATLAB 函数的编写及调试方法。

二、 实验的设备及条件计算机一台(带有MATLAB7.0以上的软件环境)。

M 文件的编写:启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。

点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正三、 实验内容1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。

并输入几组典型值加以检验。

(提示:提示输入使用input 函数)2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。

其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。

要求:(1)用switch 语句实现。

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

(提示:注意单元矩阵的用法)3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。

重复此过程,最终得到的结果为1。

如:2?13?10?5?16?8?4?2?16?3?10?5?16?8?4?2?1运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。

请为关键的Matlab 语句填写上相关注释,说明其含义或功能。

MATLAB实验报告第二章

MATLAB实验报告第二章

第二章作业M2_1.利用MATLAB实现下列连续时间信号。

(1)x(t)=u(t)-u(t-2)function y=heaviside(t);y=(t>0);endt=-10:0.001:10;>>xt=heaviside(t)-heaviside(t-2);>>plot(t,xt)>>axis([-10,10,-2,2])(2) x(t)=u(t)function y=heaviside(t);y=(t>0);endt=-10:0.001:10;>>xt=heaviside(t);>>plot(t,xt)>>axis([-10,10,-2,2])(3)xt=10exp(-t)-5exp(-2t)>> A=10;a=-1;>> t=0:0.001:10;>> x1t=A*exp(a*t);>> A=5;a=-2;>> t=0:0.001:10;>> x2t=A*exp(a*t);>>xt=x1t-x2t;>>plot(t,xt)(4)xt=tu(t)>> t=-10:0.001:10;>>xt=t.*heaviside(t);>>plot(t,xt)(5)xt=2|sin(10pit+pi/3)| >> A=2;w0=10*pi;phi=pi/3; >> t=0:0.001:1;>>xt=A*abs(sin(w0*t+phi)); >>plot(t,xt)>>axis([0,1,-4,4])Xt=cost+sin(2pit)>> A=1;w0=1;phi=0; >> t=0:0.002:10;>> x1t=A*cos(w0*t+phi); >> A=2;w0=2*pi;phi=0; >> t=0:0.002:10;>> x2t=A*sin(w0*t+phi); >>xt=x1t+x2t;>>plot(t,xt)(7)xt=4exp(-0.5t)cos(2pit) >> A=5;a=-0.5;>> t=0:0.001:10;>> x1t=A*exp(a*t);>> A=1;w0=2*pi;phi=0; >> t=0:0.001:10;>> x2t=A*cos(w0*t+phi); >>xt=x1t.*x2t;>>plot(t,xt)(8)Sa(pit)cos(30t)A=1;w0=30;phi=0;>> t=0:0.001:3;>> x1t=A*cos(w0*t+phi);>> t=0:0.001:3;>> x2t=sinc(t);>>xt=x1t.*x2t;>>plot(t,xt)M2-3,写出书中图示波形函数,并画出xt,x0.5t,x(2-0.5t)的图像function yt=x2_3(t)yt=t.*(t>=0&t<2)+2*(t>=2&t<3)+(-1)*(t>=3&t<=5); end>> t=0:0.001:5;>>xt=x2_3(t);>>title('x(t)');>>plot(t,xt)>>axis([0,6,-2,3])>> t=0:0.001:10;xt=x2_3(0.5*t); >>plot(t,xt)>>title('x(0.5t)')>>axis([0,10,-2,3])x(0.5t)>> t=-10:0.001:10;>>xt=x2_3(2-0.5*t);>>plot(t,xt)>>title('x(2-0.5t)')>>axis([-10,10,-2,3])M2-4画出图示的奇分量和偶分量。

matlab实验报告2

matlab实验报告2

第二次上机作业准备&要求:1、 运行课件第三章(课本第四章)讲过的例子,掌握Matlab 的流程控制语句、函数及脚本文件的编程、调试方法。

2、 本次作业(4~12题)要求全部写M 文件;3、 题目要求未明确要求写脚本文件还是函数文件的,学生自己决定是写脚本文件还是函数文件。

只要能够实现要求。

4、 列出第二章课堂上出现过的所有函数,知道它们的作用并试着调用这些函数。

作业:1. 继续完成第一次上机实验未完成的作业。

2. 分析脚本M 文件及函数M 文件的区别。

(1)脚本文件没有输入参数,也不返回输出参数,而函数文件可以带输入参数,也可以返回输出参数。

(2)脚本文件对MATLAB 工作空间中的变量进行操作,文件中所有命令的执行结果也完全返回到工作空间中,而函数文件中定义的变量为局部变量,当函数文件执行完毕时。

这些变量被清除。

(3)脚本文件可以直接运行。

在MATLAB 命令行窗口输入脚本文件的名字,就会顺序执行脚本文件中的命令。

而函数文件不能直接运行,要以函数调用的方式来调用。

3. 已知⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=7613870451A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=023352138B ,求下列表达式的值,并注意第(2)(3)小题表达式的结果有何特点:(1)B A 6+ 、I B A +-2(其中I 为单位阵);>> A+6*Bans =47 23 -1012 37 26-15 73 7>> A^2-B+Ians =-18 -217 1722 533 10921 867 526(2)A*B、A.*B、B*A、B.*A;>> A*Bans =14 14 16-10 51 21125 328 180>> A.*Bans =-8 15 40 35 24-9 122 0>> B*Aans =-11 0 -157 228 533 -1 28>> B.*Aans =-8 15 40 35 24-9 122 0(3)A/B、B\A、A./B、B.\A;A/Bans =1.2234 -0.92552.9787-0.9468 2.3511 -0.95744.6170 3.8723 13.8936>> B\Aans =-0.5106 -8.6170 -1.12770.7340 17.5745 1.8085-0.8830 -21.2128 0.4043>> A./Bans =-0.1250 1.6667 4.00000 1.4000 2.6667-1.0000 30.5000 Inf>> B.\Aans =-0.1250 1.6667 4.00000 1.4000 2.6667-1.0000 30.5000 Inf(4)[A, B]、[A([1 3],:);B^2]。

MATLAB数学实验报告2

MATLAB数学实验报告2

MATLAB数学实验报告姓名:李帆班级:机械(硕)21学号:2120104008第一次数学实验报告——线性规划问题一,实验问题1,某饲养场饲养动物出售,设每头动物每天至少需要700g蛋白质,30g矿物质,100mg 维生素。

现有五种饲料可供选择,各种饲料的每千克营养成分含量和单价如下表。

是确定既能满足动物生长的营养需要,游客是费用最省的选用饲料方案。

2,某工厂生产甲、乙、丙三种产品,单位产品所需工时分别为2、3、1个;单位产品所需原料分别为3、1、5公斤;单位产品利润分别为2、3、5元。

工厂每天可利用的工时为12个,可供应的原料为15公斤。

为使总利润为最大,试确定日生产计划和最大利润。

二,问题分析1,1)该题属于采用线性规划的方式求出最优解的数学问题。

该题有以下特点,1.目标函数有线性,是求目标函数的最小值;2.约束条件为线性方程组;3.未知变量都有非负限制。

1,2)求解该类问题的方法有图解法,理论解法和软件解法。

图解法常用于解变量较少的线性规划问题。

理论解法要构建完整的理论体系。

目前用于解线性规划的理论解法有:单纯形法,椭球算法等。

在此,我们采用单纯形法的MATLAB软件解法来求解该问题。

1,3)此题中,要求既要满足动物生长的营养需要,又要使费用最省,则使每种饲料的选用量为变量,以总费用的最小值为所求量,同时每种饲料的使用量要符合营养成分的要求。

1,4)在此,首先确定建立线性规划模型。

设饲料i选用量为xi公斤,i=1,2,3,4,5.则有模型:Minz=0.2x1+0.7x2+0.4x3+0.3x4+0.8x5s.t.{3x1+2x2+6x4+18x5>=700;x1+0.5x2+0.2x3+2x4+0.5x5>=300.5x1+x2+0.2x3+2x4+0.8x5>=100Xj>=0,j=1,2,3,4,5解之得:x1=x2=x3=0X4=39.74359X5=25.14603Zmin=32.435902,1)该问题与第一题分析步骤相似,故只在此写出其线性规划模型Z=2x+3y+5z2x+3y+z<=123x+y+5z<=15三,程序设计流程图第一题:c=[0.2,0.7,0.4,0.3,0.8]A=[3,2,1,6,18;1,0.5,0.2,2,0.5;0.5,1,0.2,2,0.8;1,0,0,0,0;0,1, 0,0,0;0,0,1,0,0;0,0,0,1,0;0,0,0,0,1]b=[700,30,100,0,0,0,0,0][x,fval]=linprog(c,-A,-b)c=0.20000.70000.40000.30000.8000A=3.0000 2.0000 1.0000 6.000018.00001.00000.50000.20002.00000.50000.5000 1.00000.2000 2.00000.80001.000000000 1.000000000 1.000000000 1.000000000 1.0000b=7003010000000Optimization terminated.x=0.0000-0.00000.000039.743625.6410fval=32.4359第二题c=[-2-3-5]A=[231;315]b=[12;15]lb=[000][x,Z,exitflag,output]=linprog(c,A,b,[],[],lb,[])将上述程序输入matlab。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2
三、
实验内容
1、符号对象及其定义方法 (1)分别定义数字类常数和符号类常数 3 ,计算两类数字之间的差(提示:参考教材[例 2.1-1])
2、 利用 MATLAB 帮助系统,查阅函数 numden 的用法。写出使用 numden 函数求解表达式 分子和分母的 MATLAB 指令,并根据求解结果写出其表达式。
x y 的 x y x y
4、 使用 diff 函数对
cos x 求微分。 1 x
3、 使用 limit 函数求极限 lim
sin x 。 x0 x
5、 对函数 f (k ) {
ak 0
k0 k0
, 当 a 为正实数时,求
f (k ) z
k 0

k
。 (提示:参考教材[例 2.3-8], )
6、 使用 int 函数求以下不定积分和定积分: (1)
xdx ;
1
7、求 f (t ) e2t u(t ) 的傅里叶变换,并用反变换验算。
(2)

10
1
t ln t dt
>> syms t >> ut=heaviside(t) ut = heaviside(t) >> ft=exp(-2*t)*ut ft = heaviside(t)/exp(2*t) >> Ft=fourier(ft,t) Ft = 1/(2 + t*i) >> ft=ifourier(Ft,t) ft = heaviside(t)/exp(2*t)

四、
实验结果与分析
MATLAB 程序设计
实验 2:符号计算
一、
实验目的
1 掌握符号对象和符号表达式的创建方法; 2、掌握符号表达式和符号函数的操作方法; 3、掌握符号微积分的基本方法; 4、掌握符号积分变换的基本方法。
.4852719692835848e-15
二、
实验原理
1 1 (2)使用 syms 函数定义符号变量 x、y、z,并由此定义符号表达式 f 2 x y 3 sin z 5 2
学生实验报告
开课学院及实验室:机电学院
学院
>> a=pi*sqrt(3) a=
学号 成绩 指导老 师
2012 年11
月 22 日
姓名
机电学院
年级、专业、 班
5.4414 >> sa=sym('pi*sqrt(3)') sa = pi*sqrt(3) >> vpa(sa-a) ans =
实验课程名称 实验项目名称
相关文档
最新文档