MATLAB课程设计实验体会

时间:2024.3.15

课程设计实验体会

学生姓名:李祥胜   

学生学号:  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)     %导入数据确定按钮

[FileName,PathName]=uigetfile({'*.xls'},'Choose a file');

 str=[PathName,FileName];

 set(handles.daoru,'string',str);                %显示入可编辑数据导入文本框

 [data,text_data]=xlsread(str);                  %读取str并生成新的数组

1.2.5、回调函数程序

1.2.6、编写程序

function sure_Callback(hObject, eventdata, handles)    %导入数据确定按钮

[FileName,PathName]=uigetfile({'*.xls'},'Choose a file');

 str=[PathName,FileName];

 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=mess2

 handles.data=data;                                     %保存数据

 handles.text=text_data;

 guidata(hObject, handles);

通过举例

说明学生成绩管理系统的可以按学号或者姓名查询学生成绩及情况

如按学号查询(在学号范围内可以显示成绩,否则显示‘Nothing’),

 

按姓名查询(存在姓名可以显示成绩,否则显示‘Nothing’),

 

1.3、学习MATLAB的心得体会 

    恰如开头说的那样:MATLAB凭借其科学计算与图形可视化功能完美结合以及开放的设计理念,在全国受到了普遍欢迎。这是一款实用的软件,更是一把非常好用的工具。 

 通过学习,我了解到了MATLAB在科学计算,图形和程序设计等三个方面的应用。其中,科学计算部分,用到了我们所学的高等数学、线性代数、复变函数、计算机数值方法、概率论与数理统计和我们即将学到的运筹学等学科的知识。他就像一台试验机一样,为我们提供了一个很好的练习平台,让我们巩固学过的知识,孜孜不倦的为我们服务。图形部分介绍如何利用MATLAB给出的已有函数绘图,如何用点、线、面从底层构建图形,以及科学计算可视化、计算几何等。MATLAB 的图形功能非常强大,科学计算与图形功能紧密结合是MATLAB的主要特点之一。程序设计部分介绍M文件设计、图形用户界面设计、文件操作、编译和接口等内容。并且对Simulink有了一定程度上的了解。从中也认识到自己还有很多的不足,还须要进一步加强。 

    MATLAB在科学应用领域也是很广泛的,在这一方面的应用对于我们来说是另一个层次,只有不断完善自我的知识才能达到如此境界。MATLAB从面世到现在的时间并不算很长,但它的发展却很快,在很我领域中会用到它,由此可见MATLAB对社会的发展有重大意义。作为一个当代大学生,我们应该更加深入的去了解它,学习它,在今后的学习与生活中多加以利用,不断加强我们滋生对其的认识水平,相信与此同时它也会给我们的学习与工作带来极大的便利。  

通过学习,我现在可以用MATLAB实现点、线、面的绘制、着色和变换,可以从零开始构建任何图形。这些功能实现的过程是很有意思的一个过程,当得到了满意的图形时,心中那种自豪感无与伦比,很喜欢这种感觉。 

虽然,MATLAB仅仅是一门课,但我却学到了远非书本上有的很多东西,他给了我很大的帮助

此门课程在工程运算上非常使用且功能强大,学好将受益匪浅,所以从未放弃。


第二篇:MATLAB的实验心得


MATLAB的实验心得

课号:1120168

一、基本理论

三种基本变换:1,用一非零的数乘某一方程;2,把一个方程的倍数加到另一个方程;3互换两个方程的位置。以上称初等变换。

消元法(理论上分析解的情况,一切矩阵计算的基础)

首先用初等变换化线性方程组为阶梯形方程组,把最后的一些恒等式”0=0”(如果出现的话)去掉,1:如果剩下的方程当中最后的一个等式是零等于一非零数,那么方程组无解;否则有解,在有解的情况下,2:如果阶梯形方程组中方程的个数r等于未知量的个数,那么方程组有唯一的解,3:如果阶梯形方程组中方程的个数r小于是未知量的个数,那么方程组就有无穷个解。

