matlab作业1

合集下载

MATLAB大作业一

MATLAB大作业一

MATLAB大作业1、 问题背景:某报纸近几年的广告收入如表所示,由于业务需要,该报纸将扩版。

试预测2008年以后该报纸的广告收入(万元),以便计算扩版后所需的费用。

该报纸2003—2007年的广告统计数据如表所示。

2003-2007历年广告收入统计数据表年份20032004200520062007230235255292373广告收入(万元)可以看出,广告在现代社会中扮演的角色越来越重要,认识广告收入的变化规律,建立广告收入的数学模型,才能做出准确的预报。

现利用3—21给出的理念广告收入的统计数据(以万元为单位),对模型作检验,最后用它预报2007年以后该报纸的广告收入。

2、 解题思路:为了确定函数形式,首先用MALAB画出数据的散点图,以便观察数据规律,MATLAB程序如下:x=2003:2007;y=[230,235,255,292,373];plot(x,y,'*') 运行得通过对图像所呈现规律的分析,认为可以用多项式进行拟合,猜测图像可能是一个二次或三次拟合或者是一个四次五次拟合:MATLAB拟合源程序如下所示:year=[2003,2004,2005,2006,2007]; %输入自变量——年份income=[230,235,255,292,373]; %输入因变量——广告收入year1=2003:2018; %输入需要检测的年份——2003-2018年year2=2008:2018; %输入需要预测的年份[p2,s2]=polyfit(year,income,2) %p2为系数,s2为残差income1=polyval(p2,year1) %计算拟合结果income2=polyval(p2,year2) %计算拟合结果plot(year,income,'*',year2,income2,'X',year1,income1); %画图legend('实际数据','拟合数据');xlabel('年份');ylabel('广告收入(万元)')执行上述程序后,得到二次拟合结果如图:p2 =1.0e+007 *0.0000 -0.0048 4.8459s2 =1.0e+003 * R: [3x3 double]df: 2normr: 9.6451income1 =Columns 1 through 140.2325 0.2306 0.2529 0.2992 0.3697 0.46440.5832 0.7261 0.8932 1.0845 1.2998 1.53931.80302.0908Columns 15 through 162.4027 2.7388income2 =1.0e+003 *0.4644 0.5832 0.7261 0.8932 1.08451.2998 1.5393 1.80302.0908 2.4027 2.7388得到相应的二次拟合函数式如下所示,其中自变量X表示年份,因变量Y表示广告收入,单位万元。

Matlab简单运用

Matlab简单运用

学院:船舶学院班级:0701104 学号:070110418 姓名:施鹏作业一:有初始状态为0的二阶微分方程x"+0.2x'+0.4x=0.2u (t), 其中u(t)是单位阶跃函数,试建立系统模型并仿真。

方法1:用积分器直接构造求解微分方程的模型。

方法2:利用传递函数模块建模。

方法3:利用状态方程模块建模。

解:x’’+0.2x’+0.4x=0.2u(t) x’’=-0.2x’-0.4x+0.2u(t) u(t)=1(t)方法一:0102030405060708090100方法二:x ’’+0.2x ’+0.4x=0.2u(t)L 氏变换后得:s 2X(s)+0.2sX(s)+0.4X(s)=0.2U(s) G(s)=0.2/(s 2+0.2s+0.4)10 20 30 40 50 60 70 80 90 1000.10.20.30.40.50.60.70.8方法三:输出同上。

作业2:封装蹦极系统。

要求:封装后的蹦极子系统只有一个输出端口,封装后子系统的参数设置包括蹦极者的体重、弹性绳索的弹性常数。

通过仿真分析蹦极系统在下述情况下是否安全,并绘制响应的响应曲线:(1)蹦极者体重80 kg,弹性绳索的弹性常数为30;(2)蹦极者体重70 kg,弹性绳索的弹性常数为20。

解:蹦极跳时一种挑战身体极限的运动,蹦极者系着一根弹性绳从高处的桥梁(或山崖等)向下跳。

在下落的过程中,蹦极者几乎处于失重状态。

