matlab学习体会

2024-05-25 版权声明 我要投稿

matlab学习体会

matlab学习体会 篇1

1.cd显示当前的工作目录,dir列出当前目录下的子文件或子目录,home将光标移动到左上角,type列出所有的文件内容。

2.特殊矩阵的生成:

3.linspace生成矩阵:

(1)linspace(a,b):生成100个数据的向量;

(2)linspace(a,b,n):生成n个元素的向量,线性分布; 4.logspace生成矩阵:

(1)logspace(a,b)生成50个对数元素的向量,x(1)=10^a,x(50)=10^b;

(2)logspace(a,b,n):同linspace的用法; 5.指数与对数函数:

6.复数函数:

7.基本数组函数:

8.矩阵变换函数:

9.数据的输出格式由format命令来控制,但是只是影响其显示的结果,对计算结果或者是存储没有影响:

10.常用的变量和常量:

eps:浮点运算的精确程度,是MATLAB中的计算误差;

realmax:计算机能够显示的最大的浮点数;realmin:同其相对应; 11.一些特殊的标识符:

12.bar条形图:

13.几种特殊的图形颜色矩阵:

14.照相制图的函数:

15.axis ij:设置坐标为矩阵格式,坐标原点在左上角;axis为默认值; 16.坐标设置命令:

17.光源设置:

18.字符处理函数:

19.矩阵分解:

20.矩阵函数:

matlab学习体会 篇2

关键词:复变函数,傅里叶变换,Taylor展式,留数

一、引言

复变函数是数学分析的继承和发展, 是数学学习的基础和重点课程, 但由于其自身的特点, 在实际学习中, 许多的同学认为此门课程抽象、枯燥、不易理解. MATLAB是一种具有强大数值计算、分析和图形处理功能的软件, 其应用领域非常广泛, 并且使用方便、代码少、效率高. 本文把复变函数的学习和MATLAB结合起来, 以具体实例的形式介绍了MATLAB软件在复变函数中的应用.

二、MATLAB在复变函数学习中的应用实例

1. 复变函数中的基本计算

利用MATLAB软件可以非常简单的求解复变函数中的基本运算, 如复变函数的函数值、函数值的实部和虚部、辅角、模和共轭函数等. 比起传统的手工运算更方便、快捷.

例1 求函数z = 2* sin ( 4 - 3* i) 的函数值、函数值的实部和虚部、辅角、模与共轭函数.

MATLAB语句如下:

2. 求解复变函数的导数

解析函数是复变函数研究的主要对象, 因此讨论函数的可微性和解析性是复变函数的重点内容之一. 同样, 利用MATLAB软件也可以求解复变函数的导数.

例2试求函数f (z) =ez/sinz在z=4*i处的到数值.

MATLAB语句如下:

3. 求解复变函数的积分

复积分的值与被积函数和积分曲线均有关系, 从而加大了求解复积分的难度, 但是利用MATLAB软件可以容易地求解其结果.

例3求解积分, 其中c为|z|=2.

MATLAB语句如下:

4. 求方程的根

复数域上的任何一元N次方程, 均有N个根. 利用MATLAB软件同样可以求解.

例4求方程的根.

MATLAB语句如下:

5. 留数的计算

留数理论及其应用对复变函数论的发展起到一定的推动作用, 因此学好留数至关重要, 但某些复变函数的留数并不容易计算, 所以, 我们借助MATLAB软件来求解, 既简单, 又快捷, 而且又准确.

例5 计算函数的极点和留数.

MATLAB语句如下:

6. 有理函数的部分展开式

复变函数的又一重要知识点之一, 有理函数的部分分式展开式, 可以直接利用MATLAB语言中的residue求解.

例6 求函数的部分分式展开式.

MATLAB语句如下:

7. 复变函数的Taylor展开式

级数在复变函数中也占有重要的地位, 对于求解一些级数的Taylor展开式, 工作量巨大, 所以我们可以利用MATLAB软件来求解.

例7 设函数f ( z) = sin ( z + 2) + cos ( z - 2) 在z = 3 处的前六项Taylor展式.

MATLAB语句如下:

8. 傅里叶变换及其逆变换

傅里叶变换及其逆变换是复变函数的又一重要内容, 但其变换过程很复杂, 不易求解. 因此, 利用MATLAB软件来求解.

例8 已知f ( t) = exp ( - t) * cos ( 2 * t) , 求f ( t) 的Fourier变换, 并对结果进行逆变换.

MATLAB语句如下:

9. Laplace变换及其逆变换

在MATLAB语言中可以使用Laplace函数来实现Laplace变换

例9设函数, 求其Laplace变换, 并对结果进行Laplace逆变换.

MATLAB语句如下:

10. MATLAB绘图功能在复变函数学习中的应用

在复变函数的学习中, 复变函数图形的绘制常常是繁杂的, 仅凭手工很难绘制出来. 而MATLAB软件在绘图方面具有很大的优势. 因此, 借助MATLAB软件的绘图功能, 可以快捷、准确的画出复变函数的图形, 使复变函数的学习变得形象、生动, 有利于学生从图形获得相应的性质.

例10绘制函数的图形.

三、结语

本文通过以上的十个实例, 充分展示了MATLAB在求解复变函数的相关问题中, 具有规范、简洁、灵活的特点, 充分体现了MATLAB的实用价值, 同时也培养学生运用MATLAB语言编程的能力, 对同学们学习后继的数学课程以及在工作中使用数学软件都大有裨益.

