MATLAB课程设计实验体会
电力电子课程设计matlab仿真实验

一.课程设计目的(1)通过matlab的simulink工具箱,掌握DC-DC、DC-AC、AC-DC电路的仿真。
通过设置元器件不同的参数,观察输出波形并进行比较,进一步理解电路的工作原理;(2)掌握焊接的技能,对照原理图,了解工作原理;(3)加深理解和掌握《电力电子技术》课程的基础知识,提高学生综合运用所学知识的能力;二.课程设计内容第一部分:simulink电力电子仿真/版本matlab7.0(1)DC-DC电路仿真(升降压(Buck-Boost)变换器)仿真电路参数:直流电压20V、开关管为MOSFET(内阻为0.001欧)、开关频率20KHz、电感L为133uH、电容为1.67mF、负载为电阻负载(20欧)、二极管导通压降0.7V(内阻为0.001欧)、占空比40%。
仿真时间0.3s,仿真算法为ode23tb。
图1-1占空比为40%的,降压后为12.12V。
触发脉冲、电感电流、开关管电流、二极管电流、负载电流、输出电压的波形。
图1-2占空比为60%的,升压后为28.25V。
触发脉冲、电感电流、开关管电流、二极管电流、负载电流、输出电压的波形。
图1-3•图1-4升降压变换电路(又称Buck-boost电路)的输出电压平均值可以大于或小于输入直流电压,输出电压与输入电压极性相反,其电路原理图如图1-4(a)所示。
它主要用于要求输出与输入电压反相,其值可大于或小于输入电压的直流稳压电源工作原理:①T导通,ton期间,二极管D反偏而关断,电感L储能,滤波电容C向负载提供能量。
②T关断,toff期间,当感应电动势大小超过输出电压U0时,二极管D导通,电感L经D向C和RL反向放电,使输出电压的极性与输入电压在ton期间电感电流的增加量等于toff期间的减少量,得:由的关系,求出输出电压的平均值为:上式中,D为占空比,负号表示输出与输入电压反相;当D=0.5时,U0=Ud;当0.5<D<1时,U0>Ud,为升压变换;当0≤D<0.5时,U0<Ud,为降压变换。
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编程与系统仿真》课程考核说明1、考核方式及考核时间综合性仿真及报告书(60%)+实验成绩(30%)+平时成绩(10%),其中实验成绩包括实验和报告。
《MATLAB编程与系统仿真》课程是一门实践性比较强的课程,采用传统的试卷考核方式无法体现学生对MATLAB的掌握和应用程度、程序调试能力等。
鉴于此情况,本课程考核以“综合性仿真及报告书+实验成绩+平时成绩“形式进行,综合性仿真考核学生对MATLAB编程语言的掌握程度和运用MATLAB 解决实际问题的能力,并通过报告书的撰写锻炼学生科技文档写作能力。
考核内容及要求见附件1。
考核时间:程序电子档及纸质报告书提交截止时间为第12周星期三12:00。
2、评分标准:报告各项目认真填写,仿真结果正确,具有清晰的设计思路及仿真结果分析。
(90-100)报告各项目认真填写,仿真结果基本正确,具有较为清晰的设计思路并对仿真结果进行了较为清晰的分析。
(80-89)报告各项目认真填写,设计思路正确,能得到仿真结果。
(70-79)报告进行为较为认真的填写,有设计思路。
(60-69)报告有未完成项或各项填写不属实或他人代做或抄袭。
(<60)注:所提交的材料包括报告书和完成的程序源代码,若报告书或程序源代码出现雷同,以0分计。
(报告格式见附件2)课程主讲教师:教研室:信息科学与工程学院:附件1考核内容及要求1、每个学生以自己的学号建立子文件夹,所有程序、数据均放入该子文件夹中;2、共三个题目分别为题目A,题目B,题目C, i=1:11学号后两位为 (i-1)*3+1 的同学完成题目A学号后两位为 (i-1)*3+2 的同学完成题目B学号后两位为 (i-1)*3+3 的同学完成题目C3、编写一个脚本主程序命名为:Amain.m(题目B用Bmain.m,以此类推)调用其它的函数完成全部要求功能;其余函数或数据文件的命名以A字母开始后接自己学号的后10位再加上一个一位的序号,如学号为631206040101的同学,除主程序之外另有两个文件(函数或数据文件),则分别命名为A12060401011和A12060401012;题目A随机生成n个(0,1)之间的数,学号为单数的同学将大于等于0.5的变为1,小于0.5的变为0得到一个n位的01序列(n取你学号的后三位所组成的整数)并对对生成的序列加奇校验码;学号为偶数的同学将大于0.4小于0.6的数的变为1,其余的变为0得到一个n位的01序列(n 取你学号的后三位所组成的整数) 并对生成的序列加偶校验码;假设1个符号的持续时间Tb=0.001s,载波1频率为5KHz,载波2频率为10KHz,试对生成的随机01序列进行2FSK 调制,并在同一图形界面上画出调制信号,已调波形(前10个二进制位)及调制之后功率谱图;设计两个带通滤波器将上述生成的2FSK信号分解成两个2ASK信号,并分别画出信号波形(前10个二进制位)。
matlab 课程设计 实验报告

