Matlab运算与受控源电阻电路分析.docx
- 文档编号:23694551
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:32
- 大小:234.57KB
Matlab运算与受控源电阻电路分析.docx
《Matlab运算与受控源电阻电路分析.docx》由会员分享,可在线阅读,更多相关《Matlab运算与受控源电阻电路分析.docx(32页珍藏版)》请在冰豆网上搜索。
Matlab运算与受控源电阻电路分析
题目:
Matlab运算与受控源电阻电路分析
初始条件:
1.Matlab7.0以上版本软件;
2.课程设计辅导资料:
“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应用”、线性代数及相关书籍等;
3.先修课程:
高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1.课程设计时间:
1.5周,分散;
2.课程设计内容:
根据指导老师给定的7套题目,按规定选择其中1套完成;
3.本课程设计统一技术要求:
研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表等),并对实验结果进行分析和总结。
具体设计要求包括:
1初步了解Matlab、熟悉Matlab界面、进行简单操作;
2MATLAB的数值计算:
创建矩阵、矩阵运算、多项式运算、线性方程组、数值统计;
3基本绘图函数:
plot,plot3,mesh,surf等,要求掌握以上绘图函数的用法、简单图形标注、简单颜色设定等;
4使用文本编辑器编辑m文件,函数调用;
5能完成简单的电路Matlab编程分析;
6按要求参加课程设计实验演示和答辩等。
7按要求参加课程设计实验演示和答辩等。
4.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括:
1目录;
2与设计题目相关的理论分析、归纳和总结;
3与设计内容相关的原理分析、建模、推导、可行性分析;
4程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结;
5课程设计的心得体会(至少500字);
6参考文献(不少于5篇);
7其它必要内容等。
时间安排:
1.5周(分散进行)
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
Matlab应用课程设计
目录
1.Matlab概述................................................................................................1
1.1简介........................................................................................................1
1.2主要功能................................................................................................1
1.3典型应用................................................................................................2
1.4基本命令................................................................................................3
2.设计题目:
Matlab运算与应用设计套题一...................................6
3.任务完成过程..............................................................................................8
3.1题一........................................................................................................8
3.2题二........................................................................................................8
3.3题三........................................................................................................9
3.4题四......................................................................................................10
3.5题五......................................................................................................15
3.6题六......................................................................................................16
3.7题七......................................................................................................17
3.8题八......................................................................................................18
3.9题九......................................................................................................19
3.10题十....................................................................................................19
3.11题十一................................................................................................20
3.12题十二................................................................................................22
4.心得体会......................................................................................................24
5.参考文献.......................................................................................................25
1、Matlab概述
1.1简介
Matlab是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分
Matlab主要用于数值运算,同时还能用于控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。
Simulink部分提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。
如今,Matlab不仅成为各大公司和科研机构的专用软件,在大学校园也得到了普及,许多本科和专科的学生借助它来学习大学数学和计算方法等课程,而硕士生和博士生在做科学研究时,也经常要用到MATLAB进行数值计算和图形处理。
可以说,MATLAB已经深入到了各个专业的很多学科。
1.2Matlab的功能
1.2.1强大的科学计算机数据处理能力
Matlab是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C和C++。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。
函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
1.2.2出色的图形处理功能
图形处理功能Matlab自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
新版本的Matlab对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能方面更加完善,而且对于一些其他软件所没有的功能,Matlab同样表现了出色的处理能力。
同时对一些特殊的可视化要求,例如图形对话等,Matlab也有相应的功能函数,保证了用户不同层次的要求。
另外新版本的Matlab还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
1.2.3应用广泛的模块集合工具箱
Matlab对许多专门的领域都开发了功能强大的模块集和工具箱。
一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。
目前,Matlab已经把工具箱延伸到了科学研究和工程应用的诸多领域,如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,在工具箱(Toolbox)都有。
1.2.4实用的程序接口和发布平台
新版本的Matlab可以利用Matlab编译器和C/C++数学库以及图形库,将自己的Matlab程序自动转换为独立于Matlab运行的C和C++的代码。
允许用户编写可以和Matlab进行交互的C或C++语言程序。
另外,Matlab网页服务程序还容许在Web应用中使用自己的Matlab数学和图形程序。
Matlab的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。
工具箱是Matlab函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。
1.2.5应用软件开发(包括用户界面)
在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。
1.3Matlab的典型应用
Matlab的应用领域十分广阔,典型的应用举例如下:
(1)数据分析
(2)数值与符号计算;
(3)工程与科学绘图;
(4)控制系统设计;
(5)航天工业;
(6)汽车工业;
(7)生物医学工程;
(8)语音处理;
(9)图像与数字信号处理;
(10)财务、金融分析;
(11)建模、仿真及样机开发;
(12)新算法研究开发;
(13)图形用户界面设计。
1.4基本命令
1.4.1变量赋值
Matlab是矩阵运算,因此Matlab运算的基本变量通常都是矩阵。
(1)直接赋值
对2×2的矩阵A进行赋值
A=[13;24]
A=
13
24
各行元素由分号分隔,同行元素由空格、逗号分隔
(2)冒号赋值
A=S1:
S2:
S3
其中S1为起始值,S2为步长,S3为终止值。
A=1:
2:
10
A=
13579
步长S2的默认值为1。
A=1:
6
A=
123456
(3)函数赋值
n[返回变量列表]=函数名(输入变量列表)
x=1
y=sin(x)
y=
0.8415
1.4.2矩阵运算
Matlab的运算都是以矩阵的方式进行
矩阵与矩阵的运算:
+、-:
相同维数的矩阵才能进行加减运算
.*、./:
相同维数的矩阵对应元素的乘除运算
*:
满足矩阵乘法的规则
^:
方阵才能进行^的幂次运算
n矩阵与标量的运算
+、-:
矩阵各元素都与标量进行加、减
*、/:
矩阵各元素都与标量进行乘、除矩阵元素标识:
如果要得到矩阵中某一元素或者一组元素,可采用以下方法:
A(m,n):
第m行、第n列的元素
A(:
n):
第n列的所有元素组成的向量
A(m,:
):
第m行的所有元素元素组成的向量
A(m1:
m2,n1:
n2):
从m1行到m2行,以及从n1列到n2列的子矩阵
1.4.3绘图命令
Plot线性X-Y坐标图
Stem柱状图
subplot在一个figure中子图绘制
Loglog双对数坐标图
figure打开图形窗口
hold是否允许新图覆盖旧图
Title画题头
Xlabelx轴标注
Ylabely轴标注
Text任意定位的标注
grid图形网格
1.4.4命令文件和函数文件
M文件有两种形式:
命令文件(ScriptFile)和函数文件(FunctionFile)。
这两种文件的扩展名,均为“.m”。
对于一些比较简单的问题,在指令窗中直接输入指令计算;对于复杂计算,采用命令文件(Scriptfile)最为合适。
Matlab只是按文件所写的指令执行。
命令文件的构成比较简单,只是一串按用户意图排列而成的MATLAB指令集合。
命令文件运行后,所产生的所有变量都驻留在Matlab基本工作空间(Baseworkspace)中。
只要用户不使用清除指令(clear),Matlab指令窗不关闭,这些变量将一直保存在基本工作空间中。
与命令文件不同,函数文件可以传递参数,命令文件不具备参数传递的功能。
Matlab提供的函数指令大部分都是由函数文件定义的。
从形式上看,与命令文件不同,函数文件的笫一行总是以“function”引导的“函数申明行”;从运行上看,与命令文件运行不同,每当函数文件运行,MATLAB就会专门为它开辟一个临时工作空间,称为函数工作空间。
当执行文件最后一条指令时,就结束该函数文件的运行,同时该临时函数空间及其所有的中间变
量就立即被清除。
(1)Matlab的程序结构
1)顺序结构
2)循环结构:
for—end循环while---end循环。
3)选择结构:
if—else—endswitch---case结构。
4)异常处理机制:
try---catch结构。
(2)程序流控制
常用指令:
return,echo,input,pause,keyboard,break
警示指令:
error,warning
(3)Matlab语言的函数的基本结构
Function[返回变量列表]=函数名(输入变量列表)
2.设计题目
Matlab运算与受控源电阻电路分析
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=
;
3.1.1分析:
直接在主界面输入程序代码即可计算运行。
3.1.2结果:
如图3.1.1和图3.1.2所示。
图3.1.1题1.1程序结果图图3.1.2题1.2程序结果图
3.2画出衰减震荡曲线
及其他的包络线
t的取值范围是[0,4
].
3.2.1分析:
此类画图先声明t范围,再列出y和t、y0和t的关系式,最后画图。
3.2.2程序:
>>t=0:
pi/50:
4*pi;%t的取值范围
holdon;%允许在同一坐标系下绘制不同的图形
y=exp(-t/3).*sin(3*t);%y关于t的函数
y0=exp(-t/3);%y0关于t的函数
plot(t,y,'r');%画出y的二维图形,红色。
plot(t,y0,'b');%画出y的二维图形,蓝色。
xlabel('时间t');ylabel('y轴');%标记x轴与y轴。
legend('y=exp(-t./3).*sin(3.*t)','y0=exp(-t./3)');%添加文字标
grid%画出网格
3.2.3结果:
如图3.2.1所示。
图3.2.1衰减震荡曲线及包络线图
3.3画出
所表示的三维曲面。
x,y的取值范围是[-8,8]。
3.3.1分析:
用meshgrid函数产生x,y平面区域内的网格坐标矩阵,再列出z与x,y的关系,然后再画图。
3.3.2程序:
>>[x,y]=meshgrid(-8:
0.25:
8);%在[0,4pi]×[0,4pi]区域生成网格坐标
z=sin(sqrt(x.*x+y.*y))./sqrt(x.*x+y.*y);%z关于x与y的函数
surf(x,y,z)%画出三维曲面
3.3.3结果:
:
如图3.3.1所示。
图3.3.1三维曲面图
3.4分析下面每条指令的功能并运行,观察执行结果。
3.4.1X=0:
0.1:
1;
Y=X.*exp(-X);
plot(X,Y),xlabel(‘x’),ylabel(‘y’),title(‘y=x*exp(-x)’);
分析:
X=0:
0.1:
1是以0.1为步长从0到1取实数,来确定X的取值。
Y=X.*exp(-X)是Y关于X的函数。
然后用plot(X,Y)画出二维曲线,并用title(‘y=x*exp(-x)’)为他加上图形标题;以及用xlabel(‘x’)为他加上x轴说明;和用ylabel(‘y’)为他加上y轴说明。
运行结果如图3.4.1
图3.4.1题4.1运行图
3.4.2A=zeros(2,5)
A(:
)=-4:
5
L=abs(A)>3
islogical(L)
X=A(L)
分析:
A=zeros(2,5)是创建一个2×5的零矩阵,A(:
)=-4:
5是给矩阵A从-4到5(步长为1)依次赋值。
L=abs(A)>3是判断其绝对值是否大于3,若是值为1,否则为0并把值赋给矩阵L。
islogical(L)为判断L是否为逻辑数组,若是值为1,否则为0。
X是列向量,其数据为数组A对应逻辑数组L为1的位置的数。
运行结果如图3.4.2。
图3.4.2题4.2运行图
3.4.3A=[1:
4;5:
8]
pow2(A)
分析:
A=[1:
4;5:
8]是创建一个2×4的矩阵,其值是第一行为1到4,第二行为5到8(步长为1)。
pow2(A)将矩阵A中的每个值都变为2^x(x为矩阵中的每个值)并把该值赋给个缺省变量ans。
运行结果如图3.4.3
图3.4.3题4.3运行图
3.4.4A=zeros(2,3)
A(:
)=1:
6
A=A*(1+i)
A1=A.’;
B1=A’;
分析:
A=zeros(2,3)是创建一个2×3的零矩阵。
A(:
)=1:
6是从1到6(步长为1)给矩阵依次赋值。
A=A*(1+i)是将A*(1+i)重新赋值给A。
A1=A.’将A行列转置后赋给A1;B1=A’将A转置后再取其共轭复数将其赋给B1。
运行结果如图3.4.4。
图3.4.4题4.4运行结果图
3.4.5A=ones(1,2)
B=ones
(2)
C=eye(3)
D=diag(C)
E=repmat(C,1,3)
分析:
A=ones(1,2)创建一个1×2的全1矩阵;B=ones
(2)创建一个二阶的全1方阵;C=eye(3)创建一个三阶的单位矩阵;D=diag(C)取C矩阵主对角线上的元素构成向量D。
E=repmat(C,1,3)将矩阵复制1×3块,构成新的矩阵E。
运行结果如图3.4.5.
图3.4.5题4.5运行结果图
3.5计算
在x=0.1与10处的值。
3.5.1分析:
我们可以写一个函数,即编辑一个M文件,通过函数通过函数来计算y的值。
3.5.2程序:
function[y]=T5(x)%编写T5函数
y=x.^5+0.1*x.^4-100%y关于x的函数
end
3.5.3结果:
如图3.5.1。
图3.5.1题五运行结果图
3.6求函数1+1/2+1/3+…+1/n,n=100的值。
3.6.1分析:
此题我们可以通过编写M文件,利用循环机结构while语句或者for语句来求和。
程序流程图如3.6.1所示。
图3.6.1题六流程图
3.6.2程序:
function[sum]=T6(n)%T6函数
sum=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 运算 受控 电阻 电路 分析