按照牛顿运动规律,自由下落的物体由下式确定:m为人体的质量,g为重力加速度。

位置x的基准为桥梁的基准面.12m x m g a x a x x∙∙∙∙∙=--如果人体系在一个弹性常数为k 的弹性绳索上,定义绳索下端的初始位置为o ,则其对落体位置的影响为: 因此,整个蹦极系统的数学模型为:其为典型的具有连续状态的非线性系统。

设桥梁距离地面为50m ,即h2=50 蹦极者起始速度为0蹦极者的起始位置为绳索的长度30m ,即h1=30其余的参数为:a2=a1=1,m=70kg ,g=10m/s2,k,m 由具体参数确定 初始条件:x(0)=-30;x(0)’=0 1,模型:封装后:,0()0,kx x b x x ->⎧=⎨≤⎩12,0()()0,kx x m x m g b x a x a x xb x x ∙∙∙∙∙->⎧=+--=⎨≤⎩封装属性:输入要测试内容:结果为:(1)m=80,k=30时(2)m=70,k=20时结论:两组输入的输出,即与地面的距离y都小于0,所以不安全。

MATLAB作业1 参考答案-推荐下载

MATLAB作业1 参考答案-推荐下载

3、试用符号元素工具箱支持的方式表达多项式 f (x) x5 3x4 4x3 2x2 3x 6 ,并 Nhomakorabea令x
s 1
,将f(x)
s 1
替换成s
的函数。
【求解】可以先定义出f 函数,则由subs() 函数将x 替换成s 的函数
>> syms s x;f=x^5+3*x^4+4*x^3+2*x^2+3*x+6;F=subs(f,x,(s-1)/(s+1))
end 其中,前者语句结构简单,但适用范围更广,允许使用矩阵型x,后者只能使用向量型的 x,但不能处理矩阵问题。
63
7、用数值方法可以求出 S 2i 1 2 4 8 262 263 ,试不采用循环的形式求 i0
出 和式的数值解。由于数值方法采用double 形式进行计算的,难以保证有效位数字,所以结 果不一定精确。试采用符号运算的方法求该和式的精确值。 【求解】用符号运算的方式可以采用下面语句 >> sum(sym(2).^[1:63]) ans = 18446744073709551614 由于结果有19 位数值,所以用double 型不能精确表示结果,该数据类型最多表示16 位有 效数字。其实用符号运算方式可以任意保留有效数字,例如可以求200 项的和或1000 项的 和可以由下面语句立即得出。 >> sum(sym(2).^[1:200]) ans = 3213876088517980551083924184682325205044405987565585670602750 >> sum(sym(2).^[1:1000]) 第一种方法 i=0; s=0; for i=0:63

MATLAB作业

MATLAB作业

MATLAB作业⼀、必答题:1. MATLAB系统由那些部分组成?答:MATLAB系统主要由开发环境、MATLAB语⾔、MATLAB数学函数库、图形功能和应⽤程序接⼝五个部分组成。

2. 如何启动M⽂件编辑/调试器?答:在操作界⾯上选择“建⽴新⽂件”或“打开⽂件”操作时,M⽂件编辑/调试器将被启动。

在命令窗⼝中键⼊“edit”命令也可以启动M⽂件编辑/调试器。

3. 存储在⼯作空间中的数组能编辑吗?如何操作?答:存储在⼯作空间的数组可以通过数组编辑器进⾏编辑:在⼯作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输⼊修改内容即可。

4. 在MATLAB中有⼏种获得帮助的途径?答:在MATLAB中有多种获得帮助的途径:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器;(2)help命令:在命令窗⼝键⼊“help” 命令可以列出帮助主题,键⼊“help 函数名”可以得到指定函数的在线帮助信息;(3)lookfor命令:在命令窗⼝键⼊“lookfor 关键词”可以搜索出⼀系列与给定关键词相关的命令和函数(4)模糊查询:输⼊命令的前⼏个字母,然后按Tab键,就可以列出所有以这⼏个字母开始的命令和函数。