前言 (3)一.课程设计题目及要求 (4)1.1 课程设计的目的 (4)1.2课程设计内容及要求 (4)二.设计具体实现 (6)2.1 设计思想 (6)2.2 系统功能结构 (6)3.关键部分详细描述和介绍 (7)3.1 信号产生函数 (7)3.2 幅频分析函数 (8)3.3 相频分析函数 (8)3.4 切比雪夫高通滤波函数 (10)3.5 窗函数法高通滤波函数 (11)3.6 输出信号分析函数 (12)四. 心得体会 (13)参考文献 (14)源程序 (15)数字信号处理课程设计与《数字信号处理》课程配套,是电子通信工程专业的重要实践环节。
数字信号处理是每一个电子信息科学工作者必须掌握的重要知识。
数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。
它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。
具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。
数字滤波器, 是数字信号处理中及其重要的一部分。
随着信息时代和数字技术的发展,受到人们越来越多的重视。
数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。
数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。
FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在处收敛,极点全部在z = 0处(因果系统),因而只能用较高的阶数达到高的选择性。
FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变,这是很好的性质。
matlab课程设计

matlab课程设计Matlab课程设计是计算机科学与技术专业中非常重要的一门课程,它旨在培养学生对Matlab软件的使用和开发能力。
本文将从课程设计的目的、内容、实施步骤和实践效果等方面进行阐述。
Matlab课程设计的目的是为了让学生掌握Matlab软件的基本操作和编程能力,培养学生分析和解决问题的能力。
通过课程设计,学生可以学会使用Matlab进行数据处理、图像处理、信号处理等方面的工作。
同时,课程设计还可以让学生了解到Matlab在科学计算和工程设计中的应用,提高学生的实践能力。
Matlab课程设计的内容包括Matlab基础知识、数据处理、图像处理、信号处理等方面。
在课程设计中,学生需要学习Matlab的基本语法和常用函数,了解Matlab的数据类型和数据结构。
同时,学生还需要学习如何使用Matlab进行数据处理,包括数据的读取、存储和处理等。
此外,学生还需要学习如何使用Matlab进行图像处理和信号处理,掌握常用的图像处理和信号处理算法。
然后,Matlab课程设计的实施步骤一般包括课程设计选题、需求分析、系统设计、编码实现和系统测试等环节。
在选题环节,学生可以根据自己的兴趣和专业方向选择一个适合的课程设计题目。
在需求分析环节,学生需要明确课程设计的目标和需求,确定系统的功能和性能要求。
在系统设计环节,学生需要设计系统的结构和模块,确定系统的输入和输出。
在编码实现环节,学生需要根据系统设计的要求,使用Matlab编写程序代码,实现系统的功能。
在系统测试环节,学生需要对系统进行功能测试和性能测试,保证系统的正确性和稳定性。
Matlab课程设计的实践效果主要体现在学生的实际操作能力和问题解决能力上。
通过课程设计,学生可以熟悉Matlab软件的使用和开发过程,提高自己的实践能力。
同时,课程设计还可以培养学生的问题解决能力,通过分析和解决实际问题,提高学生的综合能力和创新能力。
Matlab课程设计是计算机科学与技术专业中非常重要的一门课程,通过课程设计可以培养学生对Matlab软件的使用和开发能力。
MATLAB课程设计

