matlab设计报告Word文档下载推荐.docx
- 文档编号:22490052
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:24
- 大小:241.74KB
matlab设计报告Word文档下载推荐.docx
《matlab设计报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《matlab设计报告Word文档下载推荐.docx(24页珍藏版)》请在冰豆网上搜索。
7其它必要内容等。
指导教师签名:
年月日
系主任(或责任教师)签名:
目录
1Matlab概述.................................................................................3
1.1MATLAB简介..................................................................................3
1.2MATLAB的功能..............................................................................3
1.3MATLAB的典型应用包括...................................................................3
2设计题目:
Matlab运算与应用设计套题三.................................4
3设计内容...............................................................................................4
3.1题一.....................................................................................................................4
3.2题二.....................................................................................................................4
3.3题三.....................................................................................................................5
3.4题四.....................................................................................................................6
3.5题五....................................................................................................................11
3.6题六....................................................................................................................11
3.7题七.....................................................................................................................................12
3.8题八.....................................................................................................................................12
3.9题九.....................................................................................................................................13
3.10题十.....................................................................................................................14
4课程设计心得....................................................................................15
5参考文献............................................................................................17
1.MATLAB概述
11MATLAB简介
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是矩阵实验室(MatrixLaboratory)的简称,和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
1.2.MATLAB的功能
1-2-1MATLAB具有很强的数值计算功能
●MATLAB以矩阵作为数据操作的基本单位,但无需预先指定矩阵维数
●按照IEEE的数值计算标准进行计算
●提供十分丰富的数值计算函数,方便计算,提高效率
●MATLAB命令与数学中的符号,公式非常接近,可读性强,容易掌握
1-2-2MATLAB的符号计算功能
●MATLAB和著名的符号计算语言Maple相结合
1-2-3MATLAB的绘图功能
●MATLAB提供丰富的绘图命令,很方便实现数据的可视化
1-2-4MATLAB的编程功能
●MATLAB具有程序结构控制,函数调用,数据结构,输入输出,面向对象等程序语言特征,而且简单易学,编程效率高
3、MATLAB应用
MATLAB产品族可以用来进行以下各种工作:
●数值分析
●数值和符号计算
●工程与科学绘图
●控制系统的设计与仿真
●数字图像处理技术
●数字信号处理技术
●财务与金融工程
MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。
2.设计题目:
Matlab运算与应用设计套题三
3.题目内容
3-1.计算
和
理论分析:
利用MATLAB的基本函数cos()和sqrt()就可以处理这两个算式。
程序代码如下:
>
20*cos(0.5*pi)/(2+sqrt(3))
ans=
3.2814e-016
5*cos(0.4*pi)/(4+sqrt(3))
0.2696
小结:
要注意乘法要用‘*’而不能用‘·
’或者不写。
分母要用括号括起来,而‘π’直接写'
pi'
就可以了。
这与平时的一些书写习惯有所差别。
通过计算这两个算式可以看见matlab计算功能的强大。
带着这份激动,让我继续去揭开matlab的神秘面纱吧。
3-2.绘制函数
在
时的曲线。
利用matlab的绘图功能绘制曲线图,我用的是最基本的plot()函数.
程序代码:
x=0:
0.05:
1;
y=x.*exp(-x);
plot(x,y)
图形如图一所示:
图一
在二维绘图函数中,最重要、最基本的函数就是plot函数。
其可以在二维坐标系中绘制线性图形。
其调用格式为
Plot(y)
Plot(x1,y1,......)
Plot(x1,y1,Linespace,......)
Plot(....,'
PropertyName'
'
PropertyValue'
....)
H=plot(....)
3-3.用图形表示离散函数
。
在这道题目中,运用到绝对值函数abs(),描粗方格函数gridon以及上题所用到的绘图函数plot()
n=(0:
12);
y=1./abs(n-6);
plot(n,y,'
r*'
MarkerSize'
20)
Gridon
图形如图二所示:
图二
3-4.分析下面每条指令的功能并运行,观察执行结果。
3-4-1.题目X=0:
0.25:
3;
Y=X.*exp(-X);
plot(X,Y),xlabel(‘x’),ylabel(‘y’),title(‘y=x*exp(-x)’);
x=0:
表示自变量x的变化范围是0到3,每次自增0.25;
y=x.*exp(-x)表示应变量与自变量之间的函数关系;
plot(x,y)表示用plot函数在二维坐标系里绘制线性函数;
xlabel(‘x’),ylabel(‘y’)表示在当前坐标轴上加注x轴,y轴的表示一次为x,y。
而title(‘y=x*exp(-x)’)表示将"
y=x.*exp(-x)"
标注为图形的标题。
或者注释如下:
X=0:
%长度为13的x轴采样点
%函数表达式
plot(X,Y);
%绘制一条曲线,如下所示
xlabel(‘x’);
%将水平轴标注为x轴
ylabel(‘y’);
%将竖直轴标注为y轴
title(‘y=x*exp(-x)’);
%将函数图形取名为y=x.*exp(-x)
xlabel('
x'
);
ylabel('
y'
title('
y=x*exp(-x)'
图形如图三所示:
图三
3-4-2题目:
A=zeros(3,5)
A(:
)=-4:
5
L=abs(A)>
4
islogical(L)
X=A(L)
(声明:
A数组取值有误,应将3改为2)指令功能如下
A=zeros(2,5)%取0数组A,2行5列
A(:
5%将-4至5的10个数值按列依次给A数组赋值
L=abs(A)>
4%判断A中元素的绝对值与4的大小,将结果赋值给L
islogical(L)%将L变为L的逻辑数组
X=A(L)%将逻辑值为1的元素列写出来
a=zeros(2,5)
a(:
l=abs(a)>
islogical(l)
x=a(l)
a=
00000
-4-2024
-3-1135
l=
00001
1
x=
5
3-4-3.题目:
A=[1:
5;
6:
10]
pow2(A)
10]%输入数组A
pow2(A)%依次计算数组A中元素以2为底的幂
A=[1:
pow2(A)
A=
12345
678910
2481632
641282565121024
3-4-4题目:
A=zeros(3,2)
)=1:
6
A=A*(1+i)
A1=A.’
B1=A’
A=zeros(3,2)%取0数组A,3行2列
6%将1至6的6个数值按列依次给A数组赋值
A=A*(1+i)%将矩阵A转化为复数矩阵
A1=A.’%将矩阵A转置
B1=A’%将矩阵A共轭转置
A=A*(1+i)
A1=A.'
B1=A'
00
14
25
36
1.0000+1.0000i4.0000+4.0000i
2.0000+2.0000i5.0000+5.0000i
3.0000+3.0000i6.0000+6.0000i
A1=
1.0000+1.0000i2.0000+2.0000i3.0000+3.0000i
4.0000+4.0000i5.0000+5.0000i6.0000+6.0000i
B1=
1.0000-1.0000i2.0000-2.0000i3.0000-3.0000i
4.0000-4.0000i5.0000-5.0000i6.0000-6.0000i
3-4-5A=ones(2,3)
B=ones
(2)
C=eye(4)
D=diag(C)
E=repmat(C,1,3)
指令说明如下
A=ones(2,3)%2行3列全1矩阵A
B=ones
(2)%2阶全1方阵B
C=eye(4)%4阶单位矩阵,对角线上元素全为1,其余元素均为0
D=diag(C)%提取对角矩阵C
E=repmat(C,1,3)%生成一个包含3个C的复制的大矩阵E
A=ones(2,3)
B=ones
(2)
C=eye(4)
D=diag(C)
E=repmat(C,1,3)
111
B=
11
C=
1000
0100
0010
0001
D=
E=
Columns1through10
1000100010
0100010001
0010001000
0001000100
Columns11through12
10
01
3-5计算
在x=0.1与10处的值。
理论分析1:
可以直接输入方程式,然后就可以计算出结果,如下所示。
输入x=0.1
x=10
y=2*x^5+0.1*x^3-10
输出
0.1000
y=
-9.9999
10
200090
理论分析2:
对于多项式的计算,matlab提供了专用的函数polyval(),通过polyval()函数可以很快的计算出在相应值的下的多项式结果。
p=[200.10-10];
polyval(p,0.1)
-9.9988
polyval(p,10)
20000
3-6求函数
n=100的值。
在这道题目中我用了两种方法,这是第一种即编写程序算出结果。
代码如下:
y=0;
n=100;
fork=1:
n
y=y+1/(k^3);
end
y
y=1.2020
在matlab中有专门的计算级数和的函数即symsum()函数。
其格式为:
symsum(x,y,a,b)计算级数x的和,其中y为自变量,x为符号表达式,[a,b]为参数y的取值范围。
symsn;
s=1/n^3;
symsum(s,n,1,100)
81473483330743503583074181861672511931518122336172216406894149391331289704097519580221863303145356050828007873151451209887/67781182783092495848656345091844021571734190630914590229332161379950257170828098031102950264769178652556660142954086400000
而
81473483330743503583074181861672511931518122336172216406894149391331289704097519580221863303145356050828007873151451209887/67781182783092495848656345091844021571734190630914590229332161379950257170828098031102950264769178652556660142954086400000
1.2020
对于级数求和函数symsum()要注意先定义变量,而计算结果一开始是一大串数数字,我以为错了,最后才发现中间还有一个'
/'
号。
我把结果运算一下,和上面所得结果一样。
3-7求1500个元素的随机数向量A中大于0.5的元素个数。
对于列写随机数需要用到函数rand().得到矩阵后需要用程序控制,有循环语句,选择语句和嵌套循环语句。
A=rand(50,30);
n=0;
fori=1:
50;
forj=1:
30;
ifA(i,j)>
0.5,n=n+1;
end,end,end
n
n=
760
在写代码的过程中需要注意‘,’与‘;
’之间的区别,而最后三个end与for,for,if三者依次对应,缺一不可,否则得不到最终结果。
3-8.用图形表示连续调制波形
运行下面的程序,观察结果,并简单说明。
t1=(0:
11)/11*pi;
y1=sin(t1).*sin(9*t1);
t2=(0:
100)/100*pi;
y2=sin(t2).*sin(9*t2);
subplot(2,2,1),plot(t1,y1,'
r.'
),axis([0,pi,-1,1]),title('
子图
(1)'
)
subplot(2,2,2),plot(t2,y2,'
子图
(2)'
subplot(2,2,3),plot(t1,y1,t1,y1,'
axis([0,pi,-1,1]),title('
子图(3)'
subplot(2,2,4),plot(t2,y2)
子图(4)'
解答:
指令分析
%定义一组自变量y1=sin(t1).*sin(9*t1);
%数组的乘法
subplot(2,2,1),%将窗口分为4个,当前为第一个
plot(t1,y1,'
),%将点描绘在坐标轴上
axis([0,pi,-1,1]),%控制x,y轴的数值范围
)%显示标题
)%点少时显示的是折线
subplot(2,2,4),plot(t2,y2)%点多时才显示曲线
结果如图四所示:
图四
3-9.计算下列矩阵A正交阵。
运用orth()函数处理即可
A=[114;
225;
336]
orth(A)
114
225
336
-0.40800.8166
-0.56330.1268
-0.7185-0.5631
3-10.用FFT直接计算x=3sin(2*pi*50*t)+2cos(2*pi*120*t)+w(t)的功率谱。
调用方法X=FFT(x);
X=FFT(x,N);
x=IFFT(x);
x=IFFT(x,N)做分析时,幅值的大小与FFT的选择点数有关,但不影响分析结果。
在做IFFT时已经做了处理,要得到真实的幅值大小,只要将得到的变换后结果乘以2除以N即可。
程序如下:
clf
fs=100;
N=128;
n=0:
N-1;
t=n/fs;
w=ra
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 设计 报告