matlab课设
课程设计任务书
学生姓名: 专业班级:
指导老师: 阙大顺 李景松 工作单位: 信息工程学院 课程设计题目:Matlab运算与受控源电阻电路分析 初始条件:
1. Matlab7.0以上版本软件;
2. 课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应用”、线性代数及相关书籍等;
3. 先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等 具体要求) 1. 课程设计时间:1.5周;
2. 课程设计内容:根据指导老师给定的7套题目,按规定选择其中1套完成;
3. 本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结。具体设计要求包括:
① 初步了解Matlab、熟悉Matlab界面、进行简单操作; ② MATLAB的数值计算:创建矩阵、矩阵运算、多项式运算、线性方程组、数值统计; ③ 基本绘图函数:plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形
标注、简单颜色设定等; ④ 使用文本编辑器编辑m文件,函数调用; ⑤ 能进行简单的信号处理Matlab编程; ⑥ 按要求参加课程设计实验演示和答辩等。 时间安排:1.5周(分散进行) 参考文献:
[1] 吴传生.经济数学——线性代数(第二版).高等教育出版社,2009. [2] 刘岚,叶庆云.电路分析基础.高等教育出版社,2010. [3] 陈怀琛.MATLAB及其在理工课程中的应用指南(第三版).西安电子科技大学出版
社,2007.
指导老师签名: 年 月 日
系主任(或指导老师签名): 年 月 日
1
武汉理工大学《Matlab应用》课程设计说明书
目录
Matlab运算与受控源电阻电路分析 .....................................3
1.Matlab概述 ....................................................3
1.1Matlab简介 ...............................................3 1.2Matlab的功能 .............................................3 1.3应用 .....................................................3 2.试题 ..........................................................4 3试题完成 .......................................................6 3.1第一题 .......................................................6
3.2第二题 ...................................................7 3.3第三题 ...................................................8 3.4第四题 ...................................................9 3.5第五题 ..................................................13 3.6第六题 ..................................................14 3.7第七题 ..................................................14 3.8第八题 ..................................................15 3.9第九题 ..................................................16 3.10第十题 .................................................17 3.11第十一题 ...............................................18 3.12第十二题 ...............................................20 4.心得体会 .....................................................21 5.参考文献 .....................................................22
2
武汉理工大学《Matlab应用》课程设计说明书
Matlab运算与受控源电阻电路分析
1.Matlab概述 1.1Matlab简介
MATLAB是Matrix Labororatory 的简称。由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式。
1.2Matlab的功能
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编
程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。新的版本中也加入了对C,TORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用。
1.3应用
MATLAB 可以用来进行以下各种工作: ●数值分析 ●数值和符号计算 ●工程与科学绘图
3
武汉理工大学《Matlab应用》课程设计说明书
●控制系统的设计与仿真 ●数字图像处理技术 ●数字信号处理技术 ●通讯系统设计与仿真 ●财务与金融工程
MATLAB 的应用范围非常广。附加的工具箱(单独提供的专用MATLAB 函数集)扩展了MATLAB 环境,以解决这些应用领域内特定类型的问题。
2.试题
1.计算y1=
2sin(0.3)15(t/3)和y2=; 22cos(0.3)15(t/3),t的取值范围是[0,4]. sin3t及其他的包络线y0e2.画出衰减震荡曲线ye3.画出zsinxyxy222所表示的三维曲面。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
4
武汉理工大学《Matlab应用》课程设计说明书
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.计算yx50.1x4100在x=0.1与10处的值。 6.求函数1+1/2+1/3+…+1/n, n=100的值。
7.求500个元素的随机数向量A中大于0.5的元素个数。 8.求线性方程组AX=b的根。
0.41560.23190.20240.29300.36900.32060.46500.56620.18120.4631A0.51460.37340.83150.35750.6278
0.71920.05000.42260.93410.9445
0.84200.07390.83950.58940.4058 0.05050.4449b0.5959 0.7483
0.86429.画出y=|1000sin(4x)|+1的x轴为对数的图。
10.用FFT直接计算x=cos(2*pi*40*t)+2sin(2*pi*120*t)+w(t)的功率谱。
11.如图所示的电路,已知:R12, R24, R312, R44, R64,R72.
(1) 如us10V,求i3,u4,u7; (2) 如已知u46V,求us,i3,u7.
5
R512,
武汉理工大学《Matlab应用》课程设计说明书
R2R1us
+u4R4_R6icR7 iaR3icR512. 如图所示的电路,各元件参数已在图中标出,求i 及u2
3u20.51①+2V_+__i1V+②1③u20.2④0.513A
3试题完成 3.1第一题
计算y1=
2sin(0.3)15和y2=
2cos(0.3)15;
分析:这类的题目可以直接输入即可得到答案,程序代码及运行结果如下:
6
武汉理工大学《Matlab应用》课程设计说明书
3.2第二题
画出衰减震荡曲线ye(t/3)sin3t及其他的包络线y0e(t/3),t的取值范围 是[0,4]. 分析:此类题型应该先声明t的取值范围,再确定y与t的关系,程序代码及结果如下:
>> t=0:pi/20:4*pi; %定义时间范围;
hold on; %允许在同一坐标系下绘制不同的图形 axis([0,4*pi,-1,1]); %横轴范围[0,4*pi],纵轴范围[-1,1] y=exp(-t./3).*sin(3.*t); %定义y关于t的函数 y0=exp(-t,/3); %定义y0关于t的函数
plot(t,y,‟r+:‟); %线形为点划线,颜色为红色,数据点标记为加号 plot(t,y0,‟b‟); %线形为实线,颜色为蓝色
xlabel(„时间t‟);ylable(„y轴);title(„衰减震荡曲线及其他的包络线‟) legend(„y=exp(-t./3).*sin(3.*t):点划线‟,‟y0=exp(-t./3):实线‟); 添加文字标 gtext(„y‟);gtext(„y0‟) ; %利用鼠标在图形标示曲线说明文字
7
武汉理工大学《Matlab应用》课程设计说明书
3.3第三题
画出zsinxyxy2222所表示的三维曲面。x,y的取值范围是[-8,8]。
分析:此题的做法与上一题相同,都是根据函数画图。函数改变成三元,图形改变成三维。则应确定x与y的范围,再根据范围创建X与Y的矩阵,通过公式算出Z矩阵。编写代码,及结果如下:
>> x=-8:0.3:8; %定义x的范围及刻度 >> y=-8:0.3:8; %定义y的范围及刻度
>> [X,Y]=meshgrid(x,y) %各行都等于x的X矩阵和各行都等于y的Y矩阵 >> Z=sin(sqrt(X.*X+Y.*Y))./sqrt(X.*X+Y.*Y); %求解Z矩阵 >> mesh(X,Y,Z),grid on %画三维网格矩阵
8
武汉理工大学《Matlab应用》课程设计说明书
3.4第四题
分析下面每条指令的功能并运行,观察执行结果。
(1) X=0:0.1:1; %定义x的范围及刻度
Y=X.*exp(-X); %y与x的关系
plot(X,Y),xlabel(„x‟), ylabel(„y‟),title(„y=x*exp(-x)‟) %画出二位图形标出x和y,添加标题。
代码及运行结果如图:
9
武汉理工大学《Matlab应用》课程设计说明书
(2) A=zeros(2,5) %产生2×5的全零矩阵A
A(:)=-4:5 %将值-4到5赋
L=abs(A)>3 %判断依次矩阵A内的元素的绝对值是否大于1, 大于1返回1,小于1返回0,输出一个与A同行同列的矩阵L
10
武汉理工大学《Matlab应用》课程设计说明书
islogical(L) %判断L内的值是否为逻辑值,是返回1,不是返回0
X=A(L) %将A中判断为真的的元素组成矩阵X
(3) A=[1:4;5:8] %定义一个二维数组,第一行为1~4,第二行为5~8
pow2(A) %输出以2为底,A中元素为幂的结果
(4) A=zeros(2,3) %产生一个2×3的全零矩阵A
A(:)=1:6 %将1到6赋值给矩阵A
11
武汉理工大学《Matlab应用》课程设计说明书
A=A*(1+i); %将矩阵A中的各个元素依次乘以(1+i)组成复矩阵A
A1=A.‟; %A1为A的转置非共轭矩阵
B1=A‟ %B1为A的转置共轭矩阵
(5) A=ones(1,2) %产生一个1×2的全一矩阵A
B=ones(2) %产生一个2×2的全一矩阵B
12
武汉理工大学《Matlab应用》课程设计说明书
C=eye(3) %产生一个3×3的单位矩阵C
D=diag(C) %将C中的对角元素取出组成矩阵D
E=repmat(C,1,3) %将C看做一个元素,重复C形成一个1×3的矩阵E
3.5第五题
计算yx50.1x4100在x=0.1与10处的值。 分析:先定义一个函数,再代入数值计算即可。
13
武汉理工大学《Matlab应用》课程设计说明书
clear; %清除残留数据
x=input('Imput a number :'); %提示输入值x
y=x^5+0.1*x^4-100 %j计算y并输出
3.6第六题
求函数1+1/2+1/3+…+1/n, n=100的值。
分析:此题可以利用循环语句可以计算结果,程序及结果如图; >> n=100; %定义循环的最大值 >> s=0; %定义s的初值
>> for k=1:n %使用循环语句计算s的值 p=1/k; s=s+p;
end
>> s %输出s
3.7第七题
求500个元素的随机数向量A中大于0.5的元素个数。 分析:此题应编程随机产生元素,再统计个数。 A=rand(1,500); %随机产生500个数
14
武汉理工大学《Matlab应用》课程设计说明书
a=0; %计数清零 for n=1:1:500
if A(1,n)>0.5
a=a+1; %循环比较大于0.5加1 end end
a %输出次数
3.8第八题
求线性方程组AX=b的根。
0.41560.3206A0.51460.71920.84200.23190.46500.37340.05000.07390.20240.56620.83150.42260.83950.29300.18120.35750.93410.58940.36900.46310.6278
0.94450.4058
0.05050.4449b0.59590.74830.8642 分析:和线性代数解法一样,先求出A的逆矩阵,再乘以举证b,即可得到X
>> A=[0.4156 0.2319 0.2024 0.2930 0.3690;0.3206 0.4650 0.5662 0.1812 0.4631;0.5146 0.3734 0.8315 0.3575 0.6278;0.7192 0.0500 0.4226 0.9341 0.9445;0.8420 0.0739 0.8395 0.5894 0.4058] %输入矩阵A
>> X=inv(A)*b %调用求逆矩阵的函数„求出符合A*X=b的X矩阵
15
武汉理工大学《Matlab应用》课程设计说明书
3.9第九题
画出y=|1000sin(4x)|+1的x轴为对数的图。
分析:先定义x的范围,再根据公式y与x的公式求解。编写程序及结果。 x=[0:0.01:2*pi] %定义x的范围及刻度 y=abs(1000*sin(4*x))+1
semilogx(x,y) %画y关于x轴为对数的图形 title('y=|1000*sin(4*x)|+1的x轴为对数的图') %给图形加标题
16
武汉理工大学《Matlab应用》课程设计说明书
3.10第十题
用FFT直接计算x=cos(2*pi*40*t)+2sin(2*pi*120*t)+w(t)的功率谱.
分析:对于功率谱的估算可以用周期图法。周期图法分为直接法和间接法。本题直接计算,则先取N点数据的傅里叶变化(即频谱),然后取频谱与其共轭的乘积,就得到功率谱的估计;可以通过编程来实现。在Matlab中,周期图法可以用函数periodogram实现。但周期图法估计出的功率频谱不够精细,分辨率比较低。可以用加窗平均周期图法,即在数据分段后,对每段数据加一个非矩形窗进行预处理,然后再按分段平均周期图法估计功率谱。编写程序及功率谱图如下所示:
>> Fs=500; %采样频率 t=0:1/Fs:1;
x=cos(2.*pi.*40.*t)+2*sin(2*pi*120*t)+rand(size(t)); %产生含有噪声的序列 window=boxcar(length(x)); %矩形窗 nfft=1024; %fft点数
17
武汉理工大学《Matlab应用》课程设计说明书
[P,f]=periodogram(x,window,nfft,Fs); %调用Psd函数 plot(f,10*log10(P)); %画出功率谱
xlabel('frequency'),ylabel('power') %给x轴、y轴添加标签
3.11第十一题
11.如图所示的电路,已知:R12, R24, R312, R44, R512,
R64,R72.
(1)如us10V,求i3,u4,u7; (2)如已知u46V,求us,i3,u7.
R2R1usiaR3+u4R4_R6icR7icR5 18
武汉理工大学《Matlab应用》课程设计说明书
分析:结合电路分析可知可以用回路法解决此类问题,列出方程组,在化成矩阵形式进行编程计算。 公式:
R11I1-R12I2=US i3=ia-ib -R21I1+R22I2=0 u4=ib*R4 -R32I2+R33I3=0 u7=ic*R7 编程及结果如下:
>> R1=2;R2=4;R3=12;R4=4;R5=12;R6=4;R7=2; %输入电阻的阻值 display('问题(1)');
R11=R1+R2+R3; R12=-R3;R13=0; %回路等效电阻 R21=-R3; R22=R3+R4+R5;R23=-R5; R31=0; R32=-R5; R33=R5+R6+R7; B1=1; B2=0; B3=0; Us=input('请输入给定Us=');
A=[R11,R12,R13;R21,R22,R23;R31,R32,R33]; %组成线性系数矩阵A和B B=[B1;B2;B3]; I=A\\B*Us;
Ia=I(1);Ib=I(2);Ic=I(3); i3=Ia-Ib,u4=R4*Ib,u7=R7*Ic display('问题(2)'); u42=input('请输入给定u4='); Ib2=u42/R4;
K1=Ib/Us;K2=i3/Us;K3=Ic/Us;
Us2=Ib2/K1,i32=K2/K1*Ib2,u72=K3/K1*Ib2*R7
19
武汉理工大学《Matlab应用》课程设计说明书
3.12第十二题
如图所示的电路,各元件参数已在图中标出,求i 及u2
3u20.51①+2V_+__i1V+②1③u20.2④0.513A
分析:根据电路分析的节点法以节点①为地,可以算i和u2。 列节点方程:
(1/1+1/0.5)*U2-1/1*U3-1/0.5*U4=i (1/0.5+1/1+1/1)*U3-1/1*U2-1/1*U4=3+3*u2 (1/0.2+1/0.5+1/1+1/1)*U4-1/0.5*U2-1/1*U3=-2/1-3 u2=-U4
20
武汉理工大学《Matlab应用》课程设计说明书
U2=1
根据节点方程编写程序,使用solve解法,编程及结果如下:
>>[U2,U3,U4,i,u2]=solve('[(1/1+1/0.5)*U2-1/1*U3-1/0.5*U4=i,(1/0.5+1/1+1/1)*U3-1/1*U2-1/1*U4=3+3*u2,(1/0.2+1/0.5+1/1+1/1)*U4-1/0.5*U2-1/1*U3=-2/1-3,u2=-U4,U2=1]')
4.心得体会
这是第一次做课设,经过这次课设不仅了解到了matlab的强大,也学会了基本的运用matlab解决问题。刚开始没有了解和接触matlab时,觉得它应该是很难的东西,心里还是有些害怕,怕自己不会弄。但慢慢开始学习后,才发现也没有自己想的那么难。在学习理论知识后,就开始操作运用,但又发现操作和理论是有区别的。后来通过查找资料,问同学,上网才慢慢学会运用,最后终于把这一套题完成了。通过做这一套题,我学会了如何运用matlab解决函数问题,线性代数问题,作图还有解决电路问题等。不得不惊叹matlab的强大,也佩服开发matlab的人的智慧。在今后的学习中我要尽量运用软件来帮助自己学
21
武汉理工大学《Matlab应用》课程设计说明书
习。
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对操作能力的提高训练。通过课设还可以提高我们的自主学习能力和解决问题的能力。通过这次课设我们只是了解了matlab的基础运用,我们在今后的学习中应该深入学习,让它更好的帮助自己学习。还有通过这次课设我学会了word的许多应用,例如排版等。
5.参考文献
[1] 吴传生.经济数学——线性代数(第二版).高等教育出版社,2009. [2] 刘岚,叶庆云.电路分析基础.高等教育出版社,2010.
[3] 陈怀琛.MATLAB及其在理工课程中的应用指南(第三版).西安电子科技大学出版
社,2007.
[4] 刘保柱.MATLAB 7.0 从入门到精通(修订版).人民邮电出版社
[5] 唐向荣.MATLAB 及在电子信息类课程中的应用(第 2 版).电子工业出版社
22
武汉理工大学《Matlab应用》课程设计说明书
本科生课程设计成绩测定表
姓 名 指导教师 课程设计题目: 课程设计答辩或质疑记录: 阙大顺 李景松 性 别 专业、班级 1.问题: 答案 2.问题: 答案: 3.问题: 答案: 成绩评定依据: 最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
年 月 日
23
因篇幅问题不能全部显示,请点此查看更多更全内容