5. 有⼏种建⽴矩阵的⽅法?各有什么优点?答:(1)以直接列出元素的形式输⼊;(2)通过语句和函数产⽣;(3).在m⽂件中创建矩阵;(4)从外部的数据⽂件中装⼊。

6. 命令⽂件与函数⽂件的主要区别是什么?答:命令⽂件: M⽂件中最简单的⼀种,不需输出输⼊参数,⽤M ⽂件可以控制⼯作空间的所有数据。

运⾏过程中产⽣的变量都是全局变量。

运⾏⼀个命令⽂件等价于从命令窗⼝中顺序运⾏⽂件⾥的命令,程序不需要预先定义,只要依次将命令编辑在命令⽂件中即可。

函数⽂件:如果M⽂件的第⼀个可执⾏⾏以function开始,便是函数⽂件,每⼀个函数⽂件定义⼀个函数。

Matlab周作业_01

Matlab周作业_01

1. 创建2×2的单元数组,第1和第2个元素为字符串,第3个元素为整
型变量,第四个元素为向量,并将创建的单元数组用图形表示出来。

2. 在Matlab中进行如下操作,并将相应的命令语句粘贴下来:
a) 定义大小为100×5的矩阵var1,让其所有元素均为0;
b) 定义大小为10×10的矩阵var2,其中元素均为0到255之间的随
机数;
c) 用whos命令查看当前所有变量及其类型,并将结果粘贴下来;
d) 用save命令把var1和var2保存到file1.mat文件中;
e) 用clear命令清除所有当前变量,并用load命令读取file1.mat中的
变量。

3. 分别定义一个1行4列的矩阵,一个1列4行的矩阵,以及一个3行4
列的矩阵。

然后,用size函数得到矩阵的行数和列数。

4. 使用rand函数产生一个3*4的二维矩阵A,寻访A矩阵中大于0.3并且
小于0.7的所有元素的索引,赋给B。

5. 创建一个2行、4列、3页的数组,对于每一页的数组,它的元素都随机
分布在0到1之间,并且做如下操作:
a) 用reshape函数将三维数组重新排列成3×8 的二维矩阵;
b) 用size函数得到三维数组的行数、列数和页数,并将结果分别保存
在:r, c, p中。

6. 写出完成下列操作的命令。

a) 将矩阵A(见下图) 第2到4行中第1,3列元素赋给矩阵B。

b) 将矩阵A的每个元素值加10。

Matlab实验1答案

Matlab实验1答案

Matlab 曲线绘图练习1. 绘出立方曲线3=。

y xx=-2::2;y=x.^3;plot(x,y)grid on2. 立方抛物线y=y=-2::2;x=y.^3;plot(x,y)grid on3. 高斯曲线2x y e -=。

clear; x=-2::2;y=exp(-x.^2); plot(x,y)以参数方程表示的曲线: 4. 奈尔抛物线2323,()x t y t y x ===clear; t=-2::2;x=t.^3;y=t.^2 plot(x,y)y =Columns 1 through 14Columns 15 through 28Columns 29 through 420 Columns 43 through 56Columns 57 through 70Columns 71 through 815. 半立方抛物线2323,()x t y t y x ===clear; t=-2::2;x=t.^2;y=t.^3 plot(x,y)y =Columns 1 through 14Columns 15 through 28Columns 29 through 420 Columns 43 through 56Columns 57 through 70 Columns 71 through 816. 迪卡尔曲线2332233,(30) 11at atx y x y axyt t==+-= ++clear;a=3;t=-2::2;x=3*a.*t./(1+t.^2);y=3*a.*t.^2./(1+t.^2); plot(x,y);grid on7. 蔓叶线233222,() 11at at xx y yt t a x ===++-clear;a=2;t=-10::10;x=a.*t.^2./(1+t.^2);y=a.*t.^3./(1+t.^2); plot(x,y);grid on8. 摆线(sin),(1cos)x a t t y b t=-=-。

MATLAB平时作业(图文版)

MATLAB平时作业(图文版)

