MATLAB在正弦稳态电路中的应用
Matlab正弦稳态电路的分析正弦稳态电路讲课稿
M a t l a b正弦稳态电路的分析正弦稳态电路开放实验室项目研究论文题目: Matlab正弦稳态电路的分析正弦稳态电路学院:物理与电子技术学院专业:电子信息工程班级序号:学号:学生姓名:指导教师:2011年12月基于MATLAB的RLC电路结点电压法的仿真分析正弦稳态电路摘要:正弦稳态电路的分析计算是大家普遍反映难以理解的内容,尤其是在电路比较复杂的情况下更是如此。
本文在简要介绍了Matlab软件的基础上,提出了利用Matlab来进行电路分析的方法,且重点研究了用Matlab分析正弦稳态电路。
Matlab具有强大的数值运算供能以及强大的绘图功能,在以利用matlab进行电路分析时,可以精确的得到电路的各个参数。
且通过作图,我们可以很直观的观看的信号的相位关系。
本文对R,L,C串联电路和R,L,C串联电路为例,用Matlab绘出表现其正弦稳态特想的时域波图,向量图。
与一般分析方法比较,可以看出用Matlab分析正弦稳态电路具有简便、直观的优点。
关键字:Matlab ;正弦稳态;向量图;电路分析方法Abstract:Sine steady-state analysis and calculation of the circuit is commonreflection is difficult to understand the content, especially in the circuit is morecomplex situation is even more so. This paper briefly introduces the Matlabsoftware was put forward based on Matlab to circuit analysis method, and mainlystudied Matlab analysis sine steady-state circuit. Matlab has strong numericspowering and strong drawing function, by use of Matlab for circuit analysis, canaccurate get circuit various parameters. And through the plot, we can quite intuitive watch signal the phase relationship. This paper R, L, C series circuit and R, L, Cseries circuit for example, by using Matlab draw expressed its sinusoidal steadyespecially want to temporal oporto, vector diagram. Compared with the generalanalysis method, it can be seen that the Matlab analysis sinusoidal steady circuit is simple, intuitive advantages.Keywords: Matlab; Sinusoidal Steady State; Vector Diagram ; CircuitAnalysis绪论:随着电子计算机及其相关技术的发展,计算机辅助设计技术正作为一门崭新的技术在世界范围内蓬勃兴起。
基于matlab的正弦稳态电路功率的分析
【正文】1.前言在电工和无线电技术等领域中存在着许多周期性的正弦、非正弦电压、电流(或信号)。
对于非正弦电压、电流(或信号),可利用傅里叶变换,将周期性时间函数分解为许多不同频率和幅值的正弦时间函数之和。
然后应用叠加定理对每一频率的正弦时间函数,用相量法计算它们的稳态响应,将所有这些响应叠加起来,就可以得到周期性时间函数激励下的稳态响应。
对称的三相非正弦激励下的三相电路,也可以根据叠加定理,先分别计算各谐波电压单独作用时三相电路中的电压、电流谐波,然后叠加求出各电压、电流[1]。
电路的正弦稳态是电路在正弦电压(流)的激励作用下,电路最终所达到的稳定状态。
实际上,当电路中的自由响应衰减到可以不计时,便可认为电路进入了稳态。
在正弦稳态下,电路中所有电流、电压都依电源的频率按正弦方式变化。
按正弦规律变化的物理量称为正弦量。
分析正弦电路,就是要找出正弦电路的变化规律,这个规律就是描述正弦电路方程的解。
在时域中,描述正弦电路的方程是常系数微分(或积分)方程,它的完全解由两部分组成:一部分是对应齐次方程的通解---这部分解与激励性质无关,它可通过一般解微分方程的方法而求得;另一部分是方程的特解----它取决于激励形式。
以正弦电流为例,数学表达式。
式中三个量、、为正弦量的三要素。
称为正弦电流的振幅(又称最大值或峰值)。
它表示正弦电流变化过程中所能达到的最大值。
称为正弦电流的角频率,它表达了正弦量的相位角()随时间变化的速度,或者说表示单位时间增加的相位角。
描述交流电变化快慢除用角频率外,还用周期T来描述,周期T是指交流电变化一周所用的时间,即交流电从零开始变到最大,然后逐渐减小到零,接着反方向变到负的最大,最后又回到零所需时间。
还可用频率f来描述交流电变化快慢。
频率是指1S内交流电重复出现的次数。
角频率和正弦量的周期T及频率f的关系为:。
称为正弦电流的初相位(又称初相角),它是正弦量在t=0时刻的相角。
两个同频率的正弦量之间的相位差与计时起点无关。
MATLAB在电路分析中的应用
《MATLAB语言》课程论文MATLAB在电路分析中的应用姓名:李娜学号:专业:2010级通信工程班级:(1)班指导老师:汤全武学院:物理电气信息学院完成日期:MATLAB在电路分析中的应用(李娜 2010级通信1班)■[摘要]本文将Mat lab软件的模拟功能用于电路分析研究,以基本电路理论中典型的直流电阻电路和含有复数运算的正弦稳态电路的计算为例,详述了如何分别运用MATLAB语言编程的方法来对电路进行仿真分析和计算。
结论表明,应用这两种方法可以是复杂电路的分析和计算变得非常快捷•方便,从而为电路分析提供了一个有效的辅助工具。
[关键词]MATLAB;电路分析:模拟:正弦稳态:向量图一、问题的提出MATLAB语言结构紧凑.语句精炼,指令表达式和数字表达式非常接近,仅需儿条简单的语句,就可以完成一大审其他高级语言才能完成的任务,可大大节省编程时间,提高计算效率。
基本电路是电类专业非常重要的专业基本课,不仅为后继课程提供了深厚的理论基础,也为电路的分析计算提供了各种方法。
其中,在电路分析理论中一般将关于时间的微分方程转化为复数方程求解,在一些电路比较复杂的.方程数量多的情况下,都可以运用MATLAB程序来解决。
运用该程序不仅可以节约时间,还可以非常方便的调试电路参数,直观的观察电路中的电流.电压和功率波形。
二、应用1典型直流电阻电路的分析计算图1所示为典型的直流电阻电路,含有电压控制的受控电流源VCCS,其中,R1 二 1 Q, R2=2 Q, R3二3 Q, Us=10v, Is=15A, VCCS二,现需分析计算电流i x和电压u2U1图1 典型直流电阻电路基本电路分析的基本方法实现建立数学模型,一般是电路方程组。
然后通过求解方程组,得到各支路电压和电流。
对图1应用回路电流法,可列出如下方程组:fRllIal^R12lni2*Ri3l D3=U2US R21 Ial+R:;I XI2+R:3 ID3—U:22 [R31I D1^R32I XI2+R33I D3=U S33Rss二R2+R3, R沪也=一&, R13二R31 二-R:,R23二弘二一%Us/Us,UE, U533=-U3而11二1山一12,If二I尸15, I D3=, (Inl"Io3)整理以上方程,并写岀形如AX二BU的矩阵方程形式,可得R H Rl30 X*、厂1-Ri?Ra R33-1 0 J 二0 -RmRsi R320 1 U:0 -Rs:0 0 u30 oj JMATLA语言编程法应用MATLAB语言编程如下: CLEAR;US=1O;IS=15;R1=1;R2=2;R3=3; % 为给定元件赋值R11=R1+R2;R12=-R1;R21=-R1;R13=-R2;R31=-R2; % 为系数矩阵各元素赋值R22=R1+R3;R23二-R3;R32二-R3;R33二R2+R3;A=[RU R13 0 0;R21 R23 -1 0;R31 R33 0 1;*R2 *R2 0 0]; % 列出系数矩阵 A B二[1 -R12;0 -R22;0 -R23;0 0] ;USS二[US; IS]; % 列出系数矩阵 BX二A\B*USS; % 解岀 XU二X⑴-IS %显示要求的分量II和U2U2=2*(X(1)-X(2))程序运行结果11= , U2=202典型的正弦稳态电路的分析与计算图2所示为典型的正弦稳态电路,其中|J S =10Z-45°,VCCS = O.5|J 1, Rl = IQ, R2 = 20丄1 = 0.4///H. Cl = 1000//F, o = 1000 幺,现需分析该含源一端口在b-o端口间戴维南等效电路其中,Rn二Ri+R:,R::二R1+R3,图2 典型的正弦稳态电路图3 在b-。
正弦稳态电路及其MATLAB仿真
正弦交流电是随时间按照正弦函数规律变化的电压和电流,在现代工农业生产和日常生活中具有广泛的应用。
在正弦激励的动态电路中, 若各电压、电流均为与激励同频率的正弦波, 则称该电路为正弦稳态电路。
无论在理论研究还是实际应用中, 对于正弦稳态电路的分析都是十分重要的。
它是变压器、交流电机以及电子电路的理论基础, 在实际应用中, 许多电气设备的设计、性能指标就是按正弦稳态来考虑的。
因此, 分析和计算正弦稳态电路是工程技术和科学研究中常常会碰到的问题。
一、正弦稳态电路及其分析的重要性 (1)1.1 正弦稳态电路的定义 (1)1.2 分析正弦稳态电路的重要性 (1)2.1相量分析法 (1)2.2 Matlab分析 (1)三、Matlab在正弦稳态电路分析中的应用 (2)3.1 Matlab的概况 (2)3.2 Matlab分析的优势 (2)3.2.1 友好的工作平台和编程环境 (2)3.2.2 简单易用的程序语言 (3)3.2.3 强大的科学计算机数据处理能力 (3)3.2.4 出色的图形处理功能 (3)3.2.5 应用广泛的模块集合工具箱 (4)3.2.6 实用的程序接口和发布平台 (4)3.2.7 应用软件开发 (4)3.3 分析流程 (4)四、正弦稳态电路分析实例 (5)4.1 电路图 (5)4.2采用节点电压法求解 (5)4.3 用Matlab编程计算 (6)4.4电流向量图和波形图绘制 (6)五、结束语 (9)六、参考文献 (10)七、成绩评定 (11)一、正弦稳态电路及其分析的重要性1.1正弦稳态电路的定义线性时不变动态电路在角频率为ω的正弦电压源或电流源激励下,随着时间的增长,当暂态响应消失,只剩下正弦稳态响应,电路中全部电压电流都是角频率为ω的正弦波时,称电路处于正弦稳态。
满足这类条件的动态电路通常称为正弦电流电路或正弦稳态电路。
1.2 分析正弦稳态电路的重要性1.2.1 很多实际电路都工作于正弦稳态。
Matlab在正弦稳态电路分析中的应用_王继红
2008- 04经验交流Matlab 在正弦稳态电路分析中的应用★天津市工贸学校 王继红 摘 要: Matlab 是可视化的面向科学计 1.支路电流法求解 例 1: 在图 3-1 所示电路中, 已知: 1=R2= R· ·R4=1Ω, C=4F, L=4H。
求各支路电流并作相量 图。
·算的应用软件。
Matlab 语句简练、 可操作性强, 在电路计算中可广泛应用。
本文将 Matlab 计 采用三种 算功能应用于正弦稳态电路的分析, 直观性强, 教学效果明显, 提高了课堂的学习R3=2Ω, L=3Ω, c=2Ω,U s1=12∠0°V,U s3=3 X X·I1▲I R2 L V▲R3▲Ⅵ▲· ·▲效率。
关键词: Matlab 语言 路分析 相量图 一、 引言 Matlab 语言由美国的 Cleve Moler 博士及 其同事在美国国家科学基金资助下于 1980 年 研制成功, 是美国 Mathworks 公司推出的一个 高性能、 使用简便的计算语言,它集数值计算、 符号运算、 图形图像处理、 编程等多种功能于 一体,作为一个通用的数学工具,是使用最广泛 的系统仿真与计算工具, 非常适合教学和科研 使用。
电工基础是电气类专业的一门专业基础 课, 为电路分析计算提供了理论基础和各种方 法。
但应用这些方法分析较复杂的电路时, 对 从实际问题中的建立方程组, 手工求解是相当 繁琐的, 如对正弦稳态电路的分析, 通常需要 列出方程组进行求解, 由于这些方程的系数是 复数, 特别是当电路比较复杂、 方程数量较多 的情况下, 很难计算得出满意的结果, 容易出 现错误。
然而利用 Matlab 的 M 文件来求解电 只需一个或几个语句即可完成, 随意 路方程, 改变电路参数,能立即得到修改后的结果。
本 文就 Matlab 在正弦稳态电路中的应用,通过 实例展开分析。
matlab在电路中的应用
实验3 MATLAB在电路中的应用【实验目的】掌握MATLAB对电路系统的描述方法,会求解并表达结果。
1、加深对直流电路的节点电压法和网孔电流法的分析理解,学习Matlab的矩阵运算方法。
2、加深多戴维南定律,等效变换等的了解,进一步了解matlab在直流电路中的作用。
3、学习正弦交流电路的分析方法,学习matlab复数的运算方法。
4、学习动态电路的分析方法,学习动态电路的matlab计算方法。
5、学习有关频率响应的相关概念,学习matlab的频率计算。
【实验内容】1、练习书上部分例题,每一小节选一道例题进行验证2、课后5.3,5.9,5.12,5.13,5.15的编程求解3、总结MATLAB对直流电路,正弦稳态电路,动态电路分析的步骤,注明其中涉及到的关键函数和通用语句,并写出求解电路频率响应的关键语句。
1、练习书上部分例题5.1电阻电路例5.1 电阻电路的计算①⑴以压缩空格显示;给定元件赋值相当于是罗列题目的已知条件。
这是做题的第一步,包括了解题的初始化。
⑵以上模块是根据建模所列的方程而写出来的,是求解整个问题的方法和核心所在。
方程是根据电路的知识列出的,而编程是根据matlab的知识编出的。
从网孔方程中抽离出来的矩阵可以描述为A和B两个矩阵,而us是要求用户输入的。
数字方程列完后,用I=A\B*us求出电流,注意用到左除还是右除。
求出的三个电流分别放在ia、ib、ic中。
⑶上面这块是根据具体的题目要求所罗列的,往往题目要求不是只要矩阵的解,而是要用矩阵的解作为中间变量去求其他的解。
这时要根据电路中的定理如欧姆定律等去求。
当然,这也可以看做是结果的显示(末尾不加分号)。
运行结果:例5.3 戴维宁定理⑴程序初始化以及已知条件输入⑵根据方程列出数字矩阵。
方法是节点电压法。
⑶根据题目求出最终解,把需要显示的结果不加分号;并用plot 画出图像。
运行结果5.2动态电路例5.4 一阶动态电路,三要素公式⑴解题的初始化以及已知条件输入⑵对时间的设置。
MATLAB在正弦稳态电路分析中的应用
MATLAB在正弦稳态电路分析中的应用作者:李迎辉摘要:MATLAB是美国Mathworks公司开发的大型数学计算软件,它提供了强大的矩阵和绘图功能,其所有变量和常量都是以矩阵的形式存在,矩阵中的各元素可以是复数或表达式。
这些特点使其具有强大的矩阵运算和复数运算能力,在处理电路分析的各种问题时,相比较其他语言,编程时更加简便,易于实现。
本文通过几个示例分析了MATLAB在正弦稳态电路分析中的应用方法和技巧。
关键词:MATLAB;正弦稳态电路;矩阵;向量图第一章绪论一、MATLAB的特点及发展潜力在电路分析中, 随着电路复杂性的增加, 微分方程的阶数及联立方程的个数势必增加, 给计算带来困难。
传统的计算机编程语言, 如FORTRAN,C语言等在求解高阶微分方程和大规模联立方程组时, 大量的时间和精力都花在矩阵处理上如矩阵输入、求逆、稀疏矩阵处理等和图形的生成分析等繁琐易错的细节上。
被誉为第四代计算机语言的MATLAB在矩阵处理和图形处理等方面有着得天夺厚的优势。
1.1 编程效率高它是一种面向科学与工程计算的高级语言,允许用数学形式的语言编写程序,且比Basic、Fortran和C等语言更加接近我们书写计算公式的思维方式,用Matlab编写程序犹如在演算纸上排列出公式与求解问题,编程效率高,易学易懂。
1.2 用户使用方便Matlab语言把编辑、编译、连接和执行融为一体。
它能在同一画面上进行灵活操作,快速排除输入程序中的书写错误、语法错误以至语意错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言。
1.3 扩充能力强高版本的Matlab语言有丰富的库函数,在进行复杂的数学运算时可以直接调用,而且Matlab的库函数同用户文件在形成上一样,所以用户文件也可作为Matlab的库函数来调用。
因而,用户可以根据自己的需要方便地建立和扩充新的库函数,以便提高Matlab使用效率和扩充它的功能。
用MATLAB求解线性电路的正弦稳态响应
用MATLAB 求解线性电路的正弦稳态响应一、 阻抗和导纳.一个含线性电阻、电感和电容等元件,但不含独立元的一端口,但它在角频率为w的正弦电压或电流激励下处于稳态时,端口的电流或电压将是同频率的正弦量,应用向量法,端口的电压向量.U 与电流向量.I 的比值定义为该一端口的阻抗Z 。
Z 的模值|Z|称为阻抗模,它的辐角Z ϕ称为阻抗角.则i u Z ϕϕϕ-=。
如果一端口含有元件R 、L 、C ,则其对应的阻抗为:Z=R,Z=jwL,Z=1/jwc.其导纳为Y=1/Z=1/R,Y=1/jwL,Y=jwc. 则 Z=R+Jx Y=G+Jb对于n 个阻抗串联而成的电路,其等效阻抗为 n eq Z Z Z Z +++= 21各个阻抗的电压分配为 n k U Z Z U eqk k ,,2,1,...........== 同理,对于n 个导纳并联而成的电路,其等效导纳n eq Y Y Y Y +++= 21各个导纳的电流分配为 n k I Y Y I eqk k ,2,1,...........== 例1, RLC 串联电路如图,如R=5Ω、L=3H 、C=0.25F 、tV u s 2cos 210=,求电流以及各元件的电压.用matlab 解为:% 已知: us=10*sqrt(2)*cos(2*t) VR=5; L=3; C=0.25;w=2; Us=10;Zl=j*w*L; Zc=1/(j*w*C);I=Us/(Zl+R+Zc)Uab=I*ZlUbc=I*RUcd=I*Zccompass([Uab,I,Ucd]) %画向量图gtext('Uab','color','b'); %用不同的颜色表示gtext('I','color','m');gtext('Ucd','color','r')abs(I) %取模angle(I)*180/pi %degreeangle(I) % rad%画坐标图t=-2:0.01:6; %横坐标从-2到6,每隔0。
MATLAB在电路中的应用
MATLAB在电路中的应用0 引言MATLAB是“矩阵实验室”(MATrix LABoratoy)的缩写,它是以矩阵运算为基础的交互式程序语言,能够满足科学、工程计算和绘图的需求。
与其它计算机语言相比,其特点是简洁和智能化,适应科技专业人员的思维方式和书写习惯,使得编程和调试效率大大提高。
它用解释方式工作,键入持续后立即得出结果,人机交互性能好,易于调试并被科技人员所乐于接受。
特别是它可适应多种平台,并且随着计算机硬软件的更新及时升级,因此MATLAB语言在国外的大学工学院中,特别是频繁进行数值计算的电子信息类学科中,已经成为每个学生都掌握的工具了。
它大大提高了课程教学、解题作业、分析研究的效率。
MATLAB特点:一、 起点高1、 每个变量代表一个矩阵,它可以有n×m个元素。
2、 每个元素都看作复数,比其它语言优越。
3、 所有的运算都对矩阵和复数有效。
二、 人机界面适合科技人员1、语言规则与笔算式相似:MATLAB的程序与科技人员的书写习惯相近,因此易写易读,易于在科技人员之间交流。
2、矩阵行数、列数无需定义:若要输入一个矩阵,在其它语言编程时必须先定义相应的阶数,而用MATLAB语言则不必有阶数的定义语句,输入数据的行列数就决定了它的阶数。
3、键入算式立即得结果,无需编译:MATLAB是以解释方式工作的,即它对每条语句解释后立即执行。
若有错误也立即作出反应,便于编程者马上改正。
这都大大减轻了编程和调试的工作量。
三、 强大而简易的作图功能1、能根据输入数据自动确定坐标绘图。
2、能在多种坐标系下绘图。
3、能绘制三维坐标系中的曲线和曲面。
4、可以设置不同颜色、线形、观看视角等。
Matlab在正弦稳态电路分析中的应用
Matlab在正弦稳态电路分析中的应用作者:刘丽来源:《新教育时代·学生版》2016年第01期摘要:在教学中,目前大部分学校都仅仅利用试验箱完成电子类课程的实验教学,几乎所有电路都是封闭式的。
本文介绍了MATLAB在正弦稳态电路分析中的应用。
关键词:MATLAB 正弦稳态电路仿真一、矩阵计算与线性电路分析电路理论中引入矩阵工具已有半个多世纪的历史,电路定律由于矩阵的引入而表述更为精炼。
由于按单变量表示多变量的系统,使整个理论显得更为简约,概念更为清晰,而且电路的状态也能从整体上掌握。
矩阵形式可以表示传统的KCL、KVL、支路电流法、回路电流法以及节点电压法。
矩阵运算是MATLAB最基本、也是最重要的功能之一。
[1]通过上面的例题可以看出,电路结构虽然简单,若要用手工去求解它所列出的方程组的话,是非常繁琐的。
对于普通工程技术人员来说,如果使用某些高级计算机语言编程求解,编写程序又太过复杂。
而在求解这类问题时利用MATLAB,则程序会非常简洁,可读性强,符合人们思维习惯,计算结果准确,而且可以方便的绘制出各种图形,便于人们直观的分析计算结果。
由此可见,MATLAB给我们带来了最直观、最简洁的程序开发环境。
参考文献[1]康华光.电子技术基础数字部分(第五版).高等教育出版社,2005.7.[2]熊建平.Matlab在数字电路中的应用.南昌:计算机与现代化,2007(6).[3]霍加·托和塔森.基于Matlab的数字电路建模与仿真.伊犁师范学院学报:自然科学版2010(1).[4]黄圣英.Matlab在数字电路设计中的应用.山东理工大学学报:自然科学版2010.。
Matlab符号运算在电路分析中的应用
用符号 表示 的解析 式 比数 值解 具 有更 好 的通用 性[ , 1 方便进一步 的数学分析 , 以符号解有着数值 ] 所
解无 法 比拟 的优 越性 。
我们利用了 Ma a t b中的符号运算功能对电路 l
在 电路分析 中, 不管是在直流 电路 , 还是正弦 稳态电路 , 当采用相量模型表示后c 其节点电压方 ,
( eti P  ̄e eu i n g fcec a ,Hu z o gUnvri fS ine& Teh oo y, h n 40 7 , hn ) Elcrc o rS c rt a d HihEf iinyL b y ahn iest o cec y cn lg Wu a 3 04 C ia
h v n ea sg e a u s a ig s in d v l e .Bu n t ecr uta ay i n ac lt n ti h ic i n l ssa d c lu ai ,wen e o g tt e a ay ia o u in o e d t e h n ltc ls l to
o e a in o h a lb,p o ie n efce ta ssa tm eh d f rcr uta ay i. p r to ft e M ta r vd sa fiin s it n t o o ic i n l ss
Ke w r s M atb;y b l p r to cr uta ay i; n l t a o u in y od : t a s m o i O e a in;ic i n lss a ay i ls lto c c
Th p ia in o a l b S mb l e a i n i r u tAn l ss e Ap l to fM ta y o i Op r to n Cic i c c ay i
正弦稳态电路的MATLAB分析【关键词】MATLAB正弦稳态电路电路
正弦稳态电路的MATLAB分析【关键词】:MATLAB 正弦稳态电路电路分析方法图1-2(三)节点电位法以例1-1为例用节点电压法解题如下:解:这是一个交流稳态电路,对两个独立结点列结点电压方程:其中:,【例2-1】在Simulink中构建模型:对一个正弦波信号进行积分处理,然后将原始正弦信号和积分后的信号送到示波器中同时显示相互来。
图2-2 Simulink仿真简例4)保存模型文件,执行主菜单“File”/“Save as”命令,将文件命名为“exm3_1_1.mdl”后保存。
5)执行主菜单“Simulink”/“Start”命令或单击工具栏上的“”图标,开始仿真。
快捷键为【Ctrl+T】。
6)Simulink默认的仿真时间是10s(注意这并不是实际流逝的时间),结果仿真后,双击Scope模块,可以看到仿真结果如图2-3所示。
图2-3 示波器输出的仿真结果在图2-3所示的示波器输出图形中,黄线代表Sine Wave信源产生的正弦波形,紫线表示的是正弦波积分后的输出波形。
下面对该模块库的3个常用模块进行介绍。
1)Sine Wave模块Sine Wave模块库中的模块很大一部分都是根据用户设定的参数来直接生成信号,比如Sine Wave模块。
双击Sine Wave模块,在弹出窗口中可以调整相关参数。
信号生成方式有两种:Tine based和Sample based。
如果以Time based方式运行该模块,则需要用户设定波形的幅度(Amplitude)、偏移(Bias)、频率(Frequency)、初相(Phase)几个参数;如果选择Sample based方式,参数设置则为幅度(Amplitude)、偏移(Bias)、每周期采样数(Samples per period)和偏移采样数(Number of offsetsamples),两种工作方式中的各项参数都可以用关系式加以换算:每周期采样数=2*pi/(频率*采样时间);偏移采样数=初相*每周期采样数/(2*pi)。
基于MATLAB的正弦稳态电路仿真
T h e S i mu l a t i o n o f Vi r t u a l La b o r a t o r y Ba s e d o n M ATL AB
Z HA N G J i n g - j i n g
( S c h o o l o f P h y s i c s a n d E l e c t r i c s , Hu b e i U n i v e r s i t yo  ̄ A r t s a n dS c i e n c e , X i ng a y a n g , Hu b e i 4 4 1 0 5 3 )
1 引言 M A T L A B 是M a t h Wo r k s 公司于 1 9 8 2 年 推 出 的 套 高性 能的数值计算 和可视化软件。它是进行 科学计算 、 矩阵运算 、 数值分析 、 信号处理和图形显 一来自示 的高效 工具 。
M A T L A B 具有以下特点 : 1 ) 高效的数值计算及符号计算功能 , 能使用户 从繁杂的数学运算分析中解脱出来 ; 2 1 具 有 完备 的图形 处 理 功 能 , 实 现计 算 结果 和 编 程 的可视 化 ; 3 ) 友 好 的 用 户 界 面 及 接 近 数 学 表 达 式 的 自然
传 统教 学的不足。本文研 究 了MAT L A B函数编程和虚拟 实验 两种仿 真方法 , 并 通过 正弦稳态 电路的 实例探讨 了MA T L A B仿 真和 虚拟 实验 两种仿 真方法的应用。
【 关键词】 MA T L A B ; 仿真; 虚拟实验 【 中图分类号] T M 4 4 ; T P 3 9 1 . 9 【 文献标识码】 A 【 文章编号】 1 6 7 3 — 1 8 9 1 ( 2 0 1 4 ) 0 4 - 0 0 3 1 - 0 3
matlab课程设计--利用MATLAB对线性电路正弦稳态特性分析
课程设计任务书学生姓名:专业班级:指导教师:刘新华工作单位:信息工程学院题目: 利用MATLAB对线性电路正弦稳态特性分析要求完成的主要任务:1.利用MATLAB强大的图形处理功能,符号运算功能和数值计算功能,实现线性电路正弦稳态特性的仿真波形。
2.绘出表现其正弦稳态特性的时域波形图和向量图。
课程设计的目的:1.理论目的课程设计的目的之一是为了巩固课堂理论学习,并能用所学理论知识正确分析线性电路正弦稳态特性2.实践目的课程设计的目的之二是通过MATLAB的图形处理功能掌握线性电路正弦稳态特性分析的方法和步骤。
时间安排:指导教师签名:年月日系主任(或责任教师)签字:年月日目录摘要................................................................ I Abstract........................................................... II 绪论. (1)1 matlab 简介 (2)1.1 matlab的基本功能 (2)1.2 特点与优势 (2)1.3 Matlab常用函数 (2)1.3.1 注解函数 (2)1.3.2 绘图函数 (3)1.4 matlab分析电路流程 (3)2 R,L,C时域波形图和相量图 (3)2.1 电阻稳态电路 (3)2.1.1 电阻R的正弦稳态电路分析: (3)2.1.2 现利用matlab绘制电阻的正弦稳态时域波形图 (4)2.1.3 利用matlab绘制的电阻的正弦稳态电路的相量图 (5)2.2 电感稳态电路 (6)2.2.1 电感L的正弦稳态电路的分析 (6)2.2.2 现利用matlab绘制电感的正弦稳态时域波形图 (7)2.2.3 利用matlab绘制的电感的正弦稳态电路的相量图 (8)2.3电容稳态电路 (9)2.3.1 电容C的正弦稳态电路分析 (9)2.3.2利用matlab绘制电容的正弦稳态时域波形图 (10)2.3.3 利用matlab绘制的电容的正弦稳态电路的相量图 (11)3 R,L,C串联电路 (13)3.1 R,L,C串联电路的分析 (13)3.2 利用matlab绘制串联电路的正弦稳态时域波形图 (13)3.3 R、L、C串联的相量图 (14)4心得体会 (16)5 参考文献 (17)附件:MATLAB程序 (18)摘要线性电路的正弦稳态分析是比较难的部分,特别是是当电路非常复杂时,分析起来更是费时费力,而用MATLAB来分析会大大的简化分析过程。
MATLAB在正弦稳态电路中的应用
目录第一章:绪论 (1)1.1 课题目的及意义 (1)1.2 课题的社会和技术背景 (2)1.3实现的具体功能 (2)第二章:课题基本概念和原理 (4)2.1基本概念 (4)2.2基本原理 (4)2.2.1利用KCL,KVL求解 (4)2.2.2支路电流法 (5)2.2.3网孔电流法 (6)第三章:系统设计和实现 (8)3.1采用软件及开发平台 (8)3.2系统详细设计 (9)3.2.1例1. 简单的正弦稳态电路 (9)3.2.2例2.用支路电流法和节点电压法求解电路 (10)3.2.3例3.用网孔电流法求解电路 (12)3.2.4例4.正弦稳态电路:仪表读数问题 (13)3.2.5主要技术问题与解决方法 (14)3.3系统设计的亮点与创新点 (15)第四章:结束语 (16)第五章:参考文献 (18)第六章:附录 (19)3.2.2用支路电流法和节点电压法求解电路源代码 (19)3.2.3用网孔电流法求解电路源代码 (20)3.2.4正弦稳态电路:仪表读数问题源代码 (20)第一章:绪论1.1 课题目的及意义目的:了解MATLAB在现代科学研究的地位,了解区别与面向过程的计算机语言和面向问题的计算机语言。
了解MATLAB解决复杂科学问题的高效率和覆盖面广泛的优势.要求能够利用MATLAB的帮助系统进行知识点的搜索,这是掌握科学计算软件的最基本最有效的方法。
MATLAB计算的对象是数据,不同的问题的数据有不同的数据结构。
MATLAB提供了具有复杂数据结构的数组,用于解决不同的实际问题。
本章系统介绍数据数组、字符数组、元胞数组和构架数组,这些数组的创建、数组元素的定位、数组的合并和扩充、数组的操作等等。
MATLAB图形是一系列图形元素组成的构架数组,对给定的数据能够熟练的作图,并能对图形进行各种修饰,了解立体图形的颜色对应颜色矩阵,了解立体图形的视角、光线、材质等立体图形的修饰命令。
了解并能绘制特殊图形的方法,如统计图形等。
Matlab运算与正弦稳态电路分析
课程设计任务书之巴公井开创作学生姓名:专业班级:指导教师:工作单位:课程设计名称:专业基础实践课程设计题目: Matlab运算与正弦稳态电路分析初始条件:1.Matlab7.1以上版本软件;2.专业基础实践辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应用”、“线性代数”及“信号处理类”相关书籍等;3.先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类基础课程等。
要求完成的主要任务:(包含课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.实践内容:根据指导老师给定的7套题目,按规定选择其中1套独立完成;2.本专业基础实践统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,完成针对具体设计部分的原理分析、建模、需要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表等),并对实验结果进行分析和总结。
具体设计要求包含:①初步了解Matlab、熟悉Matlab界面、进行简单操纵等;②Matlab的数值计算:创建矩阵、矩阵运算、多项式运算、线性方程组、数值统计等;③基本绘图函数:了解plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形标注、简单颜色设定等;④使用文本编辑器编辑m文件,会函数调用等;⑤能完成简单电路的Matlab编程分析;⑥按要求介入专业基础实践的实验演示和答辩等。
3.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包含:①目录;②与设计题目相关的理论分析、归纳和总结;③与设计内容相关的原理分析、建模、推导、可行性分析;④程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结;⑤课程设计的心得体会(至少500字);⑥参考文献(很多于5篇);⑦其它需要内容等。
时间安插:1.0周(分散进行)指导教师签名:年月日系主任(或责任教师)签名:年月日目录1. MA TLAB简介 (1)2.具体题目分析 (3)2.1试题1 (3)2.2试题2 (4)2.3试题3 (5)2.4试题4 (6)2.5试题5 (10)2.6试题6 (11)2.7试题7 (13)2.8试题8 (15)2.9试题9 (16)2.10试题10 (20)2.11试题11 (21)3.课程设计心得体会 (24)4.参考文献 (25)5.本科生课程设计成绩评表 (26)1. MA TLAB简介MATLAB的名称源自MatrixLaboratory,1984年由美国Mathworks公司推向市场。
Matlab运算与正弦稳态电路分析
课程设计任务书之袁州冬雪创作学生姓名:专业班级:指导教员:工作单位:课程设计称号:专业基础实践课程设计题目: Matlab运算与正弦稳态电路分析初始条件:1.Matlab7.1以上版本软件;2.专业基础实践辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应用”、“线性代数”及“信号处理类”相关书籍等;3.先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类基础课程等.要求完成的主要任务:(包含课程设计工作量及其技术要求,以及说明书撰写等详细要求)1.实践内容:根据指导教师给定的7套题目,按规定选择其中1套独立完成;2.本专业基础实践统一技术要求:研读辅导资料对应章节,对选定的设计题目停止实际分析,完成针对详细设计部分的原理分析、建模、需要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验成果(含计算成果和图表等),并对实验成果停止分析和总结.详细设计要求包含:①初步懂得Matlab、熟悉Matlab界面、停止简单操纵等;②Matlab的数值计算:创建矩阵、矩阵运算、多项式运算、线性方程组、数值统计等;③基本绘图函数:懂得plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形标注、简单颜色设定等;④使用文本编辑器编辑m文件,会函数调用等;⑤能完成简单电路的Matlab编程分析;⑥按要求参与专业基础实践的实验演示和答辩等.3.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,详细包含:①目次;②与设计题目相关的实际分析、归纳和总结;③与设计内容相关的原理分析、建模、推导、可行性分析;④程序设计框图、程序代码(含注释)、程序运行成果和图表、实验成果分析和总结;⑤课程设计的心得体会(至少500字);⑥参考文献(很多于5篇);⑦其它需要内容等.时间安插:1.0周(分散停止)指导教员签名:年代日系主任(或责任教员)签名:年代日目次1. MA TLAB简介 (1)2.详细题目分析 (3)2.1试题1 (3)2.2试题2 (4)2.3试题3 (5)2.4试题4 (6)2.5试题5 (10)2.6试题6 (11)2.7试题7 (13)2.8试题8 (15)2.9试题9 (16)2.10试题10 (20)2.11试题11 (21)3.课程设计心得体会 (24)4.参考文献 (25)5.本科生课程设计成绩评表 (26)1. MA TLAB简介MATLAB的称号源自MatrixLaboratory,1984年由美国Mathworks公司推向市场.它是一种迷信计算软件,专门以矩阵的形式处理数据.MA TLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于迷信计算、节制系统和信息处理等范畴的分析、仿真和设计工作.MATLAB软件包含五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)和建仿照真可视化功能(Simulink).其中,符号运算功能的实现是通过请求MAPLE内核计算并将成果返回到MATLAB饬令窗口.该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强.今朝,Mathworks公司已推出30多个应用工具箱.MA TLAB 在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、图像处理、节制实际分析和系统设计、过程节制、建模和仿真、通信系统以及财务金融等众多范畴的实际研究和工程设计中得到了广泛应用.MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常常使用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,而且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件.在新的版本中也加入了对C,FORTRAN,C++ ,JA V A的支持.可以直接调用,用户也可以将自己编写的实用程序导入到MA TLAB函数库中方便自己以后调用,此外许多的MA TLAB 高兴喜爱者都编写了一些经典的程序,用户可以直接停止下载便可以用.MATLAB应用:MATLAB产品族可以用来停止以下各种工作:①数值分析②数值和符号计算③工程与迷信绘图④节制系统的设计与仿真⑤数字图像处理⑥数字信号处理⑦通讯系统设计与仿真⑧财务与金融工程MATLAB的应用范围非常广,包含信号和图像处理、通讯、节制系统设计、测试和丈量、财务建模和分析以及计算生物学等众多应用范畴.附加的工具箱(单独提供的专用MATLAB函数集)扩大了MATLAB环境,以处理这些应用范畴内特定类型的问题.2.详细题目设计、实现及分析2.1 已知t=linspace(0,2*pi,6),求t的正弦和正弦的相对值.这是操纵matlab处理数值运算的题目.linspace(a,b,n)为线性分割函数,功能是将指定区间(a,b)按线性等分为n份.Matlab中求解正弦的函数为sin(),求取相对值和复数模值的函数为abs().t=linspace(0,2*pi,6)%把区间(0,2*pi)分为6等份,并赋值给ta=sin(t)%求t的正弦值,赋给ab=abs(a)%求a的相对值,即t的正弦的相对值t =a =b =matlab中的pi与真正的有差距,而且数字与因式相乘要使用乘法符号‘*'.通过这个计算,我懂得到matlab有处理数据计算的功能.2.2绘制余弦曲线y=cos(x)和指数函数y=x^2曲线.本题是画函数的曲线图,可以操纵plot,ezplot等饬令停止绘图.由于plot要设置自变量的范围,而ezplot不需要设置,所以本题采取ezplot停止画图.syms x; %声明变量xy1=cos(x);%将cos(x)赋值给y1y2=x^2; % 将x^2赋值给y2ezplot(y1); %画函数y1的图形hold on %坚持图形ezplot(y2) %画函数y2的图形图2.2.3余弦曲线y=cos(x)和指数函数y=x^2曲线ezplot不需要自变量的范围也可作图,可以方便简洁地绘制出一元函数图像,要使用hold on 饬令才干将两图绘到同一图上.2.3操纵for ... end循环语句,求2+4+6…+100 的值.for语句作用是循环步调重复执行某语句段, 其语法是:for循环节制变量=存储着该变量依次所取值的一个向量.循环语句块: 本块重复执行的次数由上方向量的长度决议, 每次执行时, 循环节制变量依次取该向量中的值.sum=0; %赋sum初值为0for i=2:2:100%变量i变更范围为2到100,以2步进sum=sum + i; %累加求和end %竣事for循环sumsum =2550for 循环语句使用一个向量来节制循环, 循环次数由向量的长度来决议, 而每次循环都依次从向量中取值.当次循环中改变循环变量赋值, 不会代入下次循环, 所以除非在其中用break提前退出, Matlab循环的次数是预先定好的.累加求和时,i的大小呈递增累加.2.4分析下面每条指令的功能并运行,观察执行成果.(1) X=0:0.25:3;Y=X.*exp(X);plot(X,Y),xlabel(‘x’),ylabel(‘y’),title(‘y=x*exp(x)’);(2)A=zeros(3,5)A(:)=4:10L=abs(A)>4islogical(L)X=A(L)(3)A=[1:5;6:10]pow2(A)(4)A=zeros(3,2)A(:)=1:6A=A*(1+i)A1=A.’;B1=A’;A=ones(2,3)B=ones(2)C=eye(4)D=diag(C)E=repmat(C,1,3)Y=X.*exp(X); %函数y=的表达式plot(X,Y),xlabe l(‘x’),ylabel(‘y’),title(‘y=x*exp(x)’); %绘制y=的图线,横坐标为x,纵坐标为y,题目为y=x*exp(x)(2)A=zeros(3,5) %创建一个3*5的零矩阵AA(:)=4:10 %为矩阵A赋值,4到10,步进为1L=abs(A)>4 %断定矩阵A中元素的相对值是否大于4islogical(L) %断定L是否为逻辑值X=A(L) %X为逻辑数组L对应为1的位置的数据为列向量(3) A=[1:5;6:10] %创建一个2*5的矩阵A,范围为1到10,步进为1pow2(A) %返回数组X,依次计算A中元素以2为底的幂(4)A=zeros(3,2) %创建一个3*2的零矩阵A(:)=1:6 %为矩阵A赋值,范围为1到6,步进为1A=A*(1+i) %将矩阵A中的每个元素乘以(1+i)A1=A.' %对A停止数组转置生成矩阵A1B1=A' %对A停止矩阵转置生成矩阵B1(5)A=ones(2,3) %创建一个2*3的1矩阵AB=ones(2) %创建一个2*2的1矩阵BC=eye(4) %创建一个4*4的单位矩阵CD=diag(C) %获取单位矩阵C的对角线元素矩阵DE=repmat(C,1,3) %将矩阵C生成为1*3的新矩阵E程序运行成果一y=曲线程序运行成果二A =0 0 0 0 00 0 0 0 00 0 0 0 0A =4 1 25 83 0 3 6 92 1 4 7 10L =0 0 0 1 10 0 0 1 10 0 0 1 1ans =1X =5678910程序运行成果三A=[1:5;6:10]pow2(A)A =1 2 3 4 56 7 8 9 10ans =2 4 8 16 3264 128 256 512 1024程序运行成果四图2.4.2 程序(4)运行成果A =1 1 11 1 1B =1 11 1C =1 0 0 00 1 0 00 0 1 00 0 0 1D =1111E =1 0 0 0 1 0 0 0 1 0 0 00 1 0 0 0 1 0 0 0 1 0 00 0 1 0 0 0 1 0 0 0 1 00 0 0 1 0 0 0 1 0 0 0 1实数矩阵的矩阵转置和数组矩阵计算成果是一样的,但是复数矩阵的数组转置和矩阵转置的计算成果纷歧致.所以,数组转置运算也被称为非共轭转置,矩阵转置运算则被称为共轭矩阵.数组的运算是指数组对应元素之间的运算,也称点运算.2.5计算多项式p(x)= x3+15x2+8x在x=3和x=0:1:8时的值.由题目已知这里运用到的是polyval()饬令,通过polyval()饬令可以疾速的计算出在相应值下的多项式的值.当x=3时;x=3; %赋初值3给xy=x^3+15*x^2+8*x %写出函数表达式当x=0:1:8时;syms x; %声明变量xy=x^3+15*x^2+8*x; %写出函数表达式x=0:1:8; %生成一个0到8的数组,每相邻两数间距为1p=[1 15 8]; %将函数表达式的系数放在数组P中polyval(p,x) %用polyval函数求得表达式的值当x=3时;y =186当x=0:1:8时;ans =8 24 42 62 84 108 134 162 192ployval()是Matlab中的多项式求值函数.在表达多项式系数中要把缺少的自变量系数0补偿到系数矩阵中.2.6随机生成一个10000×3的矩阵,并绘制其柱状图随机生成矩阵函数可以用rand(M,N),暗示随机发生一个M*N的矩阵.柱状绘图函数可以用bar.此函数是在平面内绘制柱状图,如果要绘制平面的,用bar3.arry=rand(10000,3); %随机生成一个10000*3的矩阵bar(arry); %操纵bar函数画出柱状图??????题目总结可以用bar函数绘制平面内柱状图.??操纵switch…case编写以下程序:某商场对顾客所购买的商品实行打折销售,尺度如下商品价格用price来暗示??:??????price????????????????????????????无折扣??????price??????????????????????%折扣????????price????????????????%折扣????????Price1000 15%折扣输入所售商品的价格,求其实际销售价格.MATLAB语言为处理多分支断定选择提供了switchcase语句.Switchcase语句的一般表达式为:switch (选择要断定的量)case 选择断定值1选择断定语句1case 选择断定值2选择断定语句2……otherwise断定执行语句price =input();%输入商品价格switchfix(price/100) %价格除以100以后取整case {0,1}price=price*1; %价格没有折扣 case {2,3,4}price=price*0.95; %价格有5%的折扣case {5,6,7,8,9}price=price*0.9; %价格有10%的折扣case othersprice=price*0.85; %价格有15%的折扣end>> price =822;>> switch fix(price/100)case {0,1}price=price*1;case {2,3,4}price=price*0.95;case {5,6,7,8,9}price=price*0.9;case othersprice=price*0.85;end>> priceprice =在MATLAB语言中,当switchcase语句中一个case语句后的条件为真时,switchcase语句分歧错误其后的case语句停止断定,也就是说在MATLAB语言中,即使有多条case断定语句为真,也只执行所遇到的第一条为真的语句.这样就不必像C语言那样,在每条case语句后加上break语句以防止继续执行后面为真的case条件语句.停止部分分式展开由数学知识可知可操纵下列计算模子syms x,x=0;syms s;while x<20switch xcase 0k1=10*(x+3)/((x6)*(x16));x=6;case 6k2=10*(x+3)/(x*(x16));x=16;case 16k3=10*(x+3)/(x*(x6));x=20;endendy=k1/s+k2/(s6)+k3/(s16);yy =19/(16*(s 16)) 3/(2*(s 6)) + 5/(16*s)即多项式的可展开为:本题主要在于数学运算模子建立和计算表达式的书写,操纵while...end语句对其停止三次循环条件断定并计算三个常数,通过switch...语句分别给出三个常数的计算方式,最后再将计算出的三格常数带入到中即可.,其中t的范围是[0 10],计算y的微分和积分并给出曲线图已知函数方程和自变量t的变更范围,对于积分,可以操纵函数quad()对确定自变质变更范围停止计算,格式如quad('函数名',初值,终值)所示.对于微分,可以操纵函数diff()对确定自变质变更范围停止计算.函数图象可用funtool指令得到.yt='exp(1)*cos(t)' %写出函数表达式Ic=quad(yt,0,10,1e8) %用quad函数求积分Funtool %停止画图在Figure3框中f=处输入exp(1)sin(t)在x= 处填入[0,10]syms t yy=exp(1)*cos(t)%写出函数表达式Id=diff(y,t) %用diff函数求解微分funtool%停止画图在Figure3框中f=处输入exp(1)sin(t)在x= 处填入[0,10]Ic =0.图 2.9.3 积分运算图形绘制函数图像时还可以借助Matlab提供的专门绘制函数图象的指令flot(),格式如flot('函数名',[初值,终值]).2.10 用fminbnd求解函数在区间(1,10)上的最小值Fminbnd用于求某个给定函数的最小值点.使用方法:X=fminbnd(func,x1,x2)Func是函数句柄,x1和x2是函数区间,得到的成果是使func取最小值的x值.也可使用[x,fv]=fminbnd(func,x1,x2)的方式,这时fv就是函数的最小值.f=@(x) x1/x+5; %确定函数[x,fv]=fminbnd(f,1,10) %求区间1到10中函数的最小值x =????????fv????????????????题目总结本题主要在于fminbnd函数的使用方法,它有两种方式,一种是x??fminbnd funcx x??;另外一种是[xfv]??fminbnd funcx x??.运用时随便选哪类都可以.??在如图所示的电路中,已知,,,,求各支路电流、电压和电路的输入导纳,并画出电路的相量图.+ 2Z 2I由题意得,已知输入电压,要求各支路电流、电压和电路的输入导纳.则:先计算输入电阻.Z1*Z2/(Z1+Z2)=Z12, Zin=Z+Z12;所以:Yin=1/Zin=1;I=U/Zin;I1=I*Z2/Z12,I2=II1;U1=U*Z12/Zin;U0=Z*I;Z=1j*0.5;Z1=1+j*1;Z2=3j*1; %输入已知条件,U=8*exp(j*30*pi/180); %注意角度和弧度的转换Z12=Z1*Z2/(Z1+Z2);Zin=Z+Z12; %计算总阻抗Y=1/Zin; %计算总导纳I=U/Zin; %计算总电流I1=I*Z2/(Z1+Z2); %操纵分流原理计算I1I2=II1; %操纵KCL 计算I2U1 =Z12*I;U0=Z*I; %计算各电压disp(' U I I1 I2 U0 U1') %显示计算成果disp('幅值'),disp(abs([U,I,I1,I2,U0,U1])) %显示幅值disp('相角'),disp(angle([U,I,I1,I2,U0,U1])*180/pi) %显示相角subplot(1,2,1),hau=compass([U,U0,U1]); %绘制电压相量图 set(hau,'linewidth',2)subplot(1,2,2),hai=compass([I,I1,I2]); %绘制电流相量图set(hai,'linewidth',2)图2.10.3 运行数据成果已知电路中各元件的阻抗值,可通过串并联分析得出电路的总阻抗,进而可求电路的总导纳;然后通过分流、分压的关系可算各支路的电流、电压;用abs()函数显示复数的幅值,用angle()函数显示复数的相角;可操纵subplot()、compass()、set()等函数饬令将电压电流的向量图正确地显示在罗盘上.因而可以运用MATLAB这一工具来对电路停止分析、计算、作图等.3.课程设计的心得体会通过这次MA TLAB的课程设计,使我对MATLAB有了一个基础的懂得,matlab具有数值分析.矩阵计算.迷信数据可视化以及非线性动态系统的建模和仿真等诸多功能.随着社会的不竭发展,科技的不竭前进,计算机的普及,它也被应用在越来越多的方面.在学习MA TLAB的过程中,我们查找了很多资料,发现很多知识是我们从没有接触过的,我们其实不懂得,所以借此增长了自己的见识,懂得了更多关于它的应用.在学习MATLAB中需要尽可能多的熟悉matlab自带的函数及其作用,因为matlab的自带函数特别多,基本上可以知足一般的数据和矩阵的计算,所以基本上不必你自己编函数.这一点对程序非常有帮忙,可使程序简单,运行效率高,可以节俭很多时间.本次课设中用了很多MATLAB自带的函数,使程序变得很简单而有效.MATLAB的功能是非常强大的,MA TLAB不但有强大的运算功能,它还有强大的绘图功能.比方说它含有丰富的内建函数,例如数学函数中的三角函数、复函数、多项式函数、数据分析函数的求平均值、最大最小值、排序等,以及逻辑/选择函数如if-else等,还有用来摹拟随机发生事件的随机函数.Matlab 确实是一个很强大的工具,这在我们完成任务的时候逐步的认识到了,以后还有多加以操纵.在这一周时间里,我们团队相互协作,互相讨论,积极探索,完成了教师安插的任务,这期间培养了团队精力,独立思考的才能,也学习到了很多知识,是一段很有意义的时光.这次课设不但是一个任务,它不想仅让我们学会了使用 Matlab,还让我们有了一个自主学习与和他人交流的机会.而学会的东西都是对以后的专业学习很有帮忙的,相信在这个强大的工具下,让以后的专业学习会更轻松.相信这次课程设计对自己以后的学习和生活都有非常大的帮忙,会使自己终生受益.4. 参考文献[1]唐向宏,岳恒立,郑雪峰. Matlab及在电子信息类课程中的应用[M].北京:电子工业出版社,[2]张志涌.MA TLAB与仿真(a)[M].北京:北京航空航天大学出版社,[3]张琨. MATLAB 从入门到精晓[M].北京:电子工业出版社,[4]王忠礼,段慧达,高玉峰. MATLAB应用技术[M].北京:清华大学出版社,[5]John H.Mathews, Kurtis D.Fink著.周璐,陈渝,钱方译.数值方法(MATLAB版)(第四版)[M].北京:电子工业出版社,本科生课程设计成绩评定表指导教员签字:年代日。
Matlab运算与正弦稳态电路分析
课程设计任务书之五兆芳芳创作学生姓名:专业班级:指导教师:任务单位:课程设计名称:专业根本实践课程设计题目: Matlab运算与正弦稳态电路阐发初始条件:1.Matlab7.1以上版本软件;2.专业根本实践教导资料:“Matlab语言根本及使用入门”、“Matlab及在电子信息课程中的应用”、“线性代数”及“信号处理类”相关书籍等;3.先修课程:初等数学、线性代数、电路、Matlab应用实践及信号处理类根本课程等.要求完成的主要任务:(包含课程设计任务量及其技巧要求,以及说明书撰写等具体要求)1.实践内容:按照指导老师给定的7套题目,按规则选择其中1套独立完成;2.本专业根本实践统一技巧要求:研读教导资料对应章节,对选定的设计题目进行理论阐发,完成针对具体设计部分的原理阐发、建模、需要的推导和可行性阐发,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记实实验结果(含计较结果和图表等),并对实验结果进行阐发和总结.具体设计要求包含:①初步了解Matlab、熟悉Matlab界面、进行复杂操纵等;②Matlab的数值计较:创建矩阵、矩阵运算、多项式运算、线性方程组、数值统计等;③根本画图函数:了解plot, plot3, mesh, surf等,要求掌握以上画图函数的用法、复杂图形标注、复杂颜色设定等;④使用文本编辑器编辑m文件,会函数调用等;⑤能完成复杂电路的Matlab编程阐发;⑥按要求介入专业根本实践的实验演示和答辩等.3.课程设计说明书按学校“课程设计任务标准”中的“统一书写格局”撰写,具体包含:①目录;②与设计题目相关的理论阐发、归结和总结;③与设计内容相关的原理阐发、建模、推导、可行性阐发;④程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果阐发和总结;⑤课程设计的心得体会(至少500字);⑥参考文献(良多于5篇);⑦其它需要内容等.时间安插:1.0周(分离进行)指导教师签名:年月日系主任(或责任教师)签名:年月日目录1. MA TLAB简介 (1)2.具体题目阐发 (3)2.1试题1 (3)2.2试题2 (4)2.3试题3 (5)2.4试题4 (6)2.5试题5 (10)2.6试题6 (11)2.7试题7 (13)2.8试题8 (15)2.9试题9 (16)2.10试题10 (20)2.11试题11 (21)3.课程设计心得体会 (24)4.参考文献 (25)5.本科生课程设计成绩评表 (26)1. MA TLAB简介MATLAB的名称源自MatrixLaboratory,1984年由美国Mathworks公司推向市场.它是一种科学计较软件,专门以矩阵的形式处理数据.MA TLAB将高性能的数值计较和可视化集成在一起,并提供了大量的内置函数,从而被普遍的应用于科学计较、控制系统和信息处理等领域的阐发、仿真和设计任务.MATLAB软件包含五大通用功效,数值计较功效(Nemeric)、符号运算功效(Symbolic)、数据可视化功效(Graphic)、数字图形文字统一处理功效(Notebook)和建模仿真可视化功效(Simulink).其中,符号运算功效的实现是通过请求MAPLE内核计较并将结果前往到MATLAB命令窗口.该软件有三大特点,一是功效强大;二是界面友善、语言自然;三是开放性强.目前,Mathworks公司已推出30多个应用东西箱.MA TLAB 在线性代数、矩阵阐发、数值及优化、数值统计和随机信号阐发、电路与系统、系统动力学、图像处理、控制理论阐发和系统设计、进程控制、建模和仿真、通信系统以及财务金融等众多领域的理论研究和工程设计中得到了普遍应用.MATLAB的根本数据单位是矩阵,它的指令表达式与数学、工程中经常使用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件.在新的版本中也参加了对C,FORTRAN,C++ ,JA V A的支持.可以直接调用,用户也可以将自己编写的实用程序导入到MA TLAB函数库中便利自己以后调用,此外许多的MA TLAB 快乐喜爱者都编写了一些经典的程序,用户可以直接进行下载就可以用.MATLAB应用:MATLAB产品族可以用来进行以下各类任务:①数值阐发②数值和符号计较③工程与科学画图④控制系统的设计与仿真⑤数字图像处理⑥数字信号处理⑦通讯系统设计与仿真⑧财务与金融工程MATLAB的应用规模很是广,包含信号和图像处理、通讯、控制系统设计、测试和丈量、财务建模和阐发以及计较生物学等众多应用领域.附加的东西箱(单独提供的专用MATLAB函数集)扩展了MATLAB情况,以解决这些应用领域内特定类型的问题.2.具体题目设计、实现及阐发2.1 已知t=linspace(0,2*pi,6),求t的正弦和正弦的绝对值.这是利用matlab处理数值运算的题目.linspace(a,b,n)为线性联系函数,功效是将指定区间(a,b)按线性等分为n份.Matlab中求解正弦的函数为sin(),求取绝对值和单数模值的函数为abs().t=linspace(0,2*pi,6)%把区间(0,2*pi)分为6等份,并赋值给ta=sin(t)%求t的正弦值,赋给ab=abs(a)%求a的绝对值,即t的正弦的绝对值t =a =b =matlab中的pi与真正的有差距,并且数字与因式相乘要使用乘法符号‘*'.通过这个计较,我了解到matlab有处理数据计较的功效.2.2绘制余弦曲线y=cos(x)和指数函数y=x^2曲线.本题是画函数的曲线图,可以利用plot,ezplot等命令进行画图.由于plot要设置自变量的规模,而ezplot不需要设置,所以本题采取ezplot进行画图.syms x; %声明变量xy1=cos(x);%将cos(x)赋值给y1y2=x^2; % 将x^2赋值给y2ezplot(y1); %画函数y1的图形hold on %保持图形ezplot(y2) %画函数y2的图形图2.2.3余弦曲线y=cos(x)和指数函数y=x^2曲线ezplot不需要自变量的规模也可作图,可以便利简练地绘制出一元函数图像,要使用hold on 命令才干将两图绘到同一图上.2.3利用for ... end循环语句,求2+4+6…+100 的值.for语句作用是循环步调重复执行某语句段, 其语法是:for循环控制变量=存储着该变量依次所取值的一个向量.循环语句块: 本块重复执行的次数由上标的目的量的长度决定, 每次执行时, 循环控制变量依次取该向量中的值.sum=0; %赋sum初值为0for i=2:2:100%变量i变更规模为2到100,以2步进sum=sum + i; %累加求和end %结束for循环sumsum =2550for 循环语句使用一个向量来控制循环, 循环次数由向量的长度来决定, 而每次循环都依次从向量中取值.当次循环中改动循环变量赋值, 不会代入下次循环, 所以除非在其中用break提前退出, Matlab循环的次数是预先定好的.累加求和时,i的大小呈递增累加.2.4阐发下面每条指令的功效并运行,不雅察执行结果.(1) X=0:0.25:3;Y=X.*exp(X);plot(X,Y),xlabel(‘x’),ylabe l(‘y’),title(‘y=x*exp(x)’);(2)A=zeros(3,5)A(:)=4:10L=abs(A)>4islogical(L)X=A(L)(3)A=[1:5;6:10]pow2(A)(4)A=zeros(3,2)A(:)=1:6A=A*(1+i)A1=A.’;B1=A’;A=ones(2,3)B=ones(2)C=eye(4)D=diag(C)E=repmat(C,1,3)Y=X.*exp(X); %函数y=的表达式plot(X,Y),xl abel(‘x’),ylabel(‘y’),title(‘y=x*exp(x)’); %绘制y=的图线,横坐标为x,纵坐标为y,题目为y=x*exp(x)(2)A=zeros(3,5) %创建一个3*5的零矩阵AA(:)=4:10 %为矩阵A赋值,4到10,步进为1L=abs(A)>4 %判断矩阵A中元素的绝对值是否大于4islogical(L) %判断L是否为逻辑值X=A(L) %X为逻辑数组L对应为1的位置的数据为列向量(3) A=[1:5;6:10] %创建一个2*5的矩阵A,规模为1到10,步进为1pow2(A) %前往数组X,依次计较A中元素以2为底的幂(4)A=zeros(3,2) %创建一个3*2的零矩阵A(:)=1:6 %为矩阵A赋值,规模为1到6,步进为1A=A*(1+i) %将矩阵A中的每一个元素乘以(1+i)A1=A.' %对A进行数组转置生成矩阵A1B1=A' %对A进行矩阵转置生成矩阵B1(5)A=ones(2,3) %创建一个2*3的1矩阵AB=ones(2) %创建一个2*2的1矩阵BC=eye(4) %创建一个4*4的单位矩阵CD=diag(C) %获得单位矩阵C的对角线元素矩阵DE=repmat(C,1,3) %将矩阵C生成为1*3的新矩阵E程序运行结果一y=曲线程序运行结果二A =0 0 0 0 00 0 0 0 00 0 0 0 0A =4 1 25 83 0 3 6 92 1 4 7 10L =0 0 0 1 10 0 0 1 10 0 0 1 1ans =1X =5678910程序运行结果三A=[1:5;6:10]pow2(A)A =1 2 3 4 56 7 8 9 10ans =2 4 8 16 3264 128 256 512 1024程序运行结果四图2.4.2 程序(4)运行结果A =1 1 11 1 1B =1 11 1C =1 0 0 00 1 0 00 0 1 00 0 0 1D =1111E =1 0 0 0 1 0 0 0 1 0 0 00 1 0 0 0 1 0 0 0 1 0 00 0 1 0 0 0 1 0 0 0 1 00 0 0 1 0 0 0 1 0 0 0 1实数矩阵的矩阵转置和数组矩阵计较结果是一样的,但是单数矩阵的数组转置和矩阵转置的计较结果不一致.所以,数组转置运算也被称为非共轭转置,矩阵转置运算则被称为共轭矩阵.数组的运算是指数组对应元素之间的运算,也称点运算.2.5计较多项式p(x)= x3+15x2+8x在x=3和x=0:1:8时的值.由题目已知这里运用到的是polyval()命令,通过polyval()命令可以快速的计较出在相应值下的多项式的值.当x=3时;x=3; %赋初值3给xy=x^3+15*x^2+8*x %写出函数表达式当x=0:1:8时;syms x; %声明变量xy=x^3+15*x^2+8*x; %写出函数表达式x=0:1:8; %生成一个0到8的数组,每相邻两数间距为1p=[1 15 8]; %将函数表达式的系数放在数组P中polyval(p,x) %用polyval函数求得表达式的值当x=3时;y =186当x=0:1:8时;ans =8 24 42 62 84 108 134 162 192ployval()是Matlab中的多项式求值函数.在表达多项式系数中要把缺少的自变量系数0弥补到系数矩阵中.2.6随机生成一个10000×3的矩阵,并绘制其柱状图随机生成矩阵函数可以用rand(M,N),暗示随机产生一个M*N的矩阵.柱状画图函数可以用bar.此函数是在平面内绘制柱状图,如果要绘制立体的,用bar3.arry=rand(10000,3); %随机生成一个10000*3的矩阵bar(arry); %利用bar函数画出柱状图??????题目总结可以用bar函数绘制平面内柱状图.??利用switch…case编写以下程序:某商场对顾客所采办的商品实行打折销售,尺度如下商品价钱用price来暗示??:??????price????????????????????????????无折扣??????price??????????????????????%折扣????????price????????????????%折扣????????Price1000 15%折扣输入所售商品的价钱,求其实际销售价钱.MATLAB语言为解决多分支判断选择提供了switchcase语句.Switchcase语句的一般表达式为:switch (选择要判断的量)case 选择判断值1选择判断语句1case 选择判断值2选择判断语句2……otherwise判断执行语句price =input();%输入商品价钱switchfix(price/100) %价钱除以100以后取整case {0,1}price=price*1; %价钱没有折扣 case {2,3,4}price=price*0.95; %价钱有5%的折扣case {5,6,7,8,9}price=price*0.9; %价钱有10%的折扣case othersprice=price*0.85; %价钱有15%的折扣end>> price =822;>> switch fix(price/100)case {0,1}price=price*1;case {2,3,4}price=price*0.95;case {5,6,7,8,9}price=price*0.9;case othersprice=price*0.85;end>> priceprice =在MATLAB语言中,当switchcase语句中一个case语句后的条件为真时,switchcase语句不合错误其后的case语句进行判断,也就是说在MATLAB语言中,即便有多条case判断语句为真,也只执行所遇到的第一条为真的语句.这样就不必像C语言那样,在每条case语句后加上break语句以避免持续执行前面为真的case条件语句.进行部分分式展开由数学知识可知可利用下列计较模型syms x,x=0;syms s;while x<20switch xcase 0k1=10*(x+3)/((x6)*(x16));x=6;case 6k2=10*(x+3)/(x*(x16));x=16;case 16k3=10*(x+3)/(x*(x6));x=20;endendy=k1/s+k2/(s6)+k3/(s16);yy =19/(16*(s 16)) 3/(2*(s 6)) + 5/(16*s)即多项式的可展开为:本题主要在于数学运算模型成立和计较表达式的书写,利用while...end语句对其进行三次循环条件判断并计较三个常数,通过switch...语句辨别给出三个常数的计较方法,最后再将计较出的三格常数带入到中便可.,其中t的规模是[0 10],计较y的微分和积分并给出曲线图已知函数方程和自变量t的变更规模,对于积分,可以利用函数quad()对确定自变量变更规模进行计较,格局如quad('函数名',初值,终值)所示.对于微分,可以利用函数diff()对确定自变量变更规模进行计较.函数图象可用funtool指令得到.yt='exp(1)*cos(t)' %写出函数表达式Ic=quad(yt,0,10,1e8) %用quad函数求积分Funtool %进行画图在Figure3框中f=处输入exp(1)sin(t)在x= 处填入[0,10]syms t yy=exp(1)*cos(t)%写出函数表达式Id=diff(y,t) %用diff函数求解微分funtool%进行画图在Figure3框中f=处输入exp(1)sin(t)在x= 处填入[0,10]Ic =0.图 2.9.3 积分运算图形绘制函数图像时还可以借助Matlab提供的专门绘制函数图象的指令flot(),格局如flot('函数名',[初值,终值]).2.10 用fminbnd求解函数在区间(1,10)上的最小值Fminbnd用于求某个给定函数的最小值点.使用办法:X=fminbnd(func,x1,x2)Func是函数句柄,x1和x2是函数区间,得到的结果是使func取最小值的x值.也可使用[x,fv]=fminbnd(func,x1,x2)的方法,这时fv就是函数的最小值.f=@(x) x1/x+5; %确定函数[x,fv]=fminbnd(f,1,10) %求区间1到10中函数的最小值x =????????fv????????????????题目总结本题主要在于fminbnd函数的使用办法,它有两种方法,一种是x??fminbnd funcx x??;另一种是[xfv]??fminbnd funcx x??.运用时随便选哪种都可以.??在如图所示的电路中,已知,,,,求各支路电流、电压和电路的输入导纳,并画出电路的相量图.+ 2Z 2I由题意得,已知输入电压,要求各支路电流、电压和电路的输入导纳.则:先计较输入电阻.Z1*Z2/(Z1+Z2)=Z12, Zin=Z+Z12;所以:Yin=1/Zin=1;I=U/Zin;I1=I*Z2/Z12,I2=II1;U1=U*Z12/Zin;U0=Z*I;Z=1j*0.5;Z1=1+j*1;Z2=3j*1; %输入已知条件,U=8*exp(j*30*pi/180); %注意角度和弧度的转换Z12=Z1*Z2/(Z1+Z2);Zin=Z+Z12; %计较总阻抗Y=1/Zin; %计较总导纳I=U/Zin; %计较总电流I1=I*Z2/(Z1+Z2); %利用分流原理计较I1I2=II1; %利用KCL 计较I2U1 =Z12*I;U0=Z*I; %计较各电压disp(' U I I1 I2 U0 U1') %显示计较结果disp('幅值'),disp(abs([U,I,I1,I2,U0,U1])) %显示幅值disp('相角'),disp(angle([U,I,I1,I2,U0,U1])*180/pi) %显示相角subplot(1,2,1),hau=compass([U,U0,U1]); %绘制电压相量图 set(hau,'linewidth',2)subplot(1,2,2),hai=compass([I,I1,I2]); %绘制电流相量图set(hai,'linewidth',2)图2.10.3 运行数据结果已知电路中各元件的阻抗值,可通过串并联阐发得出电路的总阻抗,进而可求电路的总导纳;然后通过度流、分压的关系可算各支路的电流、电压;用abs()函数显示单数的幅值,用angle()函数显示单数的相角;可利用subplot()、compass()、set()等函数命令将电压电流的向量图正确地显示在罗盘上.因而可以运用MATLAB这一东西来对电路进行阐发、计较、作图等.3.课程设计的心得体会通过这次MA TLAB的课程设计,使我对MATLAB有了一个根本的理解,matlab具有数值阐发.矩阵计较.科学数据可视化以及非线性动态系统的建模和仿真等诸多功效.随着社会的不竭成长,科技的不竭进步,计较机的普及,它也被应用在越来越多的方面.在学习MA TLAB的进程中,我们查找了良多资料,发明良多知识是我们从没有接触过的,我们其实不了解,所以借此增长了自己的见识,了解了更多关于它的应用.在学习MATLAB中需要尽量多的熟悉matlab自带的函数及其作用,因为matlab的自带函数特别多,根本上能够满足一般的数据和矩阵的计较,所以根本上不必你自己编函数.这一点对程序很是有帮忙,可以使程序复杂,运行效率高,可以节省良多时间.本次课设中用了良多MATLAB自带的函数,使程序变得很复杂而有效.MATLAB的功效是很是强大的,MA TLAB不但有强大的运算功效,它还有强大的画图功效.比方说它含有丰厚的内建函数,例如数学函数中的三角函数、复函数、多项式函数、数据阐发函数的求平均值、最大最小值、排序等,以及逻辑/选择函数如if-else等,还有用来模拟随机产生事件的随机函数.Matlab 确实是一个很强大的东西,这在我们完成任务的时候逐步的认识到了,以后还有多加以利用.在这一周时间里,我们团队相互协作,相互讨论,积极探索,完成了老师安插的任务,这期间培养了团队精神,独立思考的能力,也学习到了良多知识,是一段很有意义的时光.这次课设不但是一个任务,它不想仅让我们学会了使用 Matlab,还让我们有了一个自主学习与和他人交换的机遇.而学会的东西都是对以后的专业学习很有帮忙的,相信在这个强大的东西下,让以后的专业学习会更轻松.相信这次课程设计对自己以后的学习和生活都有很是大的帮忙,会使自己终生受益.4. 参考文献[1]唐向宏,岳恒立,郑雪峰. Matlab及在电子信息类课程中的应用[M].北京:电子产业出版社,[2]张志涌.MA TLAB与仿真(a)[M].北京:北京航空航天大学出版社,[3]张琨. MATLAB 从入门到精通[M].北京:电子产业出版社,[4]王忠礼,段慧达,高玉峰. MATLAB应用技巧[M].北京:清华大学出版社,[5]John H.Mathews, Kurtis D.Fink著.周璐,陈渝,钱方译.数值办法(MATLAB版)(第四版)[M].北京:电子产业出版社,本科生课程设计成绩评定表指导教师签字:年月日。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录第一章:绪论 (1)1.1 课题目的及意义 (1)1.2 课题的社会和技术背景 (2)1.3实现的具体功能 (2)第二章:课题基本概念和原理 (4)2.1基本概念 (4)2.2基本原理 (4)2.2.1利用KCL,KVL求解 (4)2.2.2支路电流法 (5)2.2.3网孔电流法 (6)第三章:系统设计和实现 (8)3.1采用软件及开发平台 (8)3.2系统详细设计 (9)3.2.1例1. 简单的正弦稳态电路 (9)3.2.2例2.用支路电流法和节点电压法求解电路 (10)3.2.3例3.用网孔电流法求解电路 (12)3.2.4例4.正弦稳态电路:仪表读数问题 (13)3.2.5主要技术问题与解决方法 (14)3.3系统设计的亮点与创新点 (15)第四章:结束语 (16)第五章:参考文献 (18)第六章:附录 (19)3.2.2用支路电流法和节点电压法求解电路源代码 (19)3.2.3用网孔电流法求解电路源代码 (20)3.2.4正弦稳态电路:仪表读数问题源代码 (20)第一章:绪论1.1 课题目的及意义目的:了解MATLAB在现代科学研究的地位,了解区别与面向过程的计算机语言和面向问题的计算机语言。
了解MATLAB解决复杂科学问题的高效率和覆盖面广泛的优势.要求能够利用MATLAB的帮助系统进行知识点的搜索,这是掌握科学计算软件的最基本最有效的方法。
MATLAB计算的对象是数据,不同的问题的数据有不同的数据结构。
MATLAB提供了具有复杂数据结构的数组,用于解决不同的实际问题。
本章系统介绍数据数组、字符数组、元胞数组和构架数组,这些数组的创建、数组元素的定位、数组的合并和扩充、数组的操作等等。
MATLAB图形是一系列图形元素组成的构架数组,对给定的数据能够熟练的作图,并能对图形进行各种修饰,了解立体图形的颜色对应颜色矩阵,了解立体图形的视角、光线、材质等立体图形的修饰命令。
了解并能绘制特殊图形的方法,如统计图形等。
掌握各类数学模型的基本数值计算问题,内容覆盖数学学科的大部分分支,掌握基本的数学模型的数值求解方法和MATLAB命令。
意义:MATLAB是矩阵实验室(Matrix Laboratory)之意。
除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多。
当前流行的MATLAB 5.3/Simulink 3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。
开放性使MATLAB广受用户欢迎.除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。
重点解决问题:MATLAB的基本使用方法,MATLAB的预定义函数,如何用MATLAB绘图,如何在MATLAB中编程,基于MATLAB的矩阵运算、符号运算、数值分析等。
1.2 课题的社会和技术背景在70年代中期,Cleve Moler博士和其同事在美国国家科学基金的资助下开发了调用EISPACK和LINPACK的FORTRAN子程序库.EISPACK是特征值求解的FOETRAN程序库,LINPACK是解线性方程的程序库.在当时,这两个程序库代表矩阵运算的最高水平。
到70年代后期,身为美国New Mexico大学计算机系系主任的Cleve Moler,在给学生讲授线性代数课程时,想教学生使用EISPACK和LINPACK程序库,但他发现学生用FORTRAN编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生编写EISPACK和LINPACK的接口程序。
Cleve Moler给这个接口程序取名为MATLAB,该名为矩阵(matrix)和实验室(labotatory)两个英文单词的前三个字母的组合。
在以后的数年里,MATLAB在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传。
1983年春天,Cleve Moler 到Standford大学讲学,MATLAB深深地吸引了工程师John Little.John Little敏锐地觉察到MATLAB在工程领域的广阔前景。
同年,他和Cleve Moler,Steve Bangert一起,用C 语言开发了第二代专业版.这一代的MATLAB语言同时具备了数值计算和数据图示化的功能。
1984年,Cleve Moler和John Little成立了Math Works公司,正式把MATLAB推向市场,并继续进行MATLAB的研究和开发。
在MATLAB进入市场前,国际上的许多软件包都是直接以FORTRANC语言等编程语言开发的。
这种软件的缺点是使用面窄,接口简陋,程序结构不开放以及没有标准的基库,很难适应各学科的最新发展,因而很难推广。
MATLAB 的出现,为各国科学家开发学科软件提供了新的基础。
在MATLAB问世不久的80年代中期,原先控制领域里的一些软件包纷纷被淘汰或在MATLAB上重建。
时至今日,经过MathWorks 公司的不断完善,MATLAB已经发展成为适合多学科,多种工作平台的功能强大大大型软件。
在国外,MATLAB已经经受了多年考验。
在欧美等高校,MATLAB已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生,硕士生,博士生必须掌握的基本技能。
在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题。
在国内,特别是工程界,MATLAB一定会盛行起来。
可以说,无论你从事工程方面的哪个学科,都能在MATLAB里找到合适的功能。
1.3实现的具体功能MA TLAB实现了全新的开发环境;在命令窗口增加了错误跟踪功能;提供了许多新的数值处理功能;在图形窗口增加了曲线拟合、数据统计等交互工具;引入了类与对象及函数句柄等概念;改进了编辑/调试器的界面及功能; 属性编辑器功能更强,使用更方便;建立了一个与以前完全不同的图形用户界面(GUI)图形窗口;增加了虚拟现实工具箱;在应用程序接口方面增加了与Java的接口,并为二者的数据交换提供了相应的程序库。
本实验主要实现了正弦稳态电路的研究,解决了正弦稳态电路的实例分析与计算。
第二章:课题基本概念和原理2.1基本概念MATLAB和Mathemat、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB 来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用MATLAB 函数集)扩展了 MATL AB 环境,以解决这些应用领域内特定类型的问题。
本实验主要是应用MATLAB解决正弦稳态电路的问题,主要用的研究方法是戴维宁定理,叠加法,节点电压法,网孔电流法。
2.2基本原理基本原理就是应用电路所学方法应用到MATLAB中,去利用MATLAB软件解决实际问题。
下面主要详细介绍一下支路电流法,回路电流法和节点电位法,另外简单介绍一下戴维宁定理和诺顿定理。
2.2.1利用KCL,KVL求解KCL:在集总电路中,任何时刻,对任一结点,所有流出结点的支路电流的代数和恒等于零。
KVL:在集总电路中,任何时刻,沿任一回路,所有支路电压的代数和恒等于零。
2.2.2支路电流法例2.2.1.1电路中, ,,,,,,求各支路电流并画相量图。
图2.2.1.1解:用支路电流法列出方程组:代入数值得:=0.4440 - 2.8080i=-1.8720 + 3.7040i=-0.5720 - 0.8960i=-0.4840 - 1.9120i=1.9120 + 1.0160i2.2.3网孔电流法例2.2.2.1所示,其中,,,,,,,求、、,和。
图2.2.2.1解:列出方程组:从图1-2可以看出,、、为网孔电流,使用网孔电流法,电路方程为:其矩阵形式为其中,;。
第三章:系统设计和实现3.1采用软件及开发平台该系统设计采用的是MATLAB数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB由一系列工具组成。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。
包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。
随着MATLAB 的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
MATLAB一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。