参考文献

[1]胡良剑, 孙晓君.MATLAB数学实验 (第二版) [M].北京:高等教育出版社.

[2]郭秀凤, 卢亮.MATLAB在复变函数中的应用[J].科教文汇出版社.2015. (3) .

[3]陈静, 段振辉.MATLAB在复变函数与积分变换课程教学中的应用[J].河南机电高等专科学校学报.2011 (9) .

[4]陈耀庚, MATLAB在《复变函数》教学中的应用[J].科技信息.

matlab学习体会 篇3

对于广大的研发人员来说,如何加速MATLAB应用一直是一个焦点问题,随着多核或计算机集群的普及,很多用户想知道如何利用这些高性能的硬件来加速MATLAB。

对此,MathWorks 中国教育业务发展总监陈炜博士表示,新版MATLAB的增强功能让今天的工程师和科学家不依靠可执行的资源即可开发并行应用程序,帮助他们在更短的时间内开发越来越复杂的建模系统,借助并行计算技术,MATLAB应用程序可通过同时运行8个本地进程来提升性能,从而充分利用多核机器。

MATLAB学习心得 篇4

专业:通信工程 班级:141 姓名:张焱 学号:2014136123

不知是对老师的好感还是因为专业的需要,当c语言的学习结束后我主动选择了学习Matlab。以前的我从来都没有听说过这个软件,感觉好高大上,也不知道它到底能干什么,不知道它是否会学的很困难。但是经过这一段时间的学习我已经对Matlab有了比较多的认识,可以进行一些简单的画图计算。但这仅仅只是一个开始,它的功能是如此的丰富,用途是如此的广泛,我需要长久深入的去学习。

Matlab的主要功能有数值分析、数字图像处理、数值和符号计算、数字信号处理、工程与科学绘图、通讯系统设计与仿真、控制系统的设计与仿真、财务与金融工程…… 真的是功能强大。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。就我们通信工程专业而言Matlab的作用十分广泛,十分重要。到大二的时候我们专业还会开MATLAB的专业必修课,由于MATLAB的功能强大,用途广泛我们到时候只学习与通信电子有关的知识,而现在是对MATLAB的全面的了解,以及用它解决一些简单的数学问题。学的还远远不够。

之所以学习MATLAB就是因为它有很多优点。

1)高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来; 2)具有完备的图形处理功能,实现计算结果和编程的可视化;

3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;

4)功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。。。。

MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C语言基础上的,因此语法特征与C语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。而且,我们正学过C语言不久,学习起来还是比较容易的。毕竟C语言是基础嘛!

学习Matlab的时间并不长,不是应为它容易学习,而是时间太少,我们只是做一个基础性的了解,在未来的学习生活中还要继续学习。通过六周每周一次的讲解,到今天位置也就讲完了。现在简单回顾一下:

第一讲:简介。

让我们了解了Matlab的用处和重要性,以及它强大的功能。对我们通信专业的重要意义。

第二讲:向量与矩阵的运算。学了一个学期的线性代数,才知道原来有切看似复杂的计算在Matlab中只不过是例如:解方程组

X1+2X2+3X3=2

3X1-5X2+4X3=0

7X1+8X2+9X3=2

大家可以看到在Matlab中求解

这样的计算神器。一调用几个函数。矩阵方程是如此简单。

第三讲:MATLAB

二维作图

图像是我们理工学科的重难点。数形结合是我们研究问题解决问题的基本思路。通过Matlab的强大画图功能能让我们更加清楚的理解我们所要解决的问题。

于是画图就变得如此简单而又神奇。、第四讲:MATLAB 三维作图

二维图像可以很好地展现,三维图像更是如此。比如有些图形,如墨西哥草帽图、马鞍面…

第五讲:MATLAB 程序设计

我们知道Matlab也是一种计算机语言。它集成了C语言C++等语言的优点,那么编程就非常有必要了。普通的计算可以通过几个简单的函数完成,但稍微复杂一点的计算就需要编程了,Matlab的编程比较简单,有了c语言的基础这点编程不算什么。

第六讲:MATLAB 符号运算

本讲讲了符号运算的核心和常见的六大符号运算的核心。其实我觉得本讲的知识非常重要,至少对我来说是这样。人类所生产的各种东西是为了人类自身更加方便的生活,而最后一讲老师只通过二十分钟左右的讲解就用Matlab解决了高数中的六类计算问题。这让我很惊讶,当然事实就是如此。只是几个函数的简单调用因式分解、计算极限、计算导数、计算不定积分、定积分、反常积分、符号求和、解常微分方程…好强大的计算功能啊!如果熟练掌握那么对我以后学习计算速率的提高会有很大的帮助。

我觉以下几点对于学好Matlab很重要:兴趣、悟性、勤奋、坚持。

(1)兴趣,不知道哪位名人说过“兴趣是最好的老师。”我觉得非常有道理,我曾对于matlab制作动画很感兴趣,并收集了很多例子,在小木虫贴出来后很多人对于matlab制作动画都很感兴趣, 计算模拟版活动---程序模拟动画展示,一个人一旦对某事物有了浓厚的兴趣,就会主动去求知、去探索、去实践,并在求知、探索、实践中产生愉快的情绪和体验。这样才能主动学习,并且学好到精通。