MATLAB 平时作业第一章 习题16. 以下两种说法对吗?(1)“MATLAB 的数值表达精度与其指令窗中的数据显示精度相同。

”答:此种说法错误。

MATLAB 提供了控制数据显示格式的控制指format ,该指令并不改变MATLAB 内存中变量的精度,只是改变其显示精度。

(2)“MATLAB 指令窗中显示的数值有效位数不超过7位。

”答:此种说法错误。

当变量小于1000时,使用format 或format short 后,或者默认情况下,变量的显示精度最多不超过7位,但显示精度不等于变量的精度。

7. 想要在MATLAB 中产生二维数组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321S ,下面哪些指令能实现目的? S=[1,2,3;4,5,6;7,8;9]S=[1 2 3;4 5 6;7 8 9]S=[1,2,3;4,5,6;7,8,9] %整个指令在中文状态下输入 答:操作如图:第1、2条指令可以实现,第3条指令不可实现。

第三章 习题31.在MATLAB 中,先运行指令A=magic(3), B=[1,2,1;3,4,3;5,6,7], C=reshape(1:6,3,2)生成阵列33⨯A ,23⨯B ,23⨯C ,然后根据运行结果回答以下问题:运行结果如图:(1)计算A*B, B*A ,这两个乘积相同吗? 计算结果如图:答:不同。

(2)计算A\B, B/A ,左除、右除结果相同吗?计算结果如图:答:不同。

(3)计算B( : ,[1,2]).*C和C.*B( : , [1,2]),这两个乘积相同吗?计算结果如图答:相同。

(4)计算A\A和A.\A,这两个计算结果相同吗?计算结果如图:答:相同。

(5)计算A\eye(3)和inv(A),这两个计算结果相同吗?计算结果如图:答:不同。

(提示:根据对计算结果的目测回答问题)2.在MATLAB中,先运行A=[1, 2; 3, 4],b=0.5,C=[4, 2; 1, 0.5], 然后根据计算结果回答以下问题:创建数据步骤略(1)计算A^b和A.^b, 这两个计算结果相同吗?答:不同。

matlab1-8章课后作业

matlab1-8章课后作业

MATLAB基础教程1~8章作业Matlab第一章1.阐述Matlab的功能Matlab作为一种高级计算软件,是进行算法开发、数据可视化、数据分析以及数值计算的交互式应用开发环境,已被广泛应用于不同领域。

Matlab的基本功能包括:数学计算功能、图形化显示功能、M语言编程功能、编译功能、图形用户界面开发功能、Simulink建模仿真功能、自动代码生成功能。

Matlab第二章1.创建double的变量,并进行计算。

(1)a=87,b=190,计算a+b、a-b、a*b。

(2)创建uint8 类型的变量,数值与(1)中相同,进行相同的计算。

>> a=87,b=190a =87b =190>> a+bans =277>> a-bans =-103>> a*bans =16530>> c=uint8(87), d=uint8(190)c =87d =190>> c+dans =255>> c-dans =ans =2552.计算(1)sin(60)(2)e^3(3)cos(3π/4)>> sind(60)ans =0.8660>> exp(3)ans =20.0855>> cos(3*pi/4)ans =-0.70713.设u=2,v=3,计算:(1)(2)(3)>> u=2;>> v=3;>> 4*u*v/log(v)ans =21.8457>> (exp(u)+v)^2/(v^2-u) ans =15.4189>> sqrt(u-3*v)/(u*v) ans =0 + 0.4410i 4.计算如下表达式:(1)(2)>> (3-5*i)*(4+2*i)22.0000 -14.0000i>> sin(2-8*i)ans =1.3553e+003 +6.2026e+002i5.判断下面语句的运算结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验任务
XXXXXX (1)阅读例子程序,观察输出波形,理解每条语句的含义。

(2)已知有限长序列x(n)=[7,6,5,4,3,2],求DFT和IDFT,要求:画出序列傅立叶变换对应的幅度谱和相位谱;画出原信号与傅立叶逆变换IDFT[X(k)]的图形进行比较。

