matlab课设套题8.docx
《matlab课设套题8.docx》由会员分享,可在线阅读,更多相关《matlab课设套题8.docx(27页珍藏版)》请在冰豆网上搜索。
![matlab课设套题8.docx](https://file1.bdocx.com/fileroot1/2023-8/13/7bcfdca6-e80b-4646-afe2-06ef02c4920c/7bcfdca6-e80b-4646-afe2-06ef02c4920c1.gif)
matlab课设套题8
Matlab应用课程设计任务书
学生姓名:
____陈宸____专业班级:
电信1103班
指导教师:
桂林工作单位:
信息工程学院
题目:
Matlab应用第8套综合题
初始条件:
(1)提供实验室机房及其Matlab6.5以上版本软件;
(2)《MATLAB教程》学习。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求):
(1)选择一本《MATLAB教程》,认真学习该教程的全部内容,包括基本使用方法、数组运算、矩阵运算、数学运算、程序设计、符号计算、图形绘制、GUI设计等内容;
(2)对该套综合题的10道题,进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表)。
(3)对实验结果进行分析和总结;
(4)要求阅读相关参考文献不少于5篇;
(5)根据课程设计有关规范,按时、独立完成课程设计说明书。
时间安排:
(1)布置课程设计任务,查阅资料,学习《MATLAB教程》十周;
(2)进行编程设计一周;
(3)完成课程设计报告书一周;
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
目录
1摘要...............................................................................................................2
2MATLAB概述................................................................................3
2.1MATLAB简介..................................................................................3
2.2MATLAB的功能...............................................................................3
2.3MATLAB的典型应用.........................................................................5
3设计题目:
MATLAB运算与应用设计套题八.................................5
4设计内容...............................................................................................7
4.1题一.....................................................................................................................7
4.2题二.....................................................................................................................7
4.3题三.....................................................................................................................9
4.4题四.....................................................................................................................10
4.5题五...................................................................................................................16
4.6题六...................................................................................................................17
4.7题七....................................................................................................................................18
4.8题八....................................................................................................................................20
4.9题九....................................................................................................................................22
4.10题十....................................................................................................................23
5课程设计心得....................................................................................25
6参考文献............................................................................................26
7本科生课程设计成绩评定表............................................................27
摘要
中国的电力工业作为国家最重要的能源工业,一直处于优先发展的地位,电力企业的发展也是令人瞩目的。
电力系统的飞速发展对继电保护不断提出新的要求,也使得继电保护得以飞速的发展。
三段式电流保护是继电保护中一种重要的保护形式。
本文在详细研究了三段式保护的各种元件与接线方式,按照整定计算原则推导了三段式保护的动作值、灵敏度及时限整定公式等,并运用数学工具软件MATLAB进行编程,模拟了35kV单端电源供电网络的三段式电流保护的整定计算,最后利用MATLAB软件的Simulink技术进行波形仿真。
Simulink仿真结果表明,本文所研究的三段式电流保护是一种比较理想的线路保护。
它能够使各段保护相互配合,以使保护性能达到最优。
关键词:
继电保护三段式电流保护整定计算MATLABsimulink仿真
2MATLAB概述
2.1MATLAB简介
MATLAB软件由美国MathWorks公司于1984年推出,经过不断的发展和完善,如今己成为覆盖多个学科的国际公认的最优秀的数值计算仿真软件。
MATLAB具备强大的数值计算能力,许多复杂的计算问题只需短短几行代码就可在MATLAB中实现。
作为一个跨平台的软件,MATLAB已推出Unix、Windows、Linux和Mac等十多种操作系统下的版本,大大方便了在不同操作系统平台下的研究工作。
MATLAB软件具有很强的开放性和适应性。
在保持内核不变的情况下,MATLAB可以针对不同的应用学科推出相应的工具箱(toolbox),目前己经推出了图象处理工具箱、信号处理工具箱、小波工具箱、神经网络工具箱以及通信工具箱等多个学科的专用工具箱,极大地方便了不同学科的研究工作。
国内已有越来越多的科研和技术人员认识到MATLAB的强大作用,并在不同的领域内使用MATLAB来快速实现科研构想和提高工作效率。
MATLAB提供了20类图像处理函数,涵盖了图像处理的包括近期研究成果在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。
这些函数按其功能可分为:
图像显示;图像文件I/O;图像算术运算;几何变换;图像登记;像素值与统计;图像分析;图像增强;线性滤波;线性二元滤波设计;图像去模糊;图像变换;邻域与块处理;灰度与二值图像的形态学运算;结构元素创建与处理;基于边缘的处理;色彩映射表操作;色彩空间变换;图像类型与类型转换。
2.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的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。
工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。
(5)应用软件开发(包括用户界面)
在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。
2.3MATLAB的典型应用
MATLAB的应用领域十分广阔,典型的应用举例如下:
(1)数据分析
(2)数值与符号计算;
(3)工程与科学绘图;
(4)控制系统设计;
(5)航天工业;
(6)汽车工业;
(7)生物医学工程;
(8)语音处理;
(9)图像与数字信号处理;
(10)财务、金融分析;
(11)建模、仿真及样机开发;
(12)新算法研究开发;
(13)图形用户界面设计。
3设计题目:
第8套题:
Matlab应用课程设计8
1.求[100,200]之间第一个能被19整除的整数。
2.绘制对数曲线y=log(x)和指数函数y=x^2曲线。
3.因式分解
。
4.分析下面每条指令的功能并运行,观察执行结果。
(1)X=0:
0.5:
6;
Y=X.*exp(-X);
plot(X,Y),xlabel(‘x’),ylabel(‘y’),title(‘y=x*exp(-x)’);
(2)A=zeros(1,10)
A(:
)=-4:
5
L=abs(A)>3
islogical(L)
X=A(L)
(3)A=[2:
6;7:
11]
pow2(A)
(4)A=zeros(3,4)
A(:
)=1:
12
A=A*(1+i)
A1=A.’
B1=A’
(5)A=ones(2,3)
B=ones(3)
C=magic(4)
D=diag(C)
E=repmat(C,1,3)
5.利用while…end循环结构编程求出1+3+5…+151的值。
6.求解线性方程组
。
7.编写程序计算
的值,其中
的值为-5到10之间,以0.5为步长,通过循环语句实现。
8.利用函数调用编写函数文件,求半径r分别为0.3与15时圆的面积与周长。
9.求如下函数的解,并绘制图形:
,初始点为
。
10.编写程序,实现功能为:
创建图形窗口,并且设置其默认背景为绿色,默认线宽为5个象素,在该窗口中绘制椭圆
的图像,其中的
和
任选。
4设计内容
4.1题一
1.求[100,200]之间第一个能被19整除的整数。
分析:
本题需要用到循环结构和选择结构相结合,
我们可以直接在Commandwindow命令行输入程序,运行即可,如下:
>>forn=100:
200
ifrem(n,19)~=0
continue
end
break
end
n
n=
114
4.2题二
2.绘制对数曲线y=log(x)和指数函数y=x^2曲线。
分析:
这道题目需要我们绘制曲线,查书可知使用plot函数可以在Matlab中画出二维图形。
在MATLAB中常用的二维图形绘制及相关操作如下所示。
(1)二维图形绘制plot函数
格式:
plot(x,y)
功能:
输入两个数组的情况。
绘出以x数组中的元素作为横坐标,y数组中的元素作为纵坐标的曲线。
还可以使用plot(x,[y1,y2,….])的命令格式,以x为向量(即横轴),以y=[y1,y2,…]为数据矩阵,且其中的y1,y2,……为横向量还是列向量都可以得出多条基于相同横轴的曲(折)线。
y的个数即为曲线的条数。
此命令可以在同一张图中绘制多条曲线。
(2)subplot函数
格式:
subplot(m,n,p)
功能:
将图形窗口分成n×m个子图形窗口,并选择第p个窗口作为当前的图形窗口,供绘制函数图形使用。
(3)添加图形标题吗命令title
格式:
title(’string’)
功能:
在当前坐标系的顶部加一个文本串string,作为该图形的标题。
(4)添加坐标轴标志函数xlabel,ylable,zlable
格式:
xlabel(‘text’)或ylable(‘text’)或zlable(‘text’)
功能:
给当前的X轴或Y轴或Z轴标注文本标注
(5)图形标注函数legend
格式:
legend(string1,string2,string3,…)
功能:
在当前图中添加图例
(6)文本注释函数text
格式:
text(X,Y,’string’)
功能:
二维图形(X,Y)位置处标注文本注释’string’
根据这些函数的作用,我们可以选择plot函数。
程序运行代码如下图:
图4.2-1
程序运行结果如图3.2-2所示
图4.2-2
4.3题三
3.因式分解
。
本题需用到factor函数,直接调用如下图:
图4.3-1
4.4题四
4.分析下面每条指令的功能并运行,观察执行结果。
(1)X=0:
0.5:
6;
Y=X.*exp(-X);
plot(X,Y),xlabel(‘x’),ylabel(‘y’),title(‘y=x*exp(-x)’);
(2)A=zeros(1,10)
A(:
)=-4:
5
L=abs(A)>3
islogical(L)
X=A(L)
(3)A=[2:
6;7:
11]
pow2(A)
(4)A=zeros(3,4)
A(:
)=1:
12
A=A*(1+i)
A1=A.’
B1=A’
(5)A=ones(2,3)
B=ones(3)
C=magic(4)
D=diag(C)
E=repmat(C,1,3)
分析:
(1)此题中需要用到绘制二维图形的基本函数polt,常用形式为plot(x,y1,x,y2)。
并用title(‘y=x*exp(-x)’)为他加上图形标题;以及用xlabel(‘x’)为他加上x轴说明;和用ylabel(‘y’)为他加上y轴说明。
执行结果:
如图4-4-1
图4.4-1图
(2)
1)分析:
先用函数产生一个1行10列的零矩阵,然后给A从-4到5(步长为1)赋值,并判断其绝对值是否大于4,若是值为1,否则为0。
后面为判断L是否为逻辑数组,若是值为1,否则为0。
X为逻辑数组L对应为1的位置的数据是列向量。
2)执行结果如下:
>>A=zeros(1,10)
A=
0000000000
>>A(:
)=-4:
5
A=
-4-3-2-1012345
>>L=abs(A)>3
L=
1000000011
>>islogical(L)
ans=
1
>>X=A(L)
X=
-445
(3)
(1)1)A=zeros(3,4)
A(:
)=1:
12
A=A*(1+i)
A1=A.’
B1=A’
2)程序运行结果如下:
>>A=zeros(3,4)
A=
0000
0000
0000
>>A(:
)=1:
12
A=
14710
25811
36912
>>A=A*(1+i)
A=
1.0000+1.0000i4.0000+4.0000i7.0000+7.0000i10.0000+10.0000i
2.0000+2.0000i5.0000+5.0000i8.0000+8.0000i11.0000+11.0000i
3.0000+3.0000i6.0000+6.0000i9.0000+9.0000i12.0000+12.0000i
>>A1=A.'
A1=
1.0000+1.0000i2.0000+2.0000i3.0000+3.0000i
4.0000+4.0000i5.0000+5.0000i6.0000+6.0000i
7.0000+7.0000i8.0000+8.0000i9.0000+9.0000i
10.0000+10.0000i11.0000+11.0000i12.0000+12.0000i
>>B1=A'
B1=
1.0000-1.0000i2.0000-2.0000i3.0000-3.0000i
4.0000-4.0000i5.0000-5.0000i6.0000-6.0000i
7.0000-7.0000i8.0000-8.0000i9.0000-9.0000i
10.0000-10.0000i11.0000-11.0000i12.0000-12.0000i
图3.4-3
(4)
1)pow2为以2为底的幂函数,将A中的每个元素看做2的幂分别计算
2)程序运行结果如下:
>>A=[2:
6;7:
11]
A=
23456
7891011
>>pow2(A)
ans=
48163264
12825651210242048
(5)
(1)1)A=ones(2,3)
B=ones(3)
C=magic(4)
D=diag(C)
E=repmat(C,1,3)
2)程序的运行结果如图下:
>>A=ones(2,3)
A=
111
111
>>B=ones(3)
B=
111
111
111
>>C=magic(4)
C=
162313
511108
97612
414151
>>D=diag(C)
D=
16
11
6
1
>>E=repmat(C,1,3)
E=
162313162313162313
511108511108511108
976129761297612
414151414151414151
4.5题五
5.利用while…end循环结构编程求出1+3+5…+151的值。
分析:
MATLABWhile循环
与For循环以固定次数求一组命令的值相反,While循环以不定的次数求一组语句的值。
While循环的一般形式是:
whileexpression
{commands}
end
只要在表达式里的所有元素为真,就执行while和end语句之间的{commands}。
通常,表达式的求值给出一个标量值,但数组值也同样有效。
在数组情况下,所得到数组的所有元素必须都为真。
其程序代码及运行结果如下:
>>sum=0
sum=
0
>>n=1
n=
1
>>whilen<=151;
sum=sum+n;
n=n+2;
end
>>sum
sum=
5776
4.6题六
求解线性方程组
。
分析:
首先写出该线性方程组的系数矩阵,再用inv函数求出其逆