专业基础实践.docx
- 文档编号:28519197
- 上传时间:2023-07-18
- 格式:DOCX
- 页数:26
- 大小:275.19KB
专业基础实践.docx
《专业基础实践.docx》由会员分享,可在线阅读,更多相关《专业基础实践.docx(26页珍藏版)》请在冰豆网上搜索。
专业基础实践
课程设计任务书
学生姓名:
专业班级:
指导教师:
工作单位:
课程设计名称:
专业基础实践
课程设计题目:
Matlab运算与正弦激励一阶电路分析
初始条件:
1.Matlab7.1以上版本软件;
2.专业基础实践辅导资料:
“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应用”、“线性代数”及“信号处理类”相关书籍等;
3.先修课程:
高等数学、线性代数、电路、Matlab应用实践及信号处理类基础课程等。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1.实践内容:
根据指导老师给定的7套题目,按规定选择其中1套独立完成;
2.本专业基础实践统一技术要求:
研读辅导资料对应章节,对选定的设计题目进行理论分析,完成针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表等),并对实验结果进行分析和总结。
具体设计要求包括:
1初步了解Matlab、熟悉Matlab界面、进行简单操作等;
2Matlab的数值计算:
创建矩阵、矩阵运算、多项式运算、线性方程组、数值统计等;
3基本绘图函数:
了解plot,plot3,mesh,surf等,要求掌握以上绘图
函数的用法、简单图形标注、简单颜色设定等;
4使用文本编辑器编辑m文件,会函数调用等;
5能完成简单电路的Matlab编程分析;
6按要求参加专业基础实践的实验演示和答辩等。
3.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括:
①目录;②与设计题目相关的理论分析、归纳和总结;③与设计内容相关的原理分析建模、推导、可行性分析;④程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结;⑤课程设计的心得体会(至少500字);⑥参考文献(不少于5篇);⑦其它必要内容等。
时间安排:
1.0周(分散进行)
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
1.MATLAB^
(1)
2.具体题目分析(3)
2.1试题1(3)
2.2试题2(3)
2.3试题3(4)
2.4试题4(5)
2.5试题5(11)
2.6试题6(12)
2.7试题7(12)
2.8试题8(13)
2.9试题9(14)
2.10试题10(15)
2.11试题11(16)
3.课程设计心得体会(18)
4.参考文献(19)
(20)
5.本科生课程设计成绩评表
1.MATLAB简介
MATLA的名称源自MatrixLaboratory,1984年由美国Mathworks公司推向市场。
它是一种科学计算软件,专门以矩阵的形式处理数据。
MATLAB!
高性能
的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。
MATLA软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能
(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能
(Notebook)和建模仿真可视化功能(Simulink)。
其中,符号运算功能的实现是通过请求MAPLES核计算并将结果返回到MATLA命令窗口。
该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。
目前,Mathworks公司已推出30多个应用工具箱。
MATLA在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。
MATLA的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLA来解算问题要比用C,FORTRA等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLA成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRANC++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLA函数库中方便自己以后调用,此外许多的MATLA爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
MATLA应用:
MATLA护品族可以用来进行以下各种工作:
1数值分析
2数值和符号计算
3工程与科学绘图
4控制系统的设计与仿真
5数字图像处理
6数字信号处理
7通讯系统设计与仿真
8财务与金融工程
MATLAB勺应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。
2.
具体题目设计、实现及分析
2.1y1=5cos(°E)和y2=
2+73
2.1.1理论分析
这是利用matlab处理数值运算的题目。
在matlab中有很多内部函数和固定变量。
这里就要用到cos(),sqrt()等函数以及固定变量Pi.
2.1.2程序代码
y1=5*cos(0.6*pi)/(2+sqrt(3))%计算y1的表达式
y2=5*cos(0.2*pi)/(3+sqrt(3))%计算y2的表达式
2.1.3运行结果
>>y1=5*cos(0.6*pi)/(2+sqrt(3))
y1=
-0.4140
>>y2=5*cos(0.2*pi)/(3+sqrt(3))
y2=
0.8548
2.1.4题目总结
我们注意到Matlab中的pi与真正的n有差距,而且数字与因式相乘要使用乘法符号’*'。
Matlab中的表达式的优先级与C语言等汇编语言一样,通过这个计算,了解到matlab有处理数据计算的功能。
2.2绘制函数y=xe»sinx在0_x_1时的曲线。
2.2.1理论分析
利用matlab软件绘制曲线图。
可以用plot()函数
确定x的取值范围
%用x表达出y
调用plot函数
2.2.2程序代码
x=0:
0.001:
1;%
y=x.*exp(-x).*sin(x);
plot(x,y)%
2.2.3运行结果
如图2.2.3(横轴为x,纵轴为y)
0.3
0.25
0.2
0.15-
0.1--
0.05'-
0[[[[[[[lI:
00.10.20.30.40.50.60.70.80.91
图2.2.3
2.2.4题目总结
plot函数可以用于绘制函数图像,调用简单而且方便。
2.3.1理论分析
在matlab的二维曲线绘图指令中,最基本的是plot,plot的调用格式为:
plot(x,y,s),其中x,y为同维向量,绘制分别以x为横坐标,y为纵坐标的曲线;s为可选项,用于图形修饰。
在此题中还用到绝对值的函数abs()c
取1到20的正整数离散变量表达式
用蓝色的点绘制
2.3.2程序代码
n=1:
20;%
y=1./abs((n-6).*exp(n));%
plot(n,y,'b.')%
2.3.3运行结果
如图(横轴为n,纵轴为y)
0.07-
0.06-
0.05-
0.04-
0.03-
0.02-
0.01
图2.3.3
2.3.4题目总结
inf,即
在描点的时候n=6的点没有画出,因为在n=6时分母为0,函数值为无穷大。
用plot函数可以定义所描述的点的大小、形状和颜色。
2.4分析下面每条指令的功能并运行,观察执行结果。
a)X=0:
0.5:
20;
Y二X.*exp(-X);
plot(X,Y),xlabel(X',ylabel(y',title(y=x*exp(-x)';
(2)A=zeros(4,5)
A(:
)=-4:
15
L=abs(A)>4islogical(L)
X=A(L)
(3)A=[1:
5;6:
10]
(4)A=zeros(5,6)
A(:
)=1:
30
A=A*(1+i)
A仁A.'
B仁A'
(5)A=ones(2,3)
B=ones(3)
C=eye(4)
D二diag(C)
E=repmat(C,1,3)
2.4.1.1理论分析
用plot函数可对图形进行标注。
如此题中xlabel,ylabel分别为坐标轴标
记,title为标题标记。
2.4.1.2程序代码
x=0:
0.5:
20;%产生一组自变量数据
y=x.*exp(-x);%数组的乘法
plot(x,y),xlabel(‘x'),ylabel(‘y'),title(‘y=x*exp(-x)');
%对函数图形标注坐标轴和标题
2.4.1.3运行结果
如图2.4.1.3所示
图241.3
2.4.2.1理论分析
在matlab中有多种方法生成矩阵,此题主要要运用特殊函数生成法,如题中zeros()生成一个元素全为0的矩阵。
L为逻辑数组,其元素是0或1。
2.4.2.2程序代码
A=zeros(4,5)%
A(:
)=-4:
15%
L=abs(A)>4%islogical(L)%X=A(L)%
定义一个4x5的全零矩阵
将元素-4到15按列取出生成4行5列数组绝对值大于3的值变为1,小于3的为0判断L是不是逻辑数
取出A中大于1的元素组成一个新矩阵
2.4.2.3运行结果
A=zeros(4,5)
A=
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
>>A(:
)=-4:
15
A=
-4
0
4
8
12
-3
1
5
9
13
-2
2
6
10
14
-1
3
7
11
15
>>L=abs(A)>4
L=
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
>>islogical(L)
ans=
1
>>X=A(L)
X=
5
6
7
8
9
10
11
12
13
14
15
2.4.3.1理论分析
此题为matlab中用冒号生成法生成数组,通用格式为:
变量=初值:
增量:
终
值,当增量为1时可省略。
243.2程序代码
A=[1:
5;6:
10]%生成一个矩阵
pow2(A)%矩阵相应位置变为以2为底的指数
2.4.3.3运行结果
A=[1:
5;6:
10]
A=
1234
5
6789
10
>>pow2(A)
ans=
24
81632
64128
2565121024
2.4.4.1理论分析
此题主要为矩阵的转换。
A.'为矩阵的转置矩阵,A'为矩阵A的共轭转置矩阵。
244.2程序代码
A=zeros(5,6)
%
生成一个5x6的全零矩阵
A(:
)=1:
30
%
将1到30分别赋给矩阵的各元素
A=A*(1+i)
%
给A矩阵的各个元素重新赋值
A1=A.';
%A
的转置矩阵
B1=A;
%A
的共轭转置矩阵
2.443运行结果
>>A=zeros(5,6)
A=
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
>>A(:
)=1:
30
A=
1
6
11
16
21
26
2
7
12
17
22
27
3
8
13
18
23
28
4
9
14
19
24
29
5
10
15
20
25
30
Columns1through3
1.0000+1.0000i6.0000+6.0000i11.0000+11.0000i
5.0000+5.0000i10.0000+10.0000i15.0000+15.0000i
Columns4through6
16.0000+16.0000i21.0000+21.0000i26.0000+26.0000i
17.0000+17.0000i22.0000+22.0000i27.0000+27.0000i
18.0000+18.0000i23.0000+23.0000i28.0000+28.0000i
19.0000+19.0000i24.0000+24.0000i29.0000+29.0000i
20.0000+20.0000i25.0000+25.0000i30.0000+30.0000i
A仁A.'
A1=
1.0000+1.0000i2.0000+2.0000i3.0000+3.0000i4.0000+4.0000i5.0000+5.0000i
6.0000+6.0000i7.0000+7.0000i8.0000+8.0000i9.0000+
9.0000i10.0000+10.0000i
11.0000
+11.0000i12.0000
+12.0000i
13.0000
+13.0000i
14.0000
+14.0000i
15.0000+15.0000i
16.0000
+16.0000i17.0000
+17.0000i
18.0000
+18.0000i
19.0000
+19.0000i
20.0000+20.0000i
21.0000
+21.0000i22.0000
+22.0000i
23.0000
+23.0000i
24.0000
+24.0000i
25.0000+25.0000i
26.0000
+26.0000i27.0000
+27.0000i
28.0000
+28.0000i
29.0000
+29.0000i
30.0000+30.0000i
>>B仁A'
B1=
1.0000-I.OOOOi2.0000-2.0000i3.0000-3.0000i4.0000-4.0000i5.0000-5.0000i
6.0000-6.0000i7.0000-7.0000i8.0000-8.0000i9.0000-9.0000i10.0000-10.0000i
11.0000
-11.0000i12.0000
-12.0000i
13.0000
-13.0000i
14.0000
-14.0000i
15.0000-15.0000i
16.0000
-16.0000i17.0000
-17.0000i
18.0000
-18.0000i
19.0000
-19.0000i
20.0000-20.0000i
21.0000
-21.0000i22.0000
-22.0000i
23.0000
-23.0000i
24.0000
-24.0000i
25.0000-25.0000i
26.0000
-26.0000i27.0000
-27.0000i
28.0000
-28.0000i
29.0000
-29.0000i
30.0000-30.0000i
2.4.5.1理论分析
此题主要介绍了特殊函数生成矩阵以及矩阵的操作函数,如ones表示元素全为1的矩阵,eye表示单位矩阵;diag表示将矩阵转换为对角矩阵,repmat表示按指定的行列数复制矩阵。
2.4.5.2程序代码
A=ones(2,3)
%
B=ones(3)
%
C=eye⑷
%
D=diag(C)
%
E=repmat(C,1,3)%
定义一个2x3的全1矩定义一个3x3的全1矩阵生成4行4列的单位矩阵生成C的对角矩阵将C矩阵作为一个元素生成一个1行3列的矩阵
2.4.5.3运行结果
>>A=ones(2,3)A=
111
111
>>B=ones(3)B=
111>>C=eye⑷C=
1000
0100
0010
0001>>D=diag(C)D=
1
1
1
1
>>E=repmat(C,1,3)
E=
10
00
1
0
0
0
1
0
0
0
01
00
0
1
0
0
0
1
0
0
00
10
0
0
1
0
0
0
1
0
00
01
0
0
0
1
0
0
0
1
2.4.6
题目总结
matlab
中有多种生成数组的方法,
以及数组的一些操作函数等,对于数组的
处理等很方便,但要写代码的时候要特别注意分号的使用,若一个输出表达式后
有分号,则只计算而不在command窗口中显示出来。
2.5计算y=2x50.1x3-10在x=0.1与10处的值。
2.5.1理论分析
这道题目是运用MATLA计算多项式,这里运用到的是polyval()命令,通过这个命令可以很快的计算出在相应值下的多项式的值。
2.5.2程序代码
p=[200.10-10];
polyval(p,0.1)
polyval(p,10)
2.5.3运行结果
>>p=[200.10-10];
>>polyval(p,0.1)
ans=
-9.9988
>>polyval(p,10)
ans=
20000
2.5.4题目总结
在matlab中提供了多种方法求解函数值,操作者可根据需要选择方便快捷的函数公式,本题中注意高次项系数。
2.6求函数1飞1飞2汕|V,n=100的值。
2.6.1理论分析
可以用for循环实现函数求值
函数初值为0
控制循环100次
循环语句
函数加和
结束循环
2.6.2程序代码
s=0;%
forn=0:
100;%for
x=exp(n);%
s=s+x;%
end%
s
2.6.3运行结果
s=
4.2525e+043
2.6.4题目总结
For循环可以简单的用来求和,使用时注意使用格式
2.7求3000个元素的随机数向量A中大于0.5的元素个数。
2.7.1理论分析
这道题中要用到随机函数rand()。
在生成矩阵后还要用到循环控制结构,用for语句、while语句,在循环中还可加入if进行选择。
2.7.2程序代码
方法1:
方法2:
>>A=rand(1,3000);
>>s=0;
>>fora=1:
length(A)ifA(a)>0.5s=s+1;
end
end
>>s
s=
1530
2.7.3运行结果
1530
2.7.4题目总结
编写代码的过程中要注意‘,’与‘;’的用法,只有正确的使用它们才能得出结果。
另一方面,‘end'的使用也要注意,特别是与之对应的for,if分别对应什么位置,要注意end的个数。
2.8用图形表示连续调制波形y=sin(t)sin(9t)及其包络线,
运行下面的程序,观察结果,并简单说明
2.8.1理论分析
matlab能用于信号的处理,能通过编写代码将调制波形等绘制出来,能够应
用于信号与系统中进行信号的处理。
2.8.2程序代码
>>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);
%
去调制信号中幅值为0的点
>>plot(t,y1,'r:
',t,y2,'b',t3,y3,'bo');%
绘制调制波形
>>axis([0,pi,-1,1])
%
控制x,y轴的取值范围
2.8.3运行结果
如图2.8.3所示
图2.8.3
2.8.4题目总结
利用matlab可以方便的绘制调制信号的波形等,能够用于今后的学习信号处理。
2.9计算下列矩阵A的特征值与特征向量
A=[114]
|225|
[336]
2.9.1理论分析
这里是运用matlab中的函数来处理矩阵,从而生成所需要的矩阵。
matlab中求解特征值和特征向量用到的函数为eig,其常用的调用方式为:
D=eig(A)
得到A的特征向量
[V,D]=eig(A)得到矩阵A的特征值和特征向量
定义一个3x3的矩阵
返回矩阵A的特征值和特征向量
2.9.2运行代码
A=[114;225;336];%
[V,D]=eig(A)%
2.9.3运行结果
>>A=[114;225;336];
>>[V,D]=eig(A)
V=
0.3908
0.8637
0.7071
0.5605
0.2007
-0.7071
D
0.7302
-0.4623
-0.0000
9.9083
0
0
0-
0.9083
0
00-0.0000
2.9.4题目总结
在matlab中有很多很方便的函数帮助我们处理数据。
我们要时常注意积累相关常用函数,这在以后的数据处理中会起很大作用。
2.10用FFT直接计算
x=3sin(2*pi*30*t)+3cos(2*pi*140*t)+w(t)的功率谱。
2.10.3运行结果
如图2.10.3
2.10.4题目总结
一般地,利用fft只是对已有数据进行傅里叶变换,而具体应用到图画还要经过处理,如对已知数据x进行fft傅里叶变换只需运行:
y=fft(x);做FFT分析时,幅值大小与FFT选择的点数有关,但不影响分析结果。
在IFFT时已经做了
处理,要得到真实的振幅值的大小,只要将得到的变换后结果乘以2再除以N
即可。
注意w=r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专业 基础 实践