(3)已知周期序列的主值x(n)=[7,6,5,4,3,2],求x(n)周期重复次数为3次时的DFS和IDFS。

要求:画出原信号序列的主值和周期序列的图形;画出离散傅立叶变换对应的幅度谱和相位谱。

(4)求x(n)=[7,6,5,4,3,2], 0=<n<=5的DTFT,将(-2*pi,2*pi)区间分成500份。

要求:画出原信号;画出离散傅立叶变换对应的幅度谱和相位谱;求有限长序列x(n)=[7,6,5,4,3,2]在N=100时的DFT,并与DTFT进行对比。

%%
%题(2)
close all;clear all;clc;
xn=[7,6,5,4,3,2];
N=length(xn);
n=0:N-1;k=0:N-1;
Xk=xn*exp(-j*2*pi/N).^(n'*k);
x=(Xk*exp(j*2*pi/N).^(n'*k))/N;
subplot(2,2,1),stem(n,xn,'k');
title('x(n)');axis([-1,N,0.8*min(xn),1.1*max(xn)]);grid;
subplot(2,2,2),stem(n,x,'k');
title('IDFT|X(k)|');
axis([-1,N,0.8*min(x),1.1*max(x)]);grid;
subplot(2,2,3),stem(k,abs(Xk),'k');
title('|X(k)|');
axis([-1,N,min(abs(Xk)),1.1*max(abs(Xk))]);
subplot(2,2,4),stem(k,angle(Xk),'k');
title('arg|X(k)|');
axis([-1,N,min(angle(Xk)),1.1*max(angle(Xk))]);
%%
%题(3)
close all;clear all;clc;
xn=[7,6,5,4,3,2];
N=length(xn);
n=0:3*N-1;k=0:3*N-1;
xn1=xn(mod(n,N)+1);
Xk=xn1*exp(-j*2*pi/N).^(n'*k);
subplot(2,2,1),stem(xn,'k');
title('原主值信号x(n)');
subplot(2,2,2),stem(n,xn1,'k');
title('周期序列信号');
axis([-1,4*N,1.1*min(xn1),1.1*max(xn1)]);
subplot(2,2,3),stem(k,abs(Xk),'k');
title('|X(k)|');
axis([-1,4*N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]); subplot(2,2,4),stem(k,angle(Xk),'k');
title('arg|X(k)|');
axis([-1,4*N,1.1*min(angle(Xk)),1.1*max(angle(Xk))]); %%
%题(4)
clear all;clc
xn=[7,6,5,4,3,2];
N=length(xn);
n=0:N-1;
w=linspace(-2*pi,2*pi,50);
X=xn*exp(-j*n'*w);
subplot(221),stem(n,xn,'k');
ylabel('x(n)');
subplot(223),stem(w,abs(X),'k','.');
axis([-2*pi,2*pi,1.1*min(abs(X)),1.1*max(abs(X))]); ylabel('频度谱');
subplot(224),stem(w,angle(X),'k','.');
axis([-2*pi,2*pi,1.1*min(angle(X)),1.1*max(angle(X))]); ylabel('相位谱');
%%
clear all;clc
N=100;
xn=[7,6,5,4,3,2,zeros(1,N-6)];
n=0:N-1;k=0:N-1;
Xk=xn*exp(-j*2*pi/N).^(n'*k);
x=(Xk*exp(j*2*pi/N).^(n'*k))/N;
subplot(2,2,1),stem(n,xn,'k');
title('x(n)');axis([0,N,1.1*min(xn),1.1*max(xn)]); subplot(2,2,2),stem(n,abs(x),'k');
title('IDFT|X(k)|');
axis([0,N,1.1*min(x),1.1*max(x)]);
subplot(2,2,3),stem(k,abs(Xk),'k');
title('|X(k)|');
axis([0,N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]);
subplot(2,2,4),stem(k,angle(Xk),'k');
title('arg[X(k)]');
axis([0,N,1.1*min(angle(Xk)),1.1*max(angle(Xk))]);
题(2)
题(3)
题(4)。

相关文档
最新文档