专业基础实践任务书 胡容.docx
- 文档编号:30659224
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:35
- 大小:505.09KB
专业基础实践任务书 胡容.docx
《专业基础实践任务书 胡容.docx》由会员分享,可在线阅读,更多相关《专业基础实践任务书 胡容.docx(35页珍藏版)》请在冰豆网上搜索。
专业基础实践任务书胡容
课程设计名称:
专业基础实践
课程设计题目:
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.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括:
1目录;
2与设计题目相关的理论分析、归纳和总结;
3与设计内容相关的原理分析、建模、推导、可行性分析;
4程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结;
5课程设计的心得体会(至少500字);
6参考文献(不少于5篇);
7其它必要内容等。
时间安排:
1周
指导老师:
电信1306阙大顺
目录
1MATLAB概述1
1.1简介1
1.2matlab的功能1
1.3典型应用2
2任务内容3
3任务完成过程5
3.1习题一5
3.2习题二6
3.3习题三7
3.4习题四8
3.5习题五13
3.6习题六14
3.7习题七15
3.8习题八16
3.9习题九17
3.10习题十18
3.11习题十一19
3.12习题十二21
4心得体会23
5参考文献25
本科生课程设计成绩评定表26
1MATLAB概述
1.1简介
MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
如今,MATLAB不仅成为各公司和科研机构的专业软件,在大学校园也得到了普及,对于我们信息工程学院的学生来说,需要经常利用它进行数值运算和图像处理。
总之,MATLAB已经深入到了很多专业的各个学科。
1.2matlab的功能
(1)强大的科学计算机数据处理能力
MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C和C++。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。
函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
(2)出色的图形处理功能
得到图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。
同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。
另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以满足。
(3)应用广泛的模块集合工具箱
MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。
一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。
目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。
(4)实用的程序接口和发布平台
新版本的MATLAB可以利用MATLAB编译器和C/C++数学库以及图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++的代码。
允许用户编写可以和MATLAB进行交互的C或C++语言程序。
另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。
MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。
(5)应用软件开发(包括用户界面)
在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。
1.3典型应用
MATLAB 产品族可以用来进行以下各种工作:
☞数值分析
☞数值和符号计算
☞工程与科学绘图
☞控制系统的设计与仿真
☞数字图像处理技术
☞数字信号处理技术
☞通讯系统设计与仿真
☞财务与金融工程
2任务内容
1.计算y1=
和y2=
;
2.画出衰减震荡曲线
及其他的包络线
t的取值范围是[0,4
].
3.画出
所表示的三维曲面。
x,y的取值范围是[-8,8]。
4.分析下面每条指令的功能并运行,观察执行结果。
(1)X=0:
0.1:
1;
Y=X.*exp(-X);
plot(X,Y),xlabel(‘x’),ylabel(‘y’),title(‘y=x*exp(-x)’);
(2)A=zeros(2,5)
A(:
)=-4:
5
L=abs(A)>3
islogical(L)
X=A(L)
(3)A=[1:
4;5:
8]
pow2(A)
(4)A=zeros(2,3)
A(:
)=1:
6
A=A*(1+i)
A1=A.’;
B1=A’;
(5)A=ones(1,2)
B=ones
(2)
C=eye(3)
D=diag(C)
E=repmat(C,1,3)
5.计算
在x=0.1与10处的值。
6.求函数1+1/2+1/3+…+1/n,n=100的值。
7.求500个元素的随机数向量A中大于0.5的元素个数。
8.求线性方程组AX=b的根。
9.画出y=|1000sin(4x)|+1的x轴为对数的图。
10.用FFT直接计算x=cos(2*pi*40*t)+2sin(2*pi*120*t)+w(t)的功率谱。
11.如图所示的电路,已知:
.
(1)如
求
;
(2)如已知
求
.
12.如图所示的电路,各元件参数已在图中标出,求i及
3任务完成过程
3.1习题一
计算y1=
和y2=
。
分析:
本题为多项式运算,直接输入y1、y2的matlab语言表达式进行计算即可得到答案,程序代码及运行结果如下所示:
>> y1=2*sin(0.3*pi)/(1+sqrt(5))
y1=0.5000
>> y2=2*cos(0.3*pi)/(1+sqrt(5))
y2=0.3633
图3-1习题一运行结果
题目小结:
在多项式的计算中,可直接利用matlab对pi、cos()和sin()函数的计算求值。
通过本题计算结果来看,matlab对pi、cos()和sin()函数的计算是有一定误差的。
3.2习题二
画出衰减震荡曲线
及其他的包络线
t的取值范围是[0,4
].
分析:
通过plot()来绘制二维曲线图。
程序代码:
t=0:
0.01:
4*pi;%产生向量t
y=exp(-t/3)*sin(3*t);%产生向量y
y0=exp(-t/3);%产生向量y0
y1=-exp(-t/3);%产生向量y1
plot(t,y,t,y0,t,y1)%绘制曲线和包络线
title('电信1306胡容')
图
图3-2二维曲线图
题目小结:
通过本题我学会了如何利用plot()函数绘制二维曲线及其包络图形。
3.3习题三
画出
所表示的三维曲面。
x,y的取值范围是[-8,8]。
分析:
本题我们可用meshgrid()函数来形成XY矩阵网络,用mesh()函数来绘制网线图。
程序代码如下:
x=-8:
0.01:
8;
y=-8:
0.01:
8;
[x,y]=meshgrid(x,y);%形成格点矩阵
z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2);
mesh(x,y,z);%绘制三维网线图
xlabel('x'),ylabel('y'),zlabel('z');
title('电信1306胡容')
图3-3三维网线图
题目小结:
通过本题我学会了如何利用mesh绘制三维网线图,以及用不同的颜色来表示不同的区域。
3.4习题四
分析下面每条指令的功能并运行,观察执行结果。
(1)X=0:
0.1:
1;
Y=X.*exp(-X);
plot(X,Y),xlabel(‘x’),ylabel(‘y’),title(‘y=x*exp(-x)’);
(2)A=zeros(2,5)
A(:
)=-4:
5
L=abs(A)>3
islogical(L)
X=A(L)
(3)A=[1:
4;5:
8]
pow2(A)
(4)A=zeros(2,3)
A(:
)=1:
6
A=A*(1+i)
A1=A.’;
B1=A’;
(5)A=ones(1,2)
B=ones
(2)
C=eye(3)
D=diag(C)
E=repmat(C,1,3)
分析:
直接输入并运行各个代码,并验证结果。
程序代码如下:
(1)X=0:
0.01:
1;
Y=X.*exp(-X);
plot(X,Y);%画出二维曲线
xlabel('x'),ylabel('y'),title('y=x*exp(-x)电信1306胡容')
图3-4-1题4.1运行结果图
(2)A=zeros(2,5)
A=
00000
00000
A(:
)=-4:
5%采用单下标为A赋值
A=
-4-2024
-3-1135
L=abs(A)>3
L=
10001
00001
islogical(L)%islogical为数组检测函数,检测L是否为逻辑型,为真还回1,为假还回0
图3-4-2代码运行结果图
X=A(L)%取出A中元素形成列向量
图3-4-3代码运行结果图
(3)A=[1:
4;5:
8]
pow2(A)
图3-4-4代码运行结果图
(4)A=zeros(2:
3)%创建一个2×5的零矩阵
A(:
)=1:
6%给矩阵从1到6(步长为1)依次赋值
A=A*(1+i)%A中每个元素都乘以1+i
图3-4-5矩阵运算结果图
A1=A.’%A的转置矩阵
B1=A’%A的共轭矩阵
图3-4-6转置矩阵和共轭矩阵结果
(5)A=ones(1,2)%形成1*2的全1矩阵
B=ones
(2)%形成2*2的全1矩阵
C=eye(3)%形成3*3单位矩阵
图3-4-7代码运行结果图
D=diag(C)%将C转换成逻辑型,取C主对角线上元素构成向量
E=repmat(C,1,3)%以C为元胞数值,构成1*3新数值
图3-4-8矩阵运行结果图
题目小结:
通过本题,我学会了几种常见矩阵的MATLAB表示方法以及矩阵的一些基本操作与运算。
3.5习题五
计算
在x=0.1与10处的值。
分析:
本题为多项式求值问题,可利用polyval()函数或polyvalm()函数完成。
程序代码:
p=[10.1000-100];
x=[0.110];
y=polyval(p,x)%求p在x处的值
图3-5多项式求和结果图
题目小结:
通过本题我们学会了如何在matlab中表示多项式,即用多项式的系数向量来表示,并学会用polyval()函数来求多项式在某一点的值,在matlab中数据的精度是有限的,会产生一定的误差。
3.6习题六
求函数1+1/2+1/3+…+1/n,n=100的值。
分析:
可利用循环语句求值
程序代码:
y=0;
forn=1:
100
y=y+1/n;
end
图3-6-1习题六程序流程图
图3-6-2求值结果
题目小结:
通过本题我学会了for语句的使用,以及递归算法的使用。
3.7习题七
求500个元素的随机数向量A中大于0.5的元素个数。
分析:
本题要求产生随机数,并用循环语句遍历其中的数。
程序代码:
y=rand(1,500);
i=0;
forn=1:
500
ify(n)>0.5
i=i+1;
end;
end
图3-7代码运行结果
题目小结:
本题让我学会了随机数的产生方法,结合for语句的使用,完成了对随机遍历操作。
3.8习题八
求线性方程组AX=b的根。
分析:
利用矩阵除法解线性方程。
程序代码:
A=[0.41560.23190.20240.29300.3690;0.32060.46500.56620.18120.4631;0.51460.37340.83150.35750.6278;0.71920.05000.42260.93410.9445;0.84200.07390.83950.58940.4058]
图3-8-1矩阵A
B=[0.0505;0.4449;0.5959;0.7483;0.8642]
图3-8-2矩阵B
X=A/B
图3-8-3矩阵除法运行结果
题目小结:
通过本题我学会了解线性方程组,即矩阵的除法。
在程序代码中,我们可以看到矩阵除法的符号与我们数学运算中的除号是不一样的。
3.9习题九
画出y=|1000sin(4x)|+1的x轴为对数的图。
分析:
将横坐标转换为对数后绘制图像。
程序代码:
x0=0:
0.01:
1000;%定义x的范围及步进长度
x=log(x0);
y=abs(1000*sin(4*x)+1);
图3-9对数图
plot(x,y);xlabel(‘logx’),ylabel(‘y’)
题目小结:
通过本题可以学会对数坐标图像的绘制,对数坐标在信号分析中有着重要的作用。
3.10习题十
用FFT直接计算x=cos(2*pi*40*t)+2sin(2*pi*120*t)+w(t)的功率谱。
分析:
功率谱是数字信号处理的主要内容之一,主要研究信号在频域中的各种特征,目的是根据有限的数据在频域中提取被淹没在噪声中的有用信号。
用快速傅里叶变换来计算离散傅里叶变换(DFT),用DFT中幅度的平方做信号中功率的度量,利用周期图法求功率谱。
周期图法又称直接法,我们把随机序列x(n)的N个观测数据视为一能量有限的序列,直接计算x(n)的离散傅里变换,得X(k),然后再取其幅值的平方并除以N,作为序列真实序列功率谱的估计。
程序代码:
t=0:
0.001:
0.25;
x=cos(2*pi*40*t)+sin(2*pi*120*t);%产生含有噪声的序列
y=x+2*randn(size(t)) ;
Y=fft(y,256) ;
Pyy=Y.*conj(Y)/256 ;
f=1000/256*(0:
127) ;
plot(f,Pyy(1:
128))
plot(f(1 :
50),Pyy(1 :
50))
xlabel(‘频率/Hz’),ylabel(‘振幅’);
title(‘功率谱电信1306胡容’)
图3-10功率谱
本题小结:
通过本题我学会了用周期图法估计功率谱,由此得到的功率谱并不平滑。
3.11习题十一
如图所示的电路,已知:
.
(1)如
求
;
(2)如已知
求
.
分析:
先根据电路图用回路法列出方程,整理出线性方程组,最后用线性代数的求解方程组的方法求解。
(1)程序代码:
R1=2;R2=4;R3=12;R4=4;R5=12;R6=4;R7=2;
Us=10;
R11=R1+R2+R3;R12=-R3;R13=0;
R21=-R3;R22=R3+R4+R5;R23=-R5;
R31=0;R32=-R5;R33=R5+R6+R7;
U1=Us;U2=0;U3=0;
R=[R11,R12,R13;R21,R22,R23;R31,R32,R33];
U=[U1;U2;U3];
I=R\U;
Ia=I
(1);Ib=I
(2);Ic=I(3);
i3=Ia-Ib,u4=R4*Ib,u7=R7*Ic
图3-11-1运行结果
(2)R1=2;R2=4;R3=12;R4=4;R5=12;R6=4;R7=2;
u4=6;Ib=u4./R4;
R11=R1+R2+R3;R12=0;Us1=-1;
R21=R3;R22=R5;Us2=0;
R31=0;R32=R5+R6+R7;Us3=0;
U1=Ib.*R3;U2=Ib.*(R3+R4+R5);U3=Ib.*R5;
A=[R11,R12,Us1;R21,R22,Us2;R31,R32,Us3];
B=[U1;U2;U3];
C=A\B;
Ia=C
(1);IC=C
(2);Us=C(3);
Us,i3=Ia-Ib,u7=R7*Ib
图3-11-2运行结果及程序图
题目小结:
可以用回路法求解的电路都可以用MATLAB编写代码直接求值,这为我们的电路分析提供了很大的帮助。
3.12习题十二
如图所示的电路,各元件参数已在图中标出,求i及
分析:
解此题时先对电路进行分析,用网孔法列出电路方程,通过整理列出线性方程,然后求解。
程序代码:
R1=1;R2=0.2;R3=0.5;R4=1;R5=1;R6=0.5;
R11=R1+R2;R12=-R2;R13=0;R14=0;
R21=-R2;R22=R2+R3;R23=-R3;R24=0;
R31=0;R32=-R3;R33=R3+R4+R5;R34=-R4;
R41=0;R42=0;R43=-1;R44=1.5;
U1=2;U2=1;U3=-3;U4=-1;
R=[R11,R12,R13,R14;R21,R22,R23,R24;R31,R32,R33,R34;R41,R42,R43,R44];
U=[U1;U2;U3;U4];
I=R\U;
i=I
(2)-I(4),u2=(I
(1)-I
(2))*R2
图3-12运行结果
题目小结:
在用网孔法分析电路时,列出线性方程组,利用MATLAB可以很方便的计算电路中代求元件的参数。
4心得体会
早在大二下学期就听学长说MATLAB这个软件在课程设计和毕业设计上用到比较多,从那时起我就和室友一起在网上下载并安装了MATLAB。
一开始学的时候,很多看的不是很懂,而且没有太大的兴趣看着看着就要睡觉。
慢慢的,我熟系了Matlab软件的一些操作和它的界面,对Matlab如何使用有了更多的了解。
于是,我便开始在上面输入一些程序,并且逐渐体会到Matlab的强大的功能。
Matlab强大功能之一在于它对矩阵的操作能力。
它为我们提供了大量的关于矩阵运算的函数及某些特殊矩阵的生成函数,十分方便。
其中有单位矩阵生成eyes函数,对角矩阵生成diag函数,行列式求值det函数,矩阵求逆inv函数等。
有了这些函数及矩阵,我们可以轻松的解一些方程及线性方程组。
本学期的数字信号处理实验也离不开它。
在学习Matlab的过程中,“实践出真知”得到了完美的诠释。
我们把程序输入代码窗口,运行得出结果,然后再加上书本上的讲解,很容易就能理解,相反,如果我们只是在那想着这个程序或者这个函数有什么功能而不动手实践可能做这个课设就会比较吃力。
同时,MATLAB为我们提供了一套功能强大的绘图命令,这些命令可以根据输入的数据自动完成图形的绘制,为计算过程和结果的可视化提供了极佳的手段。
在图形的绘制过程中,我们自己可以选择多种类型的绘图,可以完成对图形加标号,加标题或画上网格标线等操作。
MATLAB所提供的绘图命令可大致分为四类:
二维图形的绘图命令,三维图形的绘图命令,特殊绘图命令,图形管理命令。
绘图时,我们应选择我们自己所需要的图形绘制命令。
比如,假设我们要绘制某一函数的三维曲线图,则选择plot3命令就可以了,但是如果我们要绘制的是三维曲面图,那么我们则要使用surf或surfc命令。
通过这次课程设计,我体会到了Matlab的强大功能。
它在我们专业中的用处是很大的,比如说在信号处理和自动控制上的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专业基础实践任务书 胡容 专业 基础 实践 任务书