一、MATLAB简介MATLAB是一种专业的计算机程序,用于工程科学的矩阵数学运算。
它极其灵活的计算体系,用于解决各种重要的技术问题。
Matlab 程序执行matlab 语言,提供了一个极其广泛的预定义函数库,这样就使得技术工作变得简单高效。
在解决工程技术问题方面,MATLAB 比其它任何计算机语言都简单高效。
在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在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传.在当今30多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大类.一类是数值计算型软件,如MATLAB,Xmath,Gauss等,这类软件长于数值计算,对处理大批数据效率高;另一类是数学分析型软件,Mathematica,Maple等,这类软件以符号计算见长,能给出解析解和任意精确解,其缺点是处理大量数据时效率较低.MathWorks公司顺应多功能需求之潮流,在其卓越数值计算和图示能力的基础上,又率先在专业水平上开拓了其符号计算,文字处理,可视化建模和实时控制能力,开发了适合多学科,多部门要求的新一代科技应用软件MATLAB. 经过多年的国际竞争,MATLAB以经占据了数值软件市场的主导地位.MathWorks公司1993年推出了MATLAB 4。
matlab实验报告总结

matlab实验报告总结1.求一份matlab的试验报告计算方法试验报告3【实验目的】检查各种数值计算方法的长期行为【内容】给定方程组x'(t)=ay(t),y'(t)=bx(t), x(0)=0, y(0)=b的解是x-y 平面上的一个椭圆,利用你已经知道的算法,取足够小的步长,计算上述方程的轨道,看看那种算法能够保持椭圆轨道不变。
(计算的时间步长要足够多)【实验设计】用一下四种方法来计算:1. Euler法2. 梯形法3. 4阶RK法4. 多步法Adams公式【实验过程】1. Euler法具体的代码如下:clear;a=2;b=1;A=[0 a; -b0];U=[];u(:,1)=[0;b];n=1000000;h=6*pi/n;fori=1:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5; u(:,i+1)=u(:,i)+h*A*u(:,i);endt=1:n+1;subplot(1, 2,1);plot(1:n,delta);gridon;subplot(1,2,2);plot(u(1,:),u(2,:));gridon;max(abs(delta-ones(1,length(delta))));结果如下:2. 梯形法具体的代码如下:clear;a=2;b=1;A=[0 a; -b 0];U=[];u(:,1)=[0;b];n=300;h=6*pi/n;for i=1:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;v1=u(:,i)+h*A*u(:,i);v2=u(:,i)+h*A*(u(:,i)+v1)/2;1u(:,i+1)=u(:,i)+h*A*(u(:,i)+v2)/2;endt=1:n+1;sub plot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下 3. 4阶RK法clear;a=2;b=1;A=[0 a; -b 0];U=[];u(:,1)=[0;b];n=70;h=6*pi/n;for i=1:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;k1=A*u(:,i); k2=A*(u(:,i)+h/2*k2); k3=A*(u(:,i)+h*k3); k4=A*(u(:,i)+h*k3); u(:,i+1)=u(:,i)+h/6*(k1+2*k2+2*k3+k4);endt=1:n+1 ;subplot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下:4. 多步法Adams公式clear;a=2;b=1;A=[0 a; -b 0];U=[];u(:,1)=[0;b];n=200;h=6*pi/n;u(:;2)=u(u,1)+h*A*u(:,1);u(:;3)=u(u,2)+h/2*A*(3*u(:,2)-u(:,1));u(:;4)=u(u,3)+h/12*A*(23*u(:,3)-16*u(:,2)+5*u(:, 1)); delta(1)=((u(1,1)/a)^2+(u(2,1)/b^2)^0.5 delta(2)=((u(1,2)/a)^2+(u(2,2)/b^2)^0.5delta(3)=((u(1,3)/a)^2+(u(2,3)/b^2)^0.5for i=4:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;u(:,i+1)=u(:,i)+h/24*A*(55*u(:,i)-59*u(:,i-1)+37 *u(:,i-1)+37*u(:,i-2)-9*u(:,i-3));endt=1:n+1;sub plot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下:【实验分析】通过这几种方法对比,发现最为稳定的是多步法Adams公式和4阶RK法,其次是梯形法,而欧拉法最为不稳定。
数学实验MATLAB版课程设计

数学实验MATLAB版课程设计选题背景数学实验是数学教育中不可或缺的一部分。
随着科技的发展,各类软件工具也逐渐进入了数学实验领域。
MATLAB作为一款广泛应用于科技领域的数学计算软件,被越来越多的教师和学生所使用。
本课程设计旨在利用MATLAB软件,进行一系列有趣且具有实际意义的数学实验,以提高学生对数学的兴趣和实际应用能力。
选题内容本课程设计共包含以下三个实验项目:实验一:数学模型的建立与求解本实验旨在让学生了解数学模型的概念和建立方法,并通过MATLAB软件进行模型的求解。
具体步骤如下:1.学生自主选择一个实际问题,如某产品销售量的预测、某城市的交通流量分析等,并对问题进行分析,确定所需变量和关系。
2.学生利用所学知识建立相应的数学模型,并用MATLAB进行求解。
3.学生根据实际情况,对模型和求解结果进行分析和评价。
实验二:微积分理论的应用本实验旨在让学生了解微积分的基本理论和应用,以及MATLAB软件在微积分计算中的作用。
具体步骤如下:1.学生自主选择一个数学问题,如函数求极值、曲线积分计算等,并对问题进行分析。
2.学生利用所学知识,通过MATLAB软件进行计算和绘图,并对结果进行分析和评价。
实验三:离散数学的应用本实验旨在让学生了解离散数学的基本知识和应用,在MATLAB软件中实现离散数学的计算。
具体步骤如下:1.学生自主选择一个数学问题,如概率统计分析、图论问题等,并对问题进行分析。
2.学生利用所学知识,通过MATLAB软件进行计算和可视化,并对结果进行分析和评价。
实验要求1.学生需在规定时间内完成实验报告的撰写,并按要求提交。
2.学生需在实验前自行学习相关知识,具备独立思考和解决问题的能力。
3.学生需积极合作,认真对待实验和实验报告的撰写。
实验评估本课程设计采用综合评估方式,主要考虑以下四个方面:1.实验报告的撰写质量,包括实验目的、原理、步骤、结果和分析等。
2.实验过程中的表现,包括合作精神、独立思考能力、问题解决能力等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计实验体会学生姓名:李祥胜学生学号: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对系统进行仿真与分析,在进入虚拟实验环境后,不需要书写代码,只需使用鼠标拖动库中的功能模块并将它们连接起来,再按照实验要求修改各元器件的参数。
通过虚拟实验环境建立实验仿真电路模型,可使一些枯燥的电路变得有趣味,复杂的波形变得形象生动,使得各种复杂的能量转换过程比较直观地呈现。
1.1、MATLAB语言特点及优势1.1.1、语言特点MATLAB被称为第四代计算机语言,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。
MATLAB的最突出的特点就是简洁。
MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。
MATLAB 给用户带来的是最直观、最简洁的程序开发环境。
以下简单介绍一下MATLAB的主要特点。
(1)语言简洁紧凑,使用方便灵活,库函数极其丰富。
MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。
由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。
(2)运算符丰富。
由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短,具体运算符见附表。
(3)MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。
(4)语法限制不严格,程序设计自由度大。
例如,在MATLAB里,用户无需对矩阵预定义就可使用。
(5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。
(6)MATLAB的图形功能强大。
在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。
MATLAB还具有较强的编辑图形界面的能力。
(7)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。
由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。
(8)功能强劲的工具箱是MATLAB的另一重大特色。
MATLAB包含两个部分:核心部分和各种可选的工具箱。
核心部分中有数百个核心内部函数。
其工具箱又可分为两类:功能性工具箱和学科性工具箱。
功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。
功能性工具箱能用于多种学科。
而学科性工具箱是专业性比较强的,如control、toolbox、signal processing toolbox、communication toolbox等。
这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。
下表列出了MATLAB的核心部分及其工具箱等产品系列的主要应用领域。
(9)源程序的开放性。
开放性也许是MATLAB最受人们欢迎的特点。
除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。
1.1.2优势(1)友好的工作平台和编程环境MATLAB由一系列工具组成。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。
包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。
随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
(2)简单易用的程序语言Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。
使之更利于非计算机专业的科技人员使用。
而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
(3)强大的科学计算机数据处理能力MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C和C++ 。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。
函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
(4)出色的图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。
同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。
另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
(5)应用广泛的模块集合工具箱1.1.3、MATLAB的功能详解(1)、MATLAB有着强大的功能,可以用来进行多种工作,具体如下:数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理技术、数字信号处理技术、通讯系统设计与仿真、财务与金融工程等。
由于MATLAB 功能太多,不可能一一介绍,并且每一个功能涉及内容又很多,(2)、介绍起来比较繁琐,因此我们只以图形处理功能为例,通过对MATLAB 图形处理的介绍来展示它的强大功能,并以点代面,进而进一步体现MATLAB的发展现状。
(3)、MATLAB提供了大量用于将矢量数据以曲线图形方式进行显示的函数,包括用于实现图标绘制、科学曲线绘制和各种专业数据可视化显示的二维图形绘制函数;用于表示向量场的数据及二元函数的图形表达的三维图形绘制函数;提供了用于图形效果高级处理的相关函数以及图形句柄操作函数;柱状图、饼图和直方图等特殊图形绘制函数;动画制作等丰富的3D可视化功能。
1.2、课程实验设计思想我们基于MATLAB R2014A。
1)展示一些基本的数值计算;2)通过软件展示几例基本的函数;3)应用简单的程序展示信号系统中一些基本性质,并应用图形可视化。
1.2.1、GUI图形设计简介1.2.2、建立GUI对象首先打开一个空白的GUI面板,并在其布局编辑器中添加控件1.2.3、修改控件属性1.2.4、MATLAB中excel的调用在某些情况下,题设中给出了一系列数据,如学生成绩单实现成绩情况显示图,我们知道,excel的绘图功能特别强大,尤其是面对此类问题,excel可以根据简单的的公式实现强大的数据运算,所以学会MATLAB和excel结合,会给我们带来很大的帮助。
这就需要应用MATLAB与excel的数据交互调用功能,即xlsread调用函数,function sure_Callback(hObject, eventdata, handles) %导入数据确定按钮[]=uigetfile({'*.xls'},'Choose a file');str=[PathName,];set(handles.daoru,'string',str); %显示入可编辑数据导入文本框 [data,text_data]=xlsread(str); %读取str并生成新的数组1.2.5、回调函数程序1.2.6、编写程序function sure_Callback(hObject, eventdata, handles) %导入数据确定按钮[]=uigetfile({'*.xls'},'Choose a file');str=[PathName,];set(handles.daoru,'string',str); %显示入可编辑数据导入文本框[data,text_data]=xlsread(str); %读取str并生成新的数组mess1=data(:,1); %访问excel表格第一列set(handles.showI,'string',mess1) %把字符串显示在显示学号列表mess3=data(:,3); %访问excel表格第三列set(handles.showc,'string',mess3) %把字符串显示在显示语文列表 mess4=data(:,4); %访问excel列表第四列set(handles.showm,'string',mess4) %把字符串显示在显示数学列表 mess5=data(:,5); %访问excel列表第五列set(handles.showe,'string',mess5) %把字符串显示在显示英语列表 mess2=text_data(2:end,2); %访问excel列表第二列set(handles.shown,'string',mess2) %把字符串显示在显示名字列表 handles.mess2=mess2handles.data=data; %保存数据handles.text=text_data;guidata(hObject, handles);通过举例说明学生成绩管理系统的可以按学号或者姓名查询学生成绩及情况如按学号查询(在学号范围内可以显示成绩,否则显示‘Nothing’),按姓名查询(存在姓名可以显示成绩,否则显示‘Nothing’),1.3、学习MATLAB的心得体会恰如开头说的那样:MATLAB凭借其科学计算与图形可视化功能完美结合以及开放的设计理念,在全国受到了普遍欢迎。