(2)悟性,通常人认为指顿悟,慧根,我觉得就是对一个问题不断的思索,将自己的体会和感受融合,获得属于自己的知识。有很多事情、问题,都是可以想明白的。只有不停的想,才能想明白,想透彻。就像我自己解决matlab编程进行DGGE电泳图谱多样性相似性分析,当时没有工具,而且问题必须解决,于是我不停的想,吃饭时,睡觉前,最终终于解决。(3)勤奋,一勤天下无难事。从古到今,有多少名人不是有勤奋而得来成功的。现在的年轻人,一代比一代聪明。要不被别人淘汰,要超越别人,只有靠时间堆出来。每天多学一些,多积累一些。学习matlab也一样,想要学会,使用熟练,不花时间练习,写代码,亲自运行调试,是很难掌握好的。

(4)坚持,认准了的事情,就坚持做到底,直到有所收获。事实上,很多人实现不了自己的目标,很大程度上就是少了一种坚持、非要把事情干到底的精神,他们往往浅尝辄止,因此眼睁睁失去了可能到手的成功。光有兴趣,只有三分钟的热情是很难成事的。很多事情的成功取决于踏平坎坷地坚持的毅力。看准了的事情,如果没有百折不挠的坚持,绝难取得成功。看准的事情就不屈不挠地坚持干下去直至成功,才是智者的唯一选择。每一个人都明白所有梦想的实现都需要努力,然而,很多人只所以没有实现心中的梦想,就在于多了空想、犹豫,少了努力坚持。

matlab心得体会 篇5

Matlab,提起它,不管我们上课是否认真听讲了,我们都应该对它不再陌生,我们不可否认它的强大之处,正如一节课时老师给我们说的“Matlab可以做很多事情”。通过近一段的学习,使我更加确信,它是一款集数据分析、矩阵运算、信号处理和图形显示于一体,可方便地应用于数学计算、算法开发、数据采集、系统建模和仿真、数据分析和可视化、科学和工程绘图、应用软件开发等方面的强悍软件,是研究人员、工程人员研究工作中 不可多得的工具。

正因为其强大之处,以及可视性及可交互性使我对它的学习产生了浓厚的兴趣。开学至今,短短十次课,我们学习了Matlab矩阵及其运算、Matlab程序设计、M文件操作、M文件调试、M文件高级编程以及Matlab绘图等„„不敢保证每节课都认真听讲,但都尽力去听,一段时间下来,对Matlab还是有了一定的框架性认识 及编程能力。但对于Matlab这样的软件来说,套用曾经一个老师

说的话“我给你们讲的都是皮毛,你们学到的更是皮毛中的皮毛”,虽然有点搞笑,但却是不争的事实,学习软件类的东西,最好的办法就是激发兴趣和多加练习。我想当老师在课堂上给我们演示如何用Matlab编程解决一些实际问题以及编程出现一些绚丽丰富的图形时,我们无不惊叹其美丽,我想凭这一点激发起同学们的兴趣是没有问题的,但问题是同学们为什么还说它难学呢?关键还是在于同学们下课后缺乏锻炼,加之每次课间隔时间较长,仅凭上课时记得的东西,是很难连贯及熟练运用的。

关于如何才能够更好地学习好Matlab,通过下面同学们之间的交流,综合同学及个人意见,提出以下几点建议(纯属个人观点,如有不妥,还请见谅):

1、针对学习资料:

希望邮箱中上传PPT文件标清章节号,一来方便有兴趣及精力的同学提前学习,二来方便同学下来后及时按照章节复习。(注:尤其是对初学者由易到难的过程中显得尤为重要)

2、针对上课学习

对于软件类的学习存在这样一个问题,那就是同学们上课挺感兴趣得听讲,听到入迷时恨不得立刻就找一台电脑试一试,但下课后可能去忙其他事情,不一会儿,这一份热情就消退了,也不会再去练习。针对此,考虑到目前大多数同学都有电脑的情况下,我们是否可以让同学们上课时带电脑到课堂上,一方面老师在讲台上演示,另一方面同学们在下面即时练习,这样也许会收到更好地教学效果。

3、针对课下学习

本学期Matlab学习,老师给的课下作业很少,也许老师考虑同学们比较忙,以及可能交上来的作业效果质量达不到预期效果。但我认为适量的课下作业还是非常有必要的,尤其是对于目前大学生普遍自制力较差的情况,这点显得更加有意义。针对如何布置课下作业以及布置什么作业,根据自身学习经验认为这样比较好:课下作业可以布置那些上课老师演示过的程序或PPT中程序略加改动,让同学们下课后及时完成上交。这不仅使同学们及时复习课上学习内容,也不至于使那些学习效果不佳的同学认为作业太难而直接放弃做去copy别人的。

matlab学习体会 篇6

____________________

业:

_____ 制药工程 ___ __ __

级:

_____ 14040242__ __ __ __

号:

_____ _ 14040242 xx_ _ _____

名:

_______x x xxxxx ________

中北大学理学院

目录 实验八

级数及运算.......................................................................................................................3 【实验类型】

...........................................................................................................................3 【实验学时】

...........................................................................................................................3 【实验目的】

...........................................................................................................................3 【实验内容】

...........................................................................................................................3 【实验方法与步骤】

...............................................................................................................4 实验的基本理论与方法...................................................................................................4 二、实验使用的 MATLAB 函数....................................................................................4 【实验练习】

...........................................................................................................................5

实验八

级数及运算 【 实验类型 】

验证性 【 实验学时 】学时 【 实验目的 】

1.掌握用 MATLAB 判定常数项级数的敛散性的方法。

2.掌握用 MATLAB 进行幂级数求和的方法。