用初等变换化线性方程组为阶梯形方程组,相当于用初等行变换化增广矩阵成阶梯形矩阵。化成阶梯形矩阵就可以判别方程组有解还是无解,在有解的情形下,回到阶梯形方程组去解。 定理1:线性方程组有解的充要条件为:R(A)=R(A)

线性方程组解的结构:

1:对齐次线性方程组,a: 两个解的和还是方程组的解;b: 一个解的倍数还是方程组的解。定义:齐次线性方程组的一组解u1,u2,….ui 称为齐次线性方程组的一个基础解系,如果:齐次线性方程组的任一解都能表成u1,u2,….ui的线性组合,且u1,u2,….ui线性无关。

2:对非齐次线性方程组

(I) 方程组(1) 的两个解的差是(2)的解。

(II) 方程组(1) 的一个解与(2)的一个解之和还是(1)的解。

定理2 如果r0是方程组(1)的一个特解,那么方程组(1)的任一个解r都可以表成: r=ro+v…….(3)

其中v是(2)的一个解,因此,对方程(1)的任一特解ro,当v取遍它的全部解时,(3) 就给出了(1)的全部解。

二、求非齐次线性方程组的通解(A*X=b)

非齐次线性方程组需要先判断方程组是否有解,若有解,再去求通解。

因此,步骤为:

第一步:判断AX=b是否有解,(利用基本思路的第一条)

若有解则进行第二步

第二步:求AX=b的一个特解

第三步:求AX=0的通解

第四步:AX=b的通解为: AX=0的通解加上AX=b的一个特解。

在Matlab中建立M文件如下

% exp4.m

clear all

A;b; %输入矩阵A,b ?

[m,n]=size(A);

R=rank(A);

B=[A b];

Rr=rank(B);

format rat

if R==Rr&R==n % n为未知数的个数,判断是否有唯一解

x=A\b;

elseif R==Rr&R<n %判断是否有无穷解

x=A\b %求特解

C=null(A,'r') %求AX=0的基础解系,所得C为n-R列矩阵,这n-R列即为对

%应的基础解系

% 这种情形方程组通解xx=k(p)*C(:,P)(p=1…n-R)

else X='No solution!' % 判断是否无解

end

三、MATLAB实验心得

数学实验,首先为强化理论和方法原理教学提供了条件。对非数学专业的学生来说,学习数学的意义主要是两方面:一是得到一定程度的逻辑思维能力的训练,二是掌握必要的数学理论和方法,知道其应用条件和使用步骤。引入数学实验,增强了课程的直观性和可操作性。非数学专业的学生学习数学课程都是有实用目的,但方法的应用仅靠手工完成,学生不免对其实用性产生怀疑,容易降低学习兴趣。软件实验解决了这个问题。

引入软件实验,是普及数学应用的一种手段。突破计算瓶颈,为数学应用的普及打开了一扇大门。学生掌握了软件计算技能,为其今后科研的开展奠定了基础。

引入Matlab数学实验后,首先为强化理论和实践结合提供了一种崭新的途径。对理工科专业的学生来说,学习数学的意义主要是两方面:一是逻辑思维能力和抽象思维能力的训练,二是必要的数学理论和工具的掌握,学习其应用条件和使用步骤。可以使用Matlab软件来求解后续课程诸如信号与系统、电路基础、通信原理、自动控制原理等学科中有关线性代数的相关计算内容。

因为在课堂上既要保证理论教学的完整,又要兼顾实践教学,引入实验后可以解决繁琐的计算,减少了计算教学的时间,增强课程的直观性和可操作性,引起学生学习线性代数的热情,使其掌握软件的基本计算技能,为其今后全方位发展奠定坚实的基础,通过一年的实践,学生反映热烈,学习积极性在逐步提高,学习效果也有明显的提升,值得在在更多的专业进行推广。

