MATLAB课程设计报告
Matlab课程设计报告
至诚学院《 MATLAB 实践》课程设计学生姓名:学号:专业班级:(2)指导教师:二○一四年四月三十日目录1.设计目的 (3)2.题目分析 (3)3.总体设计 (3)4.具体设计 (4)5.小结和心得 (15)1、设计目的:使用MATLAB的GUI程序设计学生成绩管理系统。
完成需学生成绩的基本管理,包含对学生成绩的读入、修改、添加和查询等基本的功能。
本课题主要解决对学生成绩总体的客观评价,通过一系列数据的分析比较,例如平均值,成绩分布等整体数据的处理,以及matlab和excel在数据联动功能方面的应用,所绘制的直方图、正态分布图等图像信息使得分析成绩系统更直观、有效地反映学生此课程这一阶段的表现,进而研究今后的教学重点,以及从教学到考试等一连串过程中的薄弱环节,从而达到教学相长的目的。
不论是对学生的整体学习情况还是单独考虑每个学生的学习情况都能够进行较好的评价。
面比起单纯的"绝对分数"评价学生的学习状况,忽略了基础条件的差异,我们运用了各种方法和模型来去避免这类现象的发生,动态的分析每个学生的情况,并从定性和定量两方面分别给出了数值与建议。
2、题目分析根据课题的要求,分析成绩管理系统的现实需求,我们可以概括为设计的程序应该包含的几个基本模块及应该完成的功能如下:1.文件管理:完成成绩表格的导入(.xls文件),完成对修改后的成绩文件的保存。
2.成绩管理:完成对学生成绩、学号、成绩、总分的显示和修改,还有添加新的学生的信息。
3.查询管理:完成对姓名或者学号的查询的显示和删除,学生的信息显示在成绩管理里面的显示框里面。
4.在学生的姓名显示框点击学生姓名,成绩管理系统里面自动获取学生的基本信息。
5.统计出学生的最高分和最低分以及各科成绩的平均分情况。
6.通过各科成绩的统计分布直方图,直观地分析学生的各科的成绩状况。
3、总体设计围绕设计的题目范围,我们可以将起绘制成功能模块的总体模块图如下图1。
Matlab课程设计报告
《MATLAB》课程设计报告设计课题:MATLAB综合实验学生姓名:学生学号:专业班级:指导教师:一、课程设计的目的及其意义了解matlab的窗口工具栏的使用以及作用、让matlab成为我们的日常好帮手,并为将来使用matlab进行信号处理领域的各种分析和实际应用打下基础。
二、课程设计原理matlab软件包有五大功能:数值计算功能、符号运算功能、数据化可视功能、数据图形文字统一处理功能和建模仿真可视化功能。
matlab在信号与系统中的主要功能是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、信号的S域分析和零极点图绘制等内容。
三、课程设计要求使用帮助功能,绘制出sinc和三角波的波形。
四、课程设计过程1、函数代码Sinc波的函数代码及图像t=—pi:0。
001:pi; x=sinc(t);plot(t,x);xlabel('t’),ylabel(’sinc(t);');三角波的函数代码及图像t=-2*pi:0。
001:2*pi;y=sawtooth(t);plot(t,y);xlabel(’t'),ylabel(’ y=sawtooth(t);’);五、课程设计体会刚开始拿到这个课程设计、并不知道该干些什么东西,不过还是决定先打开matlab软件看看,一下想到弄两个波形出来,看看会是怎么样的效果。
于是把两个程序输入,并得到了波形其实对于matlab的学习已经有一段时间了,可是发现自己对这个软件的认识还只是皮毛上的东西。
matlab是一个基于矩阵运算的软件,这是我们大家都知道的事情了,但是,在真正运用这个软件的时候(就是在编程的时候),很多人特别是我这样的初学者,很多时候往往没有注意到这个问题,所以就会有for循环(包括while循环)嵌套了十几层,这种做法浪费了大量资源,而且没有发挥matlab的长处,还浪费了大家宝贵的时间,就只见左下角一直busy。
matlab课程设计完整版
matlab课程设计完整版一、教学目标本节课的教学目标是让学生掌握MATLAB的基本语法和操作,能够利用MATLAB进行简单的数学计算和数据分析。
具体来说,知识目标包括:了解MATLAB的历史和发展,掌握MATLAB的基本语法和数据类型,熟悉MATLAB的工作环境。
技能目标包括:能够使用MATLAB进行矩阵运算,编写简单的MATLAB脚本程序,进行数学计算和数据分析。
情感态度价值观目标包括:培养学生对科学计算软件的兴趣,增强学生的动手能力和团队协作能力。
二、教学内容本节课的教学内容主要包括MATLAB的基本语法和操作。
首先,介绍MATLAB的历史和发展,使学生对MATLAB有一个整体的认识。
然后,讲解MATLAB的基本语法和数据类型,如矩阵的创建和操作,数据的输入和输出等。
接着,介绍MATLAB的工作环境,包括命令窗口、变量浏览器和脚本文件等。
最后,通过实例演示和练习,使学生能够熟练使用MATLAB进行简单的数学计算和数据分析。
三、教学方法为了达到本节课的教学目标,将采用讲授法、实践法和讨论法等多种教学方法。
首先,通过讲授法向学生介绍MATLAB的基本概念和语法。
然后,通过实践法,让学生动手操作MATLAB软件,进行实际的数学计算和数据分析。
在实践过程中,引导学生进行讨论,分享自己的心得和经验,互相学习和进步。
最后,通过讨论法,对学生的学习情况进行总结和评价,及时调整教学策略。
四、教学资源为了保证本节课的教学质量,将准备教材、多媒体资料和实验设备等多种教学资源。
教材是学生学习的基础,多媒体资料可以丰富教学手段,实验设备则是学生进行实践操作的重要工具。
此外,还将利用网络资源,如在线教程和讨论区,为学生提供更多的学习资料和实践机会。
五、教学评估本节课的教学评估将采用多元化的评价方式,以全面、客观、公正地评估学生的学习成果。
评估方式包括平时表现、作业和考试等。
平时表现主要考察学生的课堂参与度和团队合作能力,通过观察和记录学生在课堂上的表现来进行评估。
matlab的教学课程设计
matlab 的教学课程设计一、课程目标知识目标:1. 掌握MATLAB的基础知识,包括数据类型、矩阵运算、程序流程控制等;2. 学会使用MATLAB进行数据可视化、图像处理、数值计算等操作;3. 了解MATLAB在工程领域的应用,并能结合所学专业进行简单的数据分析。
技能目标:1. 能够熟练运用MATLAB编写程序,解决实际问题;2. 学会使用MATLAB进行数据导入、导出,以及与Excel、Word等软件的数据交互;3. 培养学生运用MATLAB进行科学计算和工程问题求解的能力。
情感态度价值观目标:1. 培养学生对MATLAB编程的兴趣和热情,激发学生主动探索精神;2. 培养学生严谨的科学态度,提高学生的团队协作能力;3. 引导学生认识到MATLAB在现代工程技术中的重要性,树立正确的价值观。
课程性质:本课程为实践性较强的课程,旨在培养学生的编程能力和实际应用能力。
学生特点:学生具备一定的数学基础和编程兴趣,但对MATLAB编程可能较为陌生。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,以案例教学为主,培养学生的实际操作能力。
在教学过程中,关注学生的个体差异,鼓励学生提问、讨论,提高学生的参与度和积极性。
通过课程学习,使学生能够独立完成MATLAB程序编写,解决实际问题。
二、教学内容1. MATLAB基础知识:数据类型、矩阵运算、程序流程控制等;教材章节:第一章 MATLAB概述,第二章 MATLAB基础知识。
2. 数据可视化与图像处理:绘图函数、图像处理基本操作等;教材章节:第三章 数据可视化,第四章 图像处理。
3. 数值计算:线性方程组求解、数值积分、插值等;教材章节:第五章 数值计算。
4. MATLAB在实际工程中的应用:结合所学专业,进行数据分析与处理;教材章节:第六章 MATLAB在工程中的应用。
5. MATLAB与其他软件的数据交互:数据导入、导出,与Excel、Word等软件的数据交互;教材章节:第七章 MATLAB与其他软件的数据交互。
《MATLAB课程设计》报告.DOC
《MATLAB课程设计》报告设计题目:基于MATLAB的语音信号采集与处理学生姓名:学生学号:********专业班级:光信息科学与技术答辩时间:2013年12月指导教师:冯明库广东技术师范学院电子与信息学院一、设计目的及意义1. MATLAB软件功能简介MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。
它是一种科学计算软件,专门以矩阵的形式处理数据。
MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。
MATLAB软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。
其中,符号运算功能的实现是通过请求MAPLE 内核计算并将结果返回到MATLAB命令窗口。
该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。
目前,Mathworks公司已推出30多个应用工具箱。
MATLAB在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、次那好和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。
MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。
由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能,能基本满足信号与系统课程的需求。
例如解微分方程、傅里叶正反变换、拉普拉斯正反变换和z正反变换等。
MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。
MATLAB课程设计报告(绝对完整)
课程设计任务书学生姓名:董航专业班级:电信1006班指导教师:阙大顺,李景松工作单位:信息工程学院课程设计名称:Matlab应用课程设计课程设计题目:Matlab运算与应用设计5初始条件:1.Matlab6.5以上版本软件;2.课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应用”、线性代数及相关书籍等;3.先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.课程设计内容:根据指导老师给定的7套题目,按规定选择其中1套完成;2.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结。
具体设计要求包括:①初步了解Matlab、熟悉Matlab界面、进行简单操作;②MATLAB的数值计算:创建矩阵矩阵运算、多项式运算、线性方程组、数值统计;③基本绘图函数:plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形标注、简单颜色设定等;④使用文本编辑器编辑m文件,函数调用;⑤能进行简单的信号处理Matlab编程;⑥按要求参加课程设计实验演示和答辩等。
3.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括:①目录;②与设计题目相关的理论分析、归纳和总结;③与设计内容相关的原理分析、建模、推导、可行性分析;④程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结;⑤课程设计的心得体会(至少500字);⑥参考文献(不少于5篇);⑦其它必要内容等。
时间安排:1.5周(分散进行)参考文献:[1](美)穆尔,高会生,刘童娜,李聪聪.MA TLAB实用教程(第二版) . 电子工业出版社,2010.[2]王正林,刘明.精通MATLAB(升级版) .电子工业出版社,2011.[3]陈杰. MA TLAB宝典(第3版) . 电子工业出版社,2011.[4]刘保柱,苏彦华,张宏林. MATLAB 7.0从入门到精通(修订版) . 人民邮电出版社,2010.指导教师签名:年月日系主任(或责任教师)签名:年月日目录1 MATLAB的简介 (1)2课程设计内容 (4)2.1 (5)2.2 (2)2.3 (2)2.4 (2)2.5 (2)2.6 (2)2.7 (2)2.8 (2)2.9 (2)2.10 (2)3课程设计心得体会 (1)4参考文献 (1)1 Matlab 软件简介1.1 MATLAB产生的历史背景MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
matlab自修课程设计报告(matlab实现傅立叶变换)
matlab实现信号的傅立叶变换一、设计目的1.熟悉和掌握matlab的基本使用方法,能够熟练运用matlab。
ﻩ2.巩固信号与系统中的傅立叶变换内容,加深对这部分内容的理解。
二、设计任务ﻩ1.掌握matlab的基本操作。
2.利用matlab实现典型非周期信号的傅立叶变换,画出信号的时域图和频域图。
3.利用matlab实现傅立叶变换的基本性质。
三、设计原理1.matlab简介MATLAB是MathWorks公司推出的一套高性能的数值计算和可视化软件,经过多年大量的、坚持不懈的改进,现在MATLAB已经更新至7.x版。
MATLAB集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。
在这个环境下,对所要求解的问题,用户只需简单地列出数学表达式,其结果便以人们十分熟悉的数值或图形方式显示出来。
MATLAB可用来解决实际的工程和数学问题,其典型应用有:通用的数值计算,算法设计,各种学科(如自动控制、数字信号处理、统计信号处理)等领域的专门问题求解。
MATLAB语言易学易用,不要求用户有高深的数学和程序语言知识,不需要用户深刻了解算法及编程技巧。
MATLAB既是一种编程环境,又是一种程序设计语言。
这种语言与C、FORTRAN等语言一样,有其内定的规则,但MATLAB的规则更接近数学表示。
使用更为简便,可使用户大大节约设计时间,提高设计质量。
2.matlab2013b基本界面介绍matlab2013b主界面窗口基本分为五个部分:1)主菜单界面在此界面我们只需要用到新建命令文件和对程序进行间断调试的功能2)文件查看窗口,双击可快速打开文件3)写命令窗口及提示窗口在这个窗口可写入参数、写入公式、显示错误、显示帮助等功能,例如对a赋值、写入公式f =a*a、显示帮助:公式fft的使用方法4)历史命令查看窗口在该窗口可查看历史输入命令,双击历史命令可再次输入到命令窗口5)数值查看窗口在该窗口可查看所有参数详细数值3.理论原理:傅里叶变换的基本思想首先由法国学者傅里叶系统提出,所以以其名字来命名以示纪念。
matlab课程设计报告摘要
matlab课程设计报告摘要一、教学目标本课程的教学目标是使学生掌握MATLAB的基本语法、编程技巧和应用方法,能够利用MATLAB进行简单的科学计算和数据分析。
具体目标如下:1.掌握MATLAB的基本语法和数据类型。
2.掌握MATLAB的矩阵运算和线性方程求解。
3.了解MATLAB的图形绘制和图像处理功能。
4.能够使用MATLAB进行简单的科学计算和数据分析。
5.能够编写MATLAB脚本文件和函数文件。
6.能够利用MATLAB绘制图形和图像。
情感态度价值观目标:1.培养学生的团队合作意识和沟通能力。
2.培养学生的创新思维和实践能力。
3.培养学生的科学精神和责任感。
二、教学内容根据课程目标,教学内容主要包括MATLAB的基本语法、矩阵运算、线性方程求解、图形绘制和图像处理。
具体安排如下:1.MATLAB的基本语法和数据类型:变量定义、数据类型转换、运算符、函数等。
2.矩阵运算:矩阵的创建、矩阵的运算规则、矩阵的逆、矩阵的秩等。
3.线性方程求解:高斯消元法、矩阵的逆、线性方程组的解法等。
4.图形绘制:基本图形绘制、图形的属性设置、图形的编辑和修饰等。
5.图像处理:图像的读取和显示、图像的转换和处理、图像的分析和识别等。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式。
主要包括:1.讲授法:通过讲解MATLAB的基本语法、矩阵运算、线性方程求解等内容,使学生掌握相关知识。
2.案例分析法:通过分析实际案例,使学生了解MATLAB在科学计算和数据分析中的应用。
3.实验法:通过上机实验,使学生亲自操作MATLAB,巩固所学知识,提高实际操作能力。
4.小组讨论法:通过小组讨论和合作,培养学生的团队合作意识和沟通能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《MATLAB入门教程》或《MATLAB实用教程》等。
2.参考书:提供一些相关的参考书籍,供学生课后自学。
matlab课程设计报告摘要
matlab课程设计报告摘要一、教学目标本课程的教学目标是使学生掌握MATLAB的基本语法、编程技巧以及解决科学计算和工程问题的能力。
具体目标如下:1.知识目标:•掌握MATLAB的基本数据类型、运算符和表达式。
•理解MATLAB的编程结构,包括条件语句、循环语句和函数。
•熟悉MATLAB的矩阵操作、数据分析和解算器功能。
2.技能目标:•能够使用MATLAB进行数学计算、数据可视化和仿真。
•能够编写MATLAB脚本文件和函数文件,解决实际问题。
•能够利用MATLAB与其他软件进行数据交换和协同工作。
3.情感态度价值观目标:•培养学生的团队合作精神和问题解决能力。
•培养学生的创新意识和科学思维方式。
•培养学生对MATLAB软件的兴趣和积极性。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个方面:1.MATLAB基本语法和编程结构:•数据类型、运算符和表达式。
•变量和赋值语句。
•矩阵操作和线性方程组求解。
2.MATLAB控制结构:•条件语句和循环语句。
•嵌套结构和转移语句。
3.MATLAB函数和脚本文件:•函数的定义和调用。
•脚本文件的编写和执行。
4.MATLAB数据可视化和仿真:•二维和三维图形绘制。
•图像处理和动画制作。
5.MATLAB与其他软件的交互:•数据交换和文件操作。
•与其他编程语言的集成。
三、教学方法为了实现教学目标,本课程将采用多种教学方法相结合的方式:1.讲授法:通过教师的讲解和示范,引导学生掌握MATLAB的基本概念和编程技巧。
2.讨论法:通过小组讨论和问题解答,培养学生的合作精神和问题解决能力。
3.案例分析法:通过分析实际案例,让学生学会将MATLAB应用于解决科学计算和工程问题。
4.实验法:通过上机实验,让学生动手实践,加深对MATLAB编程的理解和应用能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将利用以下教学资源:1.教材:选用权威的MATLAB教材,提供全面、系统的知识体系。
数值分析课程设计报告(MATLAB版)
(2)取右端向量 b 的三位有效数字得 b [1.83 1.08 0.783]T ,求方程组的准确 解 X ,并与 X 的数据 [1 1 1]T 作比较 。说明矩阵的病态性。
算法及相应结果: (1)在 MATLAB 命令窗口里输入如下命令: >> H=[1 1/2 1/3;1/2 1/3 1/4;1/3 1/4 1/5]; b=[11/6 13/12 47/60]'; >> x=H\b 回车得到结果为: x = 1.0000 1.0000 1.0000 (2)紧接着在上题基础上继续输入如下命令: >> c=[1.83 1.08 0.783]'; x1=H\c 回车得到如下结果: x1 = 1.0800 0.5400 1.4400
问题分析:考虑由直线段(2 个点)产生第一个图形(5 个点)的过程,设 P 1 和 P5 分别为原始直线段的两个端点。现在需要在直线段的中间依次插入三个点 。显然, P2 位于 P P2 , P3 , P4 产生第一次迭代的图形(图 1-4) 1 点右端直线段的三分 之一处, P4 点绕 P2 旋转 60 度(逆时针方向)而得到的,故可以处理为向量 P2 P4 经正交变换而得到向量 P2 P3 ,形成算法如下: (1) P2 P 1 (P 5 P 1) / 3 ; (2) P4 P 1 2( P 5 P 1) / 3 ; (3) P3 P2 ( P4 P2 ) AT ; 在算法的第三步中,A 为正交矩阵。
运行结果: 0.0884 0.0580 0.0431 0.0343 0.0285 0.0243 0.0212 0.0188 0.0169 0.0154 0.0141 0.0130 0.0120 0.0112 0.0105 0.0099 0.0094 0.0087 0.0092 0.0042 (2)从 I 30 较粗略的估计值出发,我们不妨取 0.01. 源程序:
简单matlab课程设计报告
简单matlab课程设计报告一、教学目标本课程旨在通过MATLAB软件的基本操作和编程技巧,培养学生的科学计算能力和解决实际问题的能力。
通过本课程的学习,学生将掌握MATLAB软件的基本使用方法,包括数据的导入导出、矩阵运算、图形绘制等功能,并能够运用MATLAB进行简单的科学计算和数据分析。
在技能目标方面,学生将学会使用MATLAB编写简单的脚本程序和函数程序,能够运用MATLAB解决实际问题,如线性方程组的求解、数据的拟合和可视化等。
在情感态度价值观目标方面,学生将培养对科学计算和数据分析的兴趣,提高对MATLAB软件的认同感和运用MATLAB解决实际问题的自信心。
二、教学内容本课程的教学内容主要包括MATLAB软件的基本操作、矩阵运算、图形绘制以及简单的编程技巧。
具体来说,我们将从MATLAB软件的安装和使用方法开始,介绍MATLAB的工作环境、命令窗口和图形用户界面。
然后,我们将学习MATLAB的基本数据类型,如矩阵和细胞数组,以及基本的矩阵运算,如加减乘除、转置和逆矩阵等。
接下来,我们将介绍MATLAB的图形绘制功能,包括绘制线图、散点图、柱状图等,并学习如何对图形进行美化和标注。
最后,我们将学习MATLAB的编程技巧,包括变量的定义和赋值、循环和条件语句、函数的定义和调用等。
三、教学方法为了提高学生的学习兴趣和主动性,我们将采用多种教学方法相结合的方式进行教学。
首先,我们将采用讲授法,系统地讲解MATLAB软件的基本操作和编程技巧,帮助学生建立扎实的理论基础。
同时,我们将结合讨论法,鼓励学生积极参与课堂讨论,提出问题和建议,促进师生之间的互动和交流。
其次,我们将采用案例分析法,通过分析和解决实际问题,让学生学会将MATLAB软件应用于实际场景,提高学生的应用能力和解决问题的能力。
此外,我们还将实验课,让学生亲自动手操作MATLAB软件,进行科学计算和数据分析,提高学生的实践能力和动手能力。
matlab仿真课程设计报告
matlab仿真课程设计报告一、教学目标本课程的教学目标旨在通过MATLAB仿真技术的学习,使学生掌握MATLAB基本操作、仿真环境搭建、脚本编写及图形用户界面设计等技能,培养学生运用MATLAB解决实际问题的能力。
具体目标如下:1.知识目标:–理解MATLAB的系统结构及基本功能;–掌握MATLAB基本语法、数据类型、矩阵运算;–熟悉MATLAB仿真环境及相关工具箱;–了解MATLAB在工程领域的应用。
2.技能目标:–能够独立搭建简单的仿真环境;–能够运用MATLAB进行数据分析、算法实现;–具备编写MATLAB脚本及图形用户界面的能力;–能够运用MATLAB解决实际工程问题。
3.情感态度价值观目标:–培养学生的创新意识、团队协作精神及自主学习能力;–使学生认识到MATLAB在工程领域的重要性,提高学习兴趣;–培养学生运用所学知识解决实际问题的责任感。
二、教学内容本课程的教学内容主要包括MATLAB基础知识、MATLAB仿真环境及工具箱、脚本编写及图形用户界面设计等。
具体安排如下:1.MATLAB基础知识:–MATLAB概述及系统结构;–MATLAB基本语法、数据类型、矩阵运算。
2.MATLAB仿真环境及工具箱:–MATLAB仿真环境搭建;–MATLAB常用工具箱介绍,如控制系统、信号处理、图像处理等。
3.脚本编写及图形用户界面设计:–MATLAB脚本编写方法及技巧;–MATLAB图形用户界面设计原理及实例。
4.MATLAB在工程领域的应用:–利用MATLAB解决实际工程问题案例分析。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:通过讲解MATLAB的基本概念、语法及应用,使学生掌握课程基本知识。
2.案例分析法:分析实际工程案例,让学生了解MATLAB在工程领域的应用,提高学生解决实际问题的能力。
3.实验法:安排适量实验,让学生动手操作,培养学生的实际操作能力和创新能力。
matlab课程设计
mat lab课程设计一、课程目标知识目标:1. 学生能理解MATLAB的基本概念,掌握MATLAB的基本语法和编程环境。
2. 学生能够运用MATLAB进行基本的数据处理、数学运算和图形绘制。
3. 学生掌握MATLAB在工程领域的应用,如信号处理、控制系统分析等。
技能目标:1. 学生能够熟练使用MATLAB软件,进行数据输入、编辑和调试程序。
2. 学生能够运用MATLAB解决实际问题,设计简单的算法和程序。
3. 学生通过MATLAB实践,提高逻辑思维和问题解决能力。
情感态度价值观目标:1. 培养学生对MATLAB编程的兴趣,激发学生主动探索精神。
2. 培养学生严谨、细致的学术态度,养成良好的编程习惯。
3. 增强学生的团队合作意识,提高沟通与协作能力。
课程性质:本课程为实用技能型课程,旨在让学生掌握MATLAB软件的使用,培养实际应用能力。
学生特点:学生具备一定的数学基础和编程兴趣,但对MATLAB软件的了解程度不一。
教学要求:教师需根据学生特点,采用案例教学、任务驱动等方法,引导学生主动参与实践,提高综合运用能力。
在教学过程中,注重个体差异,关注学生成长,及时调整教学策略。
二、教学内容1. MATLAB基础知识:介绍MATLAB软件的安装与配置,界面及基本操作,变量与数据类型,矩阵的创建与运算。
教材章节:第一章 MATLAB概述,第二章 MATLAB基础知识。
2. MATLAB编程:讲解MATLAB控制语句,函数与脚本,调试与优化技巧。
教材章节:第三章 MATLAB编程,第四章 程序调试与优化。
3. 数据可视化:教授MATLAB绘图功能,包括二维图形、三维图形、图像处理等。
教材章节:第五章 数据可视化。
4. MATLAB应用案例分析:介绍MATLAB在信号处理、控制系统分析、数值计算等领域的应用。
教材章节:第六章 MATLAB应用案例分析。
5. MATLAB实践项目:设计具有实际背景的MATLAB编程项目,培养学生解决实际问题的能力。
matlab课程设计报告模板
matlab课程设计报告模板一、教学目标本课程的教学目标是使学生掌握MATLAB的基本功能和使用方法,能够运用MATLAB进行简单的数学计算、数据处理和图形绘制。
具体分为以下三个部分:1.知识目标:学生需要了解MATLAB的基本组成、工作环境以及常用的数学函数和工具箱。
2.技能目标:学生能够熟练使用MATLAB进行矩阵运算、数学计算、数据分析和图形绘制。
3.情感态度价值观目标:通过学习MATLAB,培养学生对科学计算和计算机辅助设计的兴趣,提高学生解决实际问题的能力。
二、教学内容根据课程目标,教学内容主要包括以下几个部分:1.MATLAB概述:介绍MATLAB的发展历程、功能特点和应用领域。
2.MATLAB基本操作:包括矩阵运算、数学计算、数据分析、图形绘制等。
3.MATLAB工具箱:介绍MATLAB常用的工具箱,如数值计算工具箱、信号处理工具箱等。
4.MATLAB实际应用案例:分析实际案例,让学生学会将MATLAB应用于实际问题的解决。
三、教学方法为了达到课程目标,我们将采用以下教学方法:1.讲授法:通过讲解MATLAB的基本概念和操作方法,使学生掌握MATLAB的基本使用技巧。
2.案例分析法:分析实际案例,让学生学会将MATLAB应用于实际问题的解决。
3.实验法:安排上机实验,让学生动手操作,巩固所学知识。
4.讨论法:学生进行小组讨论,促进学生之间的交流与合作。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《MATLAB教程》或其他类似教材。
2.参考书:提供相关的参考书籍,供学生课后自学。
3.多媒体资料:制作课件和教学视频,辅助课堂教学。
4.实验设备:提供计算机实验室,让学生进行上机实验。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采取以下评估方式:1.平时表现:通过课堂参与、提问、讨论等方式,评估学生在课堂上的表现。
2.作业:布置适量的作业,评估学生对知识的掌握和应用能力。
matlab小课程设计
matlab小课程设计一、课程目标知识目标:1. 学生能理解MATLAB软件的基本操作,掌握数据类型、变量、矩阵等基础知识;2. 学生能运用MATLAB进行简单的数学运算、数据可视化及编程;3. 学生了解MATLAB在工程领域的应用,如信号处理、控制系统等。
技能目标:1. 学生能熟练使用MATLAB软件,完成数据输入、输出,进行基本的数据分析;2. 学生能运用MATLAB编写简单的程序,解决实际问题;3. 学生能通过MATLAB实现课程相关实验,提高实践操作能力。
情感态度价值观目标:1. 培养学生对MATLAB编程的兴趣,激发学生主动探索新知识的热情;2. 培养学生团队协作意识,提高沟通与表达能力;3. 培养学生严谨的科学态度,养成良好的编程习惯。
课程性质:本课程为选修课程,旨在帮助学生掌握MATLAB软件的使用,提高编程能力和实践操作能力。
学生特点:学生具有一定的数学基础,对计算机编程有一定兴趣,但编程经验不足。
教学要求:结合学生特点,注重理论与实践相结合,通过案例教学,使学生能够学以致用,提高解决实际问题的能力。
将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. MATLAB软件概述- 软件安装与界面认识- 基本操作与功能介绍2. MATLAB基础知识- 数据类型与变量- 矩阵与数组操作- 数学运算与函数3. MATLAB编程基础- 控制流(条件语句、循环语句)- 函数编写与调试- 文件操作与数据存储4. MATLAB数据可视化- 二维图形绘制- 三维图形绘制- 图形修饰与动画制作5. MATLAB应用案例分析- 信号处理- 控制系统设计- 优化问题求解6. MATLAB实验操作- 基本操作练习- 程序编写与调试- 综合应用案例实践教学内容安排与进度:第一周:MATLAB软件概述与基本操作第二周:MATLAB基础知识第三周:MATLAB编程基础第四周:MATLAB数据可视化第五周:MATLAB应用案例分析第六周:MATLAB实验操作教材关联:教学内容与教材相关章节紧密联系,涵盖教材中MATLAB基础与应用部分的核心内容,确保学生能够系统地学习并掌握MATLAB相关知识。
matlab课程设计
matlab课程设计一、教学目标本节课的教学目标是使学生掌握MATLAB基本语法和操作,能够运用MATLAB进行简单的数学计算和数据分析。
具体分为三个部分:1.知识目标:学生需要掌握MATLAB的基本语法,包括变量定义、数据类型、运算符、矩阵操作等;了解MATLAB的工作环境,包括命令窗口、工作空间、脚本文件等。
2.技能目标:学生能够熟练使用MATLAB进行数学计算,如解方程、求导数、积分等;能够使用MATLAB进行数据分析,如数据可视化、数据拟合、数据过滤等。
3.情感态度价值观目标:通过学习MATLAB,培养学生对计算机科学的兴趣和好奇心,提高学生的问题解决能力和创新意识。
二、教学内容本节课的教学内容主要包括三个部分:1.MATLAB基本语法:介绍MATLAB的基本语法,包括变量定义、数据类型、运算符、矩阵操作等。
2.MATLAB工作环境:介绍MATLAB的工作环境,包括命令窗口、工作空间、脚本文件等,并演示如何进行基本操作。
3.MATLAB数学计算和数据分析:通过案例教学,让学生掌握如何使用MATLAB进行数学计算和数据分析,如解方程、求导数、积分、数据可视化等。
三、教学方法本节课采用讲授法、案例分析法和实验法相结合的教学方法:1.讲授法:教师讲解MATLAB基本语法和操作,让学生掌握MATLAB的基本知识。
2.案例分析法:通过分析实际案例,让学生了解如何使用MATLAB进行数学计算和数据分析,提高学生的实际操作能力。
3.实验法:让学生在计算机上进行实际操作,巩固所学知识,培养学生的实践能力。
四、教学资源本节课的教学资源包括:1.教材:MATLAB入门教程,为学生提供理论知识的学习材料。
2.多媒体资料:PPT课件,生动展示MATLAB的基本语法和操作。
3.实验设备:计算机,让学生进行实际操作练习。
4.网络资源:MATLAB官方,提供丰富的学习资源和案例,便于学生自主学习和拓展。
五、教学评估本节课的教学评估主要包括以下几个方面:1.平时表现:评估学生在课堂上的参与程度、提问回答、小组讨论等,以考察学生的学习态度和积极性。
MATLAB课程设计报告
目录一、课程设计目的 (1)二、课程设计任务 (1)三、课程设计题目 (1)3.1、画出分段函数图: (1)3.2、信号的产生与变换 (2)3.3、财经问题 (3)3.4、计算平均学分积GPA (4)3.5、供煤量分配问题 (6)四、课程设计结论及分析 (7)五、心得体会 (7)六、参考文献 (7)一、课程设计目的1. 熟悉MATLAB 的工作环境;2. 熟悉并练习MATLAB 的命令;3. 掌握MATLAB 的基本操作;4. 熟练掌握MATLAB 的基本应用。
二、课程设计任务1.熟练掌握MATLAB 的基本用法以及实际应用;2.将课程设计题目解答完毕,完成一下内容:(1)、画出分段函数图;(2)、信号的产生与变换;(3)、财经问题;(4)、计算平均学分积GPA ;(5)、供煤量分配问题。
三、课程设计题目3.1、画出分段函数图:2222220.5457exp(0.75 3.75 1.5),1(,)0.7575exp(6),1105457exp(0.75 3.75 1.5),1y x x x y p x y y x x y y x x x y ⎧---+>⎪=---<+≤⎨⎪--++≤-⎩(1) 程序:x=-3:0.1:3;y=-3:0.1:3;length_of_x=length(x);length_of_y=length(y);for i=1:length_of_xfor j=1:length_of_yif (x(i)+y(j))>1z(i,j)=0.5457*exp(-0.75*y(j)^2-3.75*x(i)^2-1.5*x(i)); elseif ((x(i)+y(j))>-1)&&((x(i)+y(j))<=1)z(i,j)=0.7575*exp(-y(j)^2-6*x(i)^2);elsez(i,j)=0.5457*exp(-0.75*y(j)^2-3.75*x(i)^2+1.5*x(i)); endendendmesh(x,y,z)(2) 运行结果:3.2、信号的产生与变换数字信号处理中y(n)=x(-n)的画图实现;其中21,33()0, n 3n n x n +-≤≤⎧=⎨>⎩(1)程序:n=-4:4;for i=1:9if abs(n(i))>3x(i)=0;else x(i)=2*n(i)+1;endendy=fliplr(x);stem(n,y);(2)运行结果:3.3、财经问题一笔100000元的贷款要按每月等额偿付d元的方式付清。
MATLAB课程设计报告实验体会
课程设计实验体会学生姓名:李祥胜学生学号: 20120704专业班级:光信息科学与技术指导老师: miss Chen 学院:信息工程学院题目: MATLAB学期实验总结MATLAB概念及介绍MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。
是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB集成环境主要包括五个部分:MATLAB语言、MATLAB工作环境、句柄图形、MATLAB数学函数库和数学建模、小波分析、MATLAB API(App lication Program Interface)。
MATLAB语言是以数组为基本数据单位,包括控制流程语句、函数、数据结构、输人输出及面向对象等特点的高级语言。
利用SIMULINK对系统进行仿真与分析,在进入虚拟实验环境后,不需要书写代码,只需使用鼠标拖动库中的功能模块并将它们连接起来,再按照实验要求修改各元器件的参数。
通过虚拟实验环境建立实验仿真电路模型,可使一些枯燥的电路变得有趣味,复杂的波形变得形象生动,使得各种复杂的能量转换过程比较直观地呈现。
matlab课程设计课程的结论及分析
matlab课程设计课程的结论及分析一、教学目标本课程的教学目标旨在让学生掌握 MATLAB 基本语法、编程技巧及其在工程计算和数据分析中的应用。
通过本课程的学习,学生应能熟练使用 MATLAB 进行矩阵运算、编写简单的程序、进行图像处理和仿真分析等。
具体来说,知识目标包括:1.理解并掌握 MATLAB 的基本语法和操作。
2.掌握 MATLAB 在矩阵运算、数值计算、图像处理和仿真分析等方面的应用。
3.了解 MATLAB 的编程技巧和常见问题解决方法。
技能目标包括:1.能够独立使用 MATLAB 进行简单的编程和数据分析。
2.能够配合专业背景知识,运用 MATLAB 解决实际问题。
3.具备团队合作能力,能够参与小组项目并分工合作。
情感态度价值观目标包括:1.培养学生的自主学习能力,激发对MATLAB 编程和数据分析的兴趣。
2.培养学生的创新思维和问题解决能力,提升综合素质。
3.培养学生的团队合作意识和沟通能力,提高团队协作能力。
二、教学内容本课程的教学内容主要包括 MATLAB 基本语法、矩阵运算、编程技巧、图像处理和仿真分析等方面。
具体安排如下:1.MATLAB 基本语法和操作:介绍 MATLAB 的工作环境、基本命令、变量和数据类型、运算符等。
2.矩阵运算:包括矩阵的创建、运算、逆矩阵、特征值和特征向量等。
3.编程技巧:包括循环结构、条件语句、函数和脚本文件、模块化编程等。
4.图像处理:包括图像的读取、显示、处理和分析等。
5.仿真分析:包括模拟仿真、动画制作、模型验证和优化等。
三、教学方法本课程采用讲授法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:通过讲解 MATLAB 基本语法、编程技巧和应用案例,使学生掌握相关知识。
2.案例分析法:分析实际案例,让学生了解 MATLAB 在工程计算和数据分析中的应用。
3.实验法:让学生动手实践,培养实际操作能力和问题解决能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华东交通大学MATLAB程序设计报告书课题名称:基于MATLAB的粒子群优化算法的实现姓名:学号:**************专业:控制科学与工程2016年 11月 20日基于MATLAB的粒子群优化算法的实现一、课程选题目的本次课程设计的课题为《基于MATLAB的粒子群优化算法的实现》,主要为学会运用MATLAB对实际算法编程,加深对粒子群优化算法的理解,并为今后熟练使用MA TLAB进行系统的分析仿真和设计奠定基础。
数值计算分析可以帮助更深入地理解理论知识,并为将来使用MA TLAB进行各领域数值分析分析和实际应用打下基础。
此次课程主要是为了进一步熟悉对MATLAB软件的使用,以及学会利用MA TLAB对数值运算这种实际问题进行处理,将理论应用于实际,加深对它的理解。
二、粒子群优化算法原理优化是科学研究、工程技术和经济管理等领域的重要研究工具。
它所研究的问题是讨论在众多的方案中寻找最优方案。
例如,工程设计中怎样选择设计参数,使设计方案既满足设计要求又能降低成本;资源分配中,怎样分配有限资源,使分配方案既能满足各方面的基本要求,又能获得好的经济效益。
在人类活动的各个领域中,诸如此类,不胜枚举。
优化这一技术,正是为这些问题的解决,提供理论基础和求解方法,它是一门应用广泛、实用性很强的科学。
近十余年来,粒子群优化算法作为群体智能算法的一个重要分支得到了广泛深入的研究,在路径规划等许多领域都有应用。
2.1 粒子群优化算法的起源粒子群优化(PSO)算法是由Kennedy和Eberhart于1995年用计算机模拟鸟群觅食这一简单的社会行为时,受到启发,简化之后而提出的。
设想这样一个场景:一群鸟随机的分布在一个区域中,在这个区域里只有一块食物。
所有的鸟都不知道食物在哪里。
但是他们知道当前的位置离食物还有多远。
那么找到食物的最优策略是什么呢。
最简单有效的方法就是追寻自己视野中目前离食物最近的鸟。
如果把食物当作最优点,而把鸟离食物的距离当作函数的适应度,那么鸟寻觅食物的过程就可以当作一个函数寻优的过程。
鱼群和鸟群的社会行为一直引起科学家的兴趣。
他们以特殊的方式移动、同步,不会相互碰撞,整体行为看上去非常优美。
生物学家CargiReynolds提出了一个非常有影响的鸟群聚集模型。
在他的模拟模型boids中,每一个个体遵循:避免与邻域个体相冲撞、匹配邻域个体的速度、试图飞向感知到的鸟群中心这三条规则形成简单的非集中控制算法驱动鸟群的聚集,在一系列模拟实验中突现出了非常接近现实鸟群聚集行为的现象。
该结果显示了在空中回旋的鸟组成轮廓清晰的群体,以及遇到障碍物时鸟群的分裂和再度汇合过程。
由此受到启发,经过简化提出了粒子群优化算法。
2.2粒子群优化算法的原理在粒子群优化算法中,每个优化问题的潜在解都是搜索空间中的一只鸟,称之为“粒子”。
所有的粒子都有一个由被优化的函数决定的适应值,每个粒子还有一个速度决定他们飞翔的方向和距离。
然后粒子们就追随当前的最优粒子在解空间中搜索。
优化开始时先初始化为一群随机粒子(随机解)。
然后通过迭代找到最优解。
在每一次迭代中,粒子通过跟踪两个极值来更新自己。
第一个极值就是整个种群目前找到的最优解。
这个极值是全局极值。
另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。
第二个极值是粒子本身所找到的最优解,称为个体极值。
这是因为粒子仅仅通过跟踪全局极值或者局部极值来更新位置,不可能总是获得较好的解。
这样在优化过程中,粒子在追随全局极值或局部极值的同时追随个体极值则圆满的解决了这个问题。
这就是粒子群优化算法的原理。
在算法开始时,随机初始化粒子的位置和速度构成初始种群,初始种群在解空间中为均匀分布。
其中第i个粒子在n维解空间的位置和速度可分别表示为X i=(x i1,x i2,…,x id)和V i=(v i1,v i2,…,v id),然后通过迭代找到最优解。
在每一次迭代中,粒子通过跟踪两个极值来更新自己的速度和位置。
一个极值是粒子本身到目前为止所找到的最优解,这个极值称为个体极值Pb i=(Pb i1,Pb i2,…,Pb id)。
另一个极值是该粒子的邻域到目前为止找到的最优解,这个极值称为整个邻域的最优粒子Nbest i=(Nbest i1,Nbest i2,…,Nbest id)。
粒子根据如下的式(2-1)和式(2-2)来更新自己的速度和位置:V i=V i+c1·rand()·(Pbest i-X i)+c2·rand()·(Nbest i-X i) (2-1)X i= X i+ V i (2-2) 式中c1和c2是加速常量,分别调节向全局最好粒子和个体最好粒子方向飞行的最大步长,若太小,则粒子可能远离目标区域,若太大则会导致突然向目标区域飞去,或飞过目标区域。
合适的c1,c2可以加快收敛且不易陷入局部最优。
rand()是0到1之间的随机数。
粒子在每一维飞行的速度不能超过算法设定的最大速度V max。
设置较大的V max可以保证粒子种群的全局搜索能力,V max较小则粒子种群优化算法的局部搜索能力加强。
粒子群优化算法是在模拟鸟群觅食时受到启发提出的。
提出之后却发现用动物或人的认知来解释算法的原理更加完美。
在速度更新公式(2-1)中由3个部分构成。
第1个部分是V i,表示粒子在解空间有按照原有方向和速度进行搜索的趋势,这可以用人在认知事物时总是用固有的习惯来解释。
第2个部分是c1·rand()·(Pbest i-X i),表示粒子在解空间有朝着过去曾碰到的最优解进行搜索的趋势,这可以用人在认知事物时总是用过去的经验来解释。
第3部分是c2·rand()·(Nbest i-X i),表示粒子在解空间有朝着整个邻域过去曾碰到的最优解进行搜索的趋势,这可以用人在认知事物时总可以通过学习其他人的知识,也就是分享别人的经验来解释。
因此,粒子群优化算法实际上是借用了人或动物认知事物时的习惯,经验,及学习过程来进行寻优的。
粒子在优化过程中的运动轨迹见图1。
图1 粒子群算法优化搜索示意图3.3粒子群优化算法的优点粒子群优化算法具有以下主要优点:(1)易于描述;(2)便于实现;(3)要调整的参数很少;(4)使用规模相对较少的群体;(5)收敛需要评估函数的次数少;(6)收敛速度快粒子群优化算法很容易实现,计算代价低,由于其内存和CPU速度要求都很低。
而且,它不需要目标函数的梯度信息,只依靠函数值。
粒子群优化算法已被证明是解决许多全局优化问题的有效方法。
三、粒子群优化算法的实现粒子群优化算法具有编程简单,易实现的特点,粒子群优化算法的流程如图2所示。
下面给出其实现的具体步骤:步骤1:初始化。
初始搜索点的位置X0i及其速度V0i通常是在允许的范围内随机产生的,每个粒子的Pbest坐标设置为其当前位置,且计算出其相应的个体极值(即个体极值点的适应度值),而整个邻域的最优粒子就是该粒子邻域中个体极值中最好的,记录该最好值的粒子序号,并将Nbest i设置为该最好粒子的当前位置。
步骤2:评价每一个粒子。
计算粒子的适应度值,如果好于该粒子当前的个体极值,则将Pbest设置为该粒子的位置,且更新个体极值。
如果在该粒子的邻域内所有粒子的个体极值中最好的好于当前的Nbest i,则将Nbest i设置为该粒子的位置,记录该粒子的序号,且更新Nbest i的函数值。
步骤3:粒子的更新。
用式(2-1)和式(2-2)对每一个粒子的速度和位置进行更新。
步骤4:检验是否符合结束条件。
如果当前的迭代次数达到了预先设定的最大次数(或达到最小错误要求),则停止迭代,输出最优解,否则转到步骤2。
图2 粒子群算法优化算法流程图三、程序和结果3.1基本粒子群优化函数:PSO.mfunction [xm,fv] = PSO(fitness,N,c1,c2,w,M,D)format long;%------初始化种群的个体------------for i=1:Nfor j=1:Dx(i,j)=randn; %随机初始化位置v(i,j)=randn; %随机初始化速度endend%------先计算各个粒子的适应度,并初始化Pi和Pg----------------------for i=1:Np(i)=fitness(x(i,:));y(i,:)=x(i,:);endpg = x(N,:); %Pg为全局最优for i=1:(N-1)if fitness(x(i,:))<fitness(pg)pg=x(i,:);endend%------进入主要循环,按照公式依次迭代------------for t=1:Mfor i=1:Nv(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:));x(i,:)=x(i,:)+v(i,:);if fitness(x(i,:))<p(i)p(i)=fitness(x(i,:));y(i,:)=x(i,:);endif p(i)<fitness(pg)pg=y(i,:);endendPbest(t)=fitness(pg);endxm = pg';fv = fitness(pg);3.2目标函数:fitness.mfunction F = fitness(x)F = 0;for i=1:30;F=F+x(i)^2;end3.3程序结果在MATLAB命令窗口中输入:[xm,fv] = PSO(@fitness,40,2,2,0.5,1000,30) 可以得到结果:xm =0.078730243506451-0.1156041866676920.0967832542268840.044413221257582-0.0433670784658360.110431795894210-0.148375514833794-0.0678525135088100.054996689064950-0.037899962158029-0.1052444634883210.367616621329520-0.030907574829250-0.019441109411687-0.101832932702353-0.037872080224026-0.067869827703363-0.0411841305122990.0268196333001390.122345151839775-0.058153506170530-0.0440692800093460.187583216273750-0.103674713698693-0.044344990345638-0.023687143394873-0.0253556316853650.240306909129676-0.1090439459151960.117014752092513fv =0.395165177591029四、心得体会正所谓“纸上得来终觉浅,觉知此事要躬行。