3.掌握用 MATLAB 将函数展开成幂级数的方法; 【 实验内容 】

1.熟悉有关级数收敛、发散的判定方法和级数求和; 2.利用 MATLAB 判断常数项级数的敛散性; 3.熟悉有关幂级数的各种运算; 4.利用 MATLAB 进行幂级数的求和运算; 5.利用 MATLAB 进行函数的幂级数展开;

【 实验方法与步骤 】

实验的基本理论与方法 1.常数项级数的审敛法:

(1)级数收敛的必要条件:若级数1 nnu收敛,则必有0 lim  nnu。

(2)比较审敛法的极限形式:设有正项级数1 nnu,1 nnv,若  nnnvul i m,)0(   ,则级数1 nnu,1 nnv同时收敛或发散。

(3)比值审敛法:设有正项级数1 nnu,若  nnnuu1lim,当1  时级数收敛;当1  时级数发散。

(4)条件收敛与绝对收敛:若级数1 nnu收敛(级数1 nnu必收敛),则称级数绝对收敛;若级数1 nnu发散,而级数1 nnu收敛,则称级数条件收敛。

2.幂级数展开的唯一性:若函数)(x f在含点0x的某一区间内能展开为幂级数,则必为 Taylor 级数              n nx x x fnx x x f x x x f x f x f))((!1))((!21))(()()(0 0)(20 0 0 0 0 的 二、实验使用的 MATLAB 函数

1.), , ,(0 n kk k k f symsum S 

判断级数nkk kkf0的收敛性并求级数的和。

其中,kf为级数的通项,k 为级数自变量,0k和nk为级数求和的起始

项与终止项,并可以将起始或终止项设置成无穷量 inf。若给出的kf变量中只含有一个变量,则在函数调用时可以省略 k。但是在调用这个函数时,需要先用 syms k 声明自变量 k 为符号变量。

2.taylor(f,x,k)

将)(x f按 x=0 进行 Taylor 幂级数展开 taylor(f,x,k,a)

将)(x f按 x=a 进行 Taylor 幂级数展开 其中,f 为函数的符号表达式,x 为自变量,若函数只有一个自变量,则 x 可以省略。k 为需要展开的项数,默认值为 6 项。还可以给出 a参数,表明需要获得关于 x=a 的幂级数展开。

【实验练习】

练习1 判断下列级数的收敛性,若收敛并求和。

(1)121nn

(2)1cos10 nnn 

(3)11(2)nnn n 练习2 求下列函数的收敛区间及和函数。

(1)02nnnnx

(2)0(1)!nnn xn 练习3 将下列函数展开成幂级数(1))0()ln(  a x a展开为 x 的幂级数(2))(sin 2 x展开为 x 的幂级数(3)3x展开为1  x的幂级数。

matlab学习体会 篇7

作为理工科各专业的一门本科基础课程, 《线性代数与解析几何》课程的基本方法理论是学生进行后续专业研究所必备的。由于此课程中概念、结论较为抽象、复杂, 传统的课堂教学对其的讲解必然是有限且不充分的, 因此学生需要在课余时间借助其他教学资源进行必要的自主学习。

二、课程对学生自主学习能力的要求

1.《线性代数与解析几何》课程的教学特点及存在的问题

通常情况下, 《线性代数与解析几何》课程是在本科一年级开设。在教学过程中, 学校对此课程多采用大班授课形式。授课教师可以结合多媒体课件进行理论教学, 以生动的方式来讲解抽象的理论知识; 基于Matlab软件进行实验教学, 充分发挥Matlab的优势来展示相关理论知识的实践性, 着力加深学生对包括行列式、空间解析几何、线性方程组等理论内容的理解。

但是, 很多学生在学习此课程的过程中仍存在困难。一是对于空间解析几何这一章中的许多问题, 学生需要借助形象具体的图形来解决。尽管在课堂上, 教师可以对典型的空间几何图形进行描述, 但并不是所有的问题都能在课堂上得到解决。那么, 学生在课堂之外独立解决其他空间几何问题时, 就不免会对一些几何图形的形成产生困惑, 而这会阻碍其对问题的进一步解决。二是现有的授课过程还很难体现课程内容的实践意义。在目前的授课过程中, 教师的大部分时间都在讲授教学大纲所规定的教学内容, 没有较多时间将课程内容拓展到相关的实际工程问题上。三是许多学生觉得此课程的理论知识较多, 使其学习感到吃力。

这些问题都是教师在教学过程中需要注意, 并应着力解决的。对此, 一些研究者也提出了相应的解决方法, 其中以增强学生的自主学习能力为主。

2. 课程需要学生进行自主学习

所谓的自主学习, 是在20世纪70年代由美国等国家提出。相比于传统的课堂学习方式, 自主学习方式强调学习者是学习过程的主体, 是学习者发挥自主性和创造性的一种学习方式。有效的自主学习, 不仅可以让学习者体会学习中的乐趣, 而且可以提高学习效率。

对于《线性代数与解析几何》课程, 有效的自主学习过程可以帮助学生解决学习中的困难。这是因为, 学生之所以觉得此课程中的定理引理较多, 主要是源于其对理论知识理解得不够深入透彻, 忽视了各知识点间的内在联系, 未能建立起完善的知识体系。尽管一定学时的实验教学, 可以缓解学生在形象思维与课程理论知识间存在的差异, 也可以让学生对课程内容的实用性有一些了解, 但是, 鉴于学时方面的限制, 课堂讲解必然是不充分的, 学生仍需要在课余时间借助其他教学资源进行自主学习。

事实上, 实现有效地自主学习《线性代数与解析几何》课程并不容易。目前, 虽有一些学者对此进行了研究, 但多数研究成果仅是从学习流程角度进行讨论。但是, 要实现真正高效的自主学习, 还应从调动学生的学习兴趣入手, 这也与其他学科课程是一致的。对于理工科学生而言, 只有让其真正认识到所学理论知识是有应用价值的, 让其在解决问题时体会到学习的乐趣和成就感, 才能调动其学习兴趣, 从而使其实现真正的“自主”学习。对此, 许多研究者认为MALAB GUI不失为一种有效的工具。

三、MATLAB GUI 课件对学生自主学习能力的帮助增强作用

GUI是基于MATLAB软件的一种图形用户界面 ( Graphical User Interfaces) , 由窗口、按键、光标、菜单、文字说明等多个对象构成的。用户可以通过一定的方法 ( 如鼠标) 选择、激活图形对象, 从而使计算机产生某些动作或是变化 ( 如实现绘图等) 。基于MATLAB软件, GUI不仅可以实现科学计算和图形处理等功能, 也可以将复杂程序形成可视化人机交互界面, 从而被国内外许多院校接受并作为数学等学科的辅助教学工具。

在《线性代数与解析几何》课程中, 无论是应用空间几何图形的解析几何内容, 还是基于矩阵理论的方程组、向量空间内容, 都是可以设计出相关的MATLAB GUI课件。具体的, 在图1的MATLAB GUI界面中, 平面的参数是可以自行编辑输入的。通过这种自主输入曲面参数的方式, 学生可以更为深刻地体会参数变化对曲面位置及形状的影响, 从而有助于其以空间图形的角度理解问题。

总体上, 对于《线性代数与解析几何》课程而言, MATLAB GUI课件的优势主要表现在以下几个方面:

(1) 可以在较短时间内进行复杂运算, 并且有强大的交互式功能。一方面, MATLAB GUI是基于MATLAB软件进行编写的, 在MATLAB软件可实现的运算都可在MATLAB GUI中实现。即使是一些复杂的运算问题, 也可以用MATLAB GUI以可视化的形式展示在学生面前。另一方面, MATLAB GUI具有强大的交互式功能。

(2) 可以更好地展示理论知识的实践价值。该课程有着深厚的工程实践背景, 这是大学安排学生学习此课程的主要原因之一。MATLAB GUI课件以其设计简洁、操作简便的界面, 将这些工程实践问题生动地展示在学生面前, 这种可视化交互式形式避免了枯燥的文字叙述, 有助于加深学生对知识的理解、增强理论知识的应用价值。

四、结论

《线性代数与解析几何》课程在高校基础教学中发挥着重要的作用。在学习此课程的过程中, 对于抽象的数学知识, 学生难免会感到难于理解并可能产生厌学的情绪。而我们的教学实践表明, 利用MATLAB GUI设计应用案例问题, 通过演示应用案例的解决过程, 可以让学生进一步理解相应的理论知识, 提高其学习兴趣, 从而使其更加积极主动地进行自主学习。

摘要:《线性代数与解析几何》课程是一门本科必修课程, 增强学生学习此课程的自主学习能力, 可以有效地提高学生的学习效率。基于MATLAB GUI课件应用的角度, 阐述了本课程对学生自主学习能力的要求, 讨论了MATLAB GUI在增强学生对此课程的自主学习能力过程中的作用。

关键词:线性代数,MATLAB GUI,自主学习能力

参考文献

[1]周宇剑.基于思维能力培养的大学数学自主学习研究[J].科技信息, 2013, (11) :59.

[2]单正垛.刍议大学数学教学中如何加强学生自主学习能力的培养[J].中国校外教育, 2008, (1) :42.

[3]郭凤云.浅谈如何指导学生开展线性代数的自主学习[J].科教文汇, 2010, (10) :104-105.

基于Matlab的理想斗篷设计 篇8

此模型描述光学粒子追踪来求解光学的大折射率梯度各向异性属性结构。此外,本模型介绍一种曲线平滑技术来处理曲面上的折射率阶跃,这对于像透镜一样的光学设备是典型的。

【关键词】光学隐身;透明渐变折射率;光学粒子追踪

一、模型定义

粒子追踪模块中没有明确的支持来模拟几何光学,但是通过一个将哈密顿方程与零波长限制射线方程的类比,允许我们来求解该问题。这个类比如下:

(一)波矢,k(SI unit: 1/m)在几何光学方程中与在经典力学中的粒子动量p扮演着同样的角色。

(二)角频率,w(SI unit: 1/s)与哈密顿量H扮演同样角色。

对于经典粒子,哈密顿方程如下:

(1)

使用上面的类比:

(2)

(三)粒子的质量应该设置为1。

对于几何光学,角频率由下式给出:

(3)

其中n是材料的折射率,真空下,折射率为1。在斗篷中,折射率是各向异性的,使用球坐标来表达波矢更加方便:

(4)

角频率相应的变为:

二、建模指令

(一)模型向导: 模型向导点击下一步,增加物理场中,选择数学-数学粒子追踪(pt),求解中,选择预制求解-瞬态

(二)全局定义 :定义参数来指定空气框和斗篷的维度

(三)几何建立:对长方体1、球1、球2的建立

(四)定义

现在增加一些表达式来表述斗篷区域从笛卡尔坐标系变换到球坐标系的折射率。波矢也要做相应的变换。

(五)求解1

为了准确计算粒子在各向异性介质中的轨迹;缺省的求解器容差需要严格控制。通过显示缺省的求解器来减小相对容差和绝对容差

(六)结果

通过增加斗篷内部和外部面选择的绘图,射线路径可以更好的呈现

通过在相空间中的绘图你可以观察通过斗篷前后的光束,来研究斗篷的隐身效果。这个可以同两种方法实现,第一种是定义一直剖面图(a Poincaré surface),然后绘制粒子通过斗篷前后的 Poincaré 图

第二种方法是构建粒子的相图来验证粒子的位置和速度在通过斗篷前后是一致的。

三、结果与讨论

光线的轨迹由图3-1绘出。光线到达斗篷并且在内部球周围偏折,对于观察者来说,内部球变得不可见。

更好的一种确定入射光束是否返回到了其初始轨迹是使用Poincaré图或者相图。图3-2显示了初始时间步(红点)和最终时间步(蓝点)的yz平面的Poincaré图。图像显示了x轴上粒子的y坐标值,以及y轴上粒子的z坐标值。这是由于Poincaré截面定义在yz平面。通过斗篷后粒子位置基本上恰好与初始的一样。接近x=0处时由于一些小的数值误差,结果有些偏差。

图3-3显示斗篷前光线(红点)和斗篷后光线(蓝点)在相空间中是(几乎)完全同一的。因此,初始光线的位置和速度在传播过斗篷后被重建,在代碼的数学限制范围之内。

参考文献

[1] J. Pendry, D. Schurig, and D.R. Smith, “Controlling Electromagnetic Fields,” Science, vol. 312, p. 1780, 2006.

[2] A.I. Nachman, “Reconstruction from Boundary Measurements,” Ann. Math., vol. 128, p. 531, 1988.

[3] C.A. Balanis, Advanced Engineering Electromagnetics, Wiley, 1989.

MATLAB课程总结 篇9

班级:14级电子信息与科学技术

姓名:

孙凯

学号 201442398

在过去的两个月里,我们学习了MATLAB教程这一门课程,对此我有一些自己的思考与感悟。

通过学习,我们了解了该软件的历史,是美国mathwork公司推出的一套高效率的数值计算和可视化软件。作为当今社会最具影响力、最具活力的软件,它起源于矩阵运算,现已发展为一款高度集中的计算机语言。

然后我们又学习了这款软件的功能,学会了用它来进行较复杂的科学运算,并实现高质量图形的可视化及界面设计,与其他程序和语言接口。因此,通过这个软件,我们既可以利用其强大的运算功能,又能使用它进行绘图,在接下来的学习中它必定会展现出更大的作用,与我们的生活息息相关。

这样一款应用相当广泛的数学软件,我们也许才刚刚触及皮毛,但我相信在接下来的学习中老师会带领我们进一步加深对它的使用的熟练程度及认识。

Matlab编程习惯总结 篇10

为了增强程序的可读性,在if 结构体开头缩进两格或更多的空间。编程隐患

确保变量名的前三十一个字符是独一无二的,否则,MATLAB 将辨认不出两变量的不 同。编程隐患

如果变量名与MATLAB 中的函数或命令重名,那么这个函数或命令将不能被访问 好的编程习惯

给你的变量起一个描述性的且易于记忆的变量名。例如,货币汇率可以exchange_rate 为变量名。这种方法将使得你的程序更加明确且易于理解。好的编程习惯

在每次用到一个变量时,我们要确保变量名的大小写的精确匹配。在变量名中只使用

小写字母是一个好的编程习惯。好的编程习惯

在MATLAB 赋值语句后加上一个分号来禁止变量值在命令窗口(The Command Windows)的重复。这将大大提高编译的速度。好的编程习惯 如果你在调试程序时需要检测一个语句的结果,可能把句后的分号去掉,这样结果将

会出现在命令窗口(The Command Windows)。编程隐患

不要重定义有意义的预定义变量。否则将后患无穷,制造成出小而难以发现的错误。编程隐患

fprintf 函数只能复数的实部,所以在有复数参加或产生的计算中,可能产生错误的结 果。好的编程习惯

如果数据需要在MATLAB 和其他程序之间交换使用,那么以ASCII 格式存储数据。

如果只在MATLAB 中使用那么,应以mat 文件的形式存储数据。好的编程习惯

以“dat”的扩展名保存ASCII 数据文件,以区别于以“mat”为扩展名的mat 文件。编程隐患

在你的MATLAB 代码中,仔细区分数组运算和矩阵运算。数组乘法和矩阵乘法极易混 淆。好的编程习惯 当你读取和写入数据时,使用适当的单位

自上而下的编程方法是我们正规编程设计的基础。1.清晰地陈述你所要解决的问题

编写的程序大多数情况下要满足一些感觉上的需要,但这种需要不一定能够被人清晰地

表达出来。例如,用户需要一个解线性方程组的表达式。像这样的要求就不够清楚,程序员

就很难编出一个使他满意的程序。他必须弄清楚要有多少问题需要解决?在这些方程式中有

没有对称的形式使我们的开发变得简单?程序设计者必须和使用者讨论所需的程序,他们必

须要对完成的任务有一个精确细致的描述。对问题清晰的描述可以防止误解,并且能够帮助

程序员合理的组织他的思想。上面的例子对问题合适的陈述应为: 设计一个用于解决联立线性方程组的程序,这些方程中未知数的系数为实数,最多有 20 个未知数。

2.定义程序所需的输入量和程序所产生的输出量

指定输入量和输出量,只有这样新的程序才能适应全过程计划。在这个例子中方程式的

系数可能有其预先存在的顺序,我们的新程序必须能按照顺序读取它们。相似地,也需要产 生出这个程序所要求的结果,即输出量,我们还要以一定的格式打印出来。

3.设计你的程序得以实现的算法

算法是指为某个问题找到答案一步接一步的程序。在这个阶段自上而下的编程方法发挥

了作用。编程设计者开始对这个问题进行逻辑划分,把它逐步分解为一个又一个子工作。这

个过程叫做分解(decomposition)。如果一些子工作还是比较大,设计者还可以把他它分解成

更小的块。这个过程将会继续到问题被分解成许多简单且易理解的小块为止。

在问题被分解成小块之后,每一个小块要被进一步的求精,这个过程叫做逐步求精

(stepwise refinement)。在这个过程中,设计者开始于对本小块代码总括性的描述,然后开始

一步一步地定义所需的函数,越来越具体,直到他能够转化为MATLAB 语句。逐步求精的

过程中,我们要用到的伪代码将会在下节为大家介绍。

在算法开发过程中,这个方法是非常有用的。如果设计者真正理解了解决问题这个些步

骤,他将会对问题进行分解和逐步求精。4.把算法转化为代码 如果分解和逐步求精的过程已经顺利完成,那么这一步将会异常地简单。所有程序员都

会将伪代码一句一句地转化为合适地MATLAB 语句。5 检测产生的MATLAB 程序

这一步是真正的拦路虎。首先,程序的每一部分将会被单独地检测,如果有可能的话,整个程序还要被检测一遍。在我们检测程序时,我们必须证明所有合法输入数据值都能够正

常运行。用标准的输入值检测程序,看它是否产生了值。如果在一个程序中执行的算法包含

了不同的分支,你必须检测每一个分支,以保证产生正确的答案。大程序在交付大众使用之

前,必须经过一系列地检测(图3.2)。检测的第一步有时被称为单元检测(unit testing)。在单

元检测过程中,程序的子程序将会被独立地检测以证明它的正确性。当单元检测结束之后,这个程序将进行一系列的组合,把独立的子程序联合产生出最后的程序。程序第一步的联合

通常只包括很少的子程序。通过组合这些子程序,经常用检查子程序或函数之间的联系。在

一系列地组合过程中,越来越多的子程序被加了进来,直到整个程序的完成。在每一次组合 的过程中,每一个错误都会被发现并在进行下一次组合之前纠正过来。好的编程习惯

在我们检测两数值是否相等时一定要小心,因为round off 错误可能会使两个本来应该

相等的值不相等了。这时你可以在round off 错误的范围内它是不是近似相等。好的编程习惯

if 结构体经常缩进2 到3 个空格,以增强程序的可读性。好的编程习惯

对于有许多选项的选择结构来说,最好在一个if 结构中使用多个elseif 语句,尽量不用 if 的嵌套结构。好的编程习惯

对于for 循环体总是要缩进两个或更多空格,以增强程序的可读性。好的编程习惯

在循环执行开始之前,总是要预先分配一个数组,这样能大大增加循环运行的速度。好的编程习惯

那种既可以用向量可以解决的问题,也可以用循环解决的问题,最好用向量解决,这

是因为向量执行的速度快。好的编程习惯

把大的程序分解成函数,有很多的好处,例如,程序部分的独立检测,代码的可复用

性,避免意想不到的错误。好的编程习惯

最是把全局变量声明在函数的开头,这样可以区别于本地变量。好的编程习惯

在函数中的初始注释行之后和第一个可执行性语句之前声明全局变量。好的编程习惯

在两次函数调用之间有持久内存保存本地数据。好的编程习惯

用子函数或私有函数来隐藏特殊目的的函数,这些隐藏的函数只能被其他函数调用。

隐藏这些函数防止了它们偶然的使用,也能防止与其他公共函数重名时发生的冲突。编程隐患

当我们应用关系运算符对复数运算时,一定要小心。关系运算符>,<,<=或>=只比较

复数的实部,而不是它们的模。如果你要用这些关系运算符对一复数进行运算,比较两复 数的模将更加常见。好的编程习惯

用char 函数创建二维字符数组,我们就不用担心每一行的长度不相同了。好的编程习惯

当你访问一单元阵列时,不要把()与{}混淆。它们完全不同的运算。编程隐患

不要创建一个与已存在的数字数组重名的元阵列。如果得名了,MATLAB 会认为你把

单元阵列的内容赋值给一个普通的数组,这将会产生一个错误信息。在创建单元阵列之前,确保同名的数字数字数组已经被删除。编程隐患

应用函数text 从ascii 文件中按行格式读取数据,这个ascii 文件可能是其他语言生成的,或是由其他的应用程序生成的,例如表格。好的编程习惯

除非我们必须与非MATLAB 程序进行数据交换,存储和加载文件时,都应用mat 文

件格式。这种格式是高效的且移植性强,它保存了所有MATLAB 数据类型的细节。好的编程习惯

对于那些必须进行人工检查的数据,或对于那些必须在不同的计算机上运行的数据,用格式化文件创建数据。对于那些不需要进行人工检查的数据且在相同类型的计算机创建

matlab学习体会 篇11

摘要:Matlab是一款功能强大的科学计算软件,本文分别举例介绍了它的绘图、数值计算以及符号计算功能在数学分析教学中的应用。利用Matlab辅助教学,可以使数学知识直观生动,加深学生对知识的理解和掌握,激发学习热情,更有助于提高学生的实践能力和创新能力。

关键词:Matlab 数学分析 绘图功能 数值计算 符号计算

数学分析是理科院校数学专业的一门重要基础课,它为学生学习后续其他专业课程提供了基本的数学知识,但在传统数学分析教学中,内容抽象,过于注重数学的严密性、逻辑性,容易使学生产生畏难情绪,不易激发学生的学习热情。Matlab是一款功能强大的科学计算软件,它集图形处理、数值计算和符号计算等功能于一身,语言简单,界面友好,扩充能力强,在各国高校和科学工程领域有着广阔的应用前景。利用Matlab软件辅助数学分析教学,可使数学分析抽象的理论可视化,加深学生对基本概念及理论的理解,提高学生的学习兴趣。下面举例介绍其在数学分析教学中的一些应用。

1 Matlab绘图功能在数学分析教学中的应用

在数学分析教学中,常常遇到立体图形,借助Matlab绘图功能,可以快速绘出准确美观的图形,既能提高教学效率,省时省力,又能培养学生的空间想象能力。

例1 求螺旋线x=2costy=2sintz=3t (0≤t≤6π)的弧长。

题中给出了螺旋线的参数方程,在求弧长之前,我们先模拟出这条空间曲线,这样做可以使学生们对螺旋线有深刻的认识,并加强他们的空间想象能力。

Matlab编程如下:

ezplot3(′2*cos(t)′,′2*sin(t)′,′3*t′,[0,6*pi],′animate′)

相应的螺旋线可用动画效果来展示,如图1所示。

例2 绘制马鞍面z=xy

Matlab编程如下:

相应的马鞍面如图2所示。从图中清晰看到,(0,0,0)点是函数z=xy的稳定点,但它却不是函数的极值点。这在多元函数内容中,可以作为反例来帮助学生理解极值点和稳定点的关系。

例3 求由圆x2+(y-3)2≤1绕x轴旋转一圈所得环状立体的体积。

在三维空间中该圆的参数方程为x=costy=3+sintz=0,假设该圆绕x轴旋转θ,新得到的圆与最初的圆的关系为x′=xy′=ycosθz′=ysinθ

Matlab编程如下:

本程序形象生动地演示了圆绕x轴旋转一圈形成环状立体的过程,并且从图中清晰看到,该环状立体形状类似轮胎。另外,还可以用Matlab软件对图形进行任意角度的旋转,达到更加直观的视觉效果。

2 Matlab数值计算功能在数学分析教学中的应用

数学分析内容抽象化、理论化,许多严格的数学概念令学生迷惑,难以接受,如数列极限的ε-N定义,数项级数的敛散性定义等。针对上述问题,我们在教学时要尽量结合概念的研究背景,讲清楚概念的来龙去脉,除此之外,还可以利用Matlab软件的数值计算功能,把概念案例化、具体化,让学生深刻感受到概念的本质和精髓。

例4 验证■■=0

令an=■,我们先计算出当n逐渐增大时,an的具体数值。

Matlab编程如下:

不妨令n=10,在主命令窗口执行程序shulie(10),就能得到对应数据。结果如表1所示。

从中看到,n越大,■越小,越靠近0。可以感受到,数列{an}存在极限,其实就是随着n的无限增大,an无限地接近某一常数a,或者说,当n充分大时,数列通项an与常数 a之间的距离可以任意小。

例5 判断级数■■和■■的敛散性。

与初等数学不同,数项级数研究无穷多个数相加的情况,它是否存在“和”?如果存在,“和”等于多少?这就涉及到数项级数敛散性的问题,可以通过“有限项和”来逐步逼近“无限项和”。令Sn=■■,Tn=■■,先来看看前n项和的变化情况。

Matlab编程如下:

结果如表2所示。从中可以看到,这两个级数有本质区别。随着n的无限增大,■■的前n项和Sn无限接近常数1.6449,是收敛的;而■■的前n项和Tn无限增大,不存在极限,是发散的。

3 Matlab符号计算功能在数学分析教学中的应用

利用Matlab软件的符号工具箱,我们可以轻松地完成数学分析中各种计算,操作简单,使用方便,可视效果好,既把学生从繁琐的计算中解放出来,提高学习兴趣,又能增强学生运用软件的能力。

例6 求极限■■和■■

Matlab编程如下:

输出结果为1和0

例7 求y=sin(x2)的一阶和二阶导数。

Matlab编程如下:

输出结果为:2*cos(x^2)*x和-4*sin(x^2)*x^2+2*cos(x^2)

例8 求不定积分■tan■xdx和定积分■■dx。

Matlab编程如下:

输出结果为:tan(x)-x和1/4*pi

综上所述,利用Matlab辅助教学,不仅有助于加深学生对数学知识的理解和掌握,激发学习热情,加强学生的空间想象能力,更有助于学生提高动手能力和创新能力。Matlab强大的绘图、数值计算以及符号计算功能,使得它成为辅助数学分析教学的有力工具。

参考文献:

[1]詹再东,李建华.MATLAB在数学分析中的应用[J].洛阳师范学院学报,2005(02).

[2]杨森,鲍汉军,申小芳.利用matlab辅助数学分析教学[J].科技资讯,2008(03).

上一篇:五年级上体育教案下一篇:森林的故事作文600字