更多相关推荐:
财务会计课程设计难点汇总及心得体会

经过三周的艰苦奋斗,财务会计课程设计这门大实验终于告一段落,虽然课程设计的过程很艰辛,但是也收获了不少。在课程设计的过程中,首先,我们知道了如何将自己所学的会计知识融会贯通于实际操作中,锻炼了自身的能力;其次,…

会计课程设计心得

会计课程设计心得有一种“东西”一去不复返,不因人的主观意念而改变。她既给我们留下了美好,留下了期待,也留下了记忆的伤痕,金钱没了可以赚回来,但这个所谓的“东西”是用金钱买不到的,那就是我们每时每刻都在享用的时间…

会计学课程设计总结

xx大学《会计学》实习总结20xx-20xx学年第一学期系别专业班级学生姓名指导教师成绩评定一、实习目的会计学模拟实习是《会计学》的课内实习。主要目的是通过手工模拟实习,使学生能够系统、全面地掌握企业会计核算的…

课程设计心得(会计实训)

课程设计报告10921610325郑皓月本学期在夏季的第三学期,进行了课程设计“财务会计综合实验”实训。财务会计综合实验目的在于提高实际应用水平。在培训过程中,通过做分录,填制凭证到制作账本来巩固技能。通过财务…

基础会计培训心得体会

《基础会计》在线培训心得体会为了学习优秀教师先进的教学方法和教学理念,提高我院教师的教学水平,在学院和系部的安排下,我于20xx年x月~20xx年x月,历时两个月的时间,在教师发展在线接受网络培训,学习了沃健…

工程成本会计课程设计心得

工程成本会计课程设计心得体会学习工程成成本会计已近一学期,在这半年的学习中,不仅对成本会计有了比较系统和科学的认识,并且学到实用的技巧去处理相关方面的问题。本学期的主要学习内容是学习有关工程成本会计的知识,对会…

会计学习心得体会

一、通过基础会计的学习,使我进一步体会到了会计在经济生活中的重要作用。会计工作是经济管理的重要组成部分,在经济发展中发挥着基础作用。建立和实施会计制度规范了单位的会计核算,提供了真实完整会计信息,规范有序的会计…

建大管理会计课程设计3组

全面预算管理体系设计和模拟运行实训指导书3组一实训目的会计模拟实训的基本目标是让学生通过会计模拟实训巩固所学会计理论知识提高实际动手能力以培养学生的创新能力和实践能力本全面预算管理体系设计和模拟运行实训就是要让...

会计课程设计

一模拟实训目的会计综合课程设计是会计学专业的学生必修集中实践的课程之一为了提高我们的会计实务操作水平培养会计业务综合处理能力因此在本学期末安排了为期一个月的会计综合课程设计此次实训突出了综合性完整性超前性和系统...

会计专业网络课程设计

会计专业网络课程设计提要会计网络课程作为高校质量改革的重点部分在高职教学质量改革中扮演着很重要的角色对会计专业网络课程进行教学分析和系统设计将网络课程教学与传统学科课程教学有机结合使它们在新的水平上结合成一个整...

基于课程标准的教学设计思路(学习心得)

基于课程标准的教学设计思路学习基于标准的教学相关书籍的体会广汉市研培中心蒋玉国前言课程标准是对学生经过某一学段之后的学习结果的行为描述澳大利亚维多利亚州课程标准框架中指出课程标准描述的是学生学习所包括的主要领域...

学习多媒体演示文稿的设计与制作心得体会

学习多媒体演示文稿的设计与制作心得体会王村镇墩台小学李瑞婷从20xx年1月4日开始我参加全国中小学教师信息技术应用能力工程的培训跟西北师大赵健教授学习了多媒体演示文稿设计与制作出高级培训由衷感谢领导为我们搭建了...

会计课程设计心得体会(23篇)