matlab学习总结总结

2024-05-15

matlab学习总结总结(精选7篇)

篇1:matlab学习总结总结

学Matlab有感

姓名:王鸿栋 学号:20090286 班级: 03310901 我对于计算机编程接触的比较晚,也没有特别大的兴趣。不过对于Matlab这门课我还是很喜欢的。一是这个语言可以变出程序绘出函数的图形,这就使得这个语言可以被“看见”,感觉比较亲切,不是那么缥缈空虚的东西。二是这个语言却是很“友好”,很人性化,像我刚学习这门语言,还什么都不会编的时候,我随便打出了一句help,界面上就输出了帮助文档。三是这个语言的强大的功能,1.3G不是白给的,很多C、java里需要用循环语句来完成的,在Matlab里只需要一句话就可以搞定了,刚上这门课时老师说C一堂课讲授的内容Matlab一句话就可以搞定了,看来不是假的。四是这门语言确实很有用,信号与系统课上学的很多内容都可以用Matlab来仿真,另外这门语言在很多其他的领域也都很有用,所以,我打算好好学习这门语言。

第一次交作业时我还只交上了两道题,那时候对这门语言接触得还比较少,但是就在交作业的那天我打算好好学习这门语言,而且在写作业的时候我确实喜欢上了这门语言。虽然第一次由于时间仓促只交上了两道题,可是那都是我自己写的,我觉得只有这样才能学到东西。第二天,在别人都在做第二次作业的时候,我却仍然在做第一次作业,我打算把第一次的作业完整的写一遍,即使这对我的分数一点帮助也没有。第二次作业我提前好几天就写完了,虽然没有完成全部的题目。我把第一第二次作业一起交了上去,我希望老师能帮我看一看。

上面只是对这门课程的一些怀念,课程已经结束了,不过我会继续学习这门语言的。下面就针对这次作业的要求,给这门课提一些看法,毕竟这才是正题。MATLAB 产品族可以用来进行以下各种工作:

● 数值分析

● 数值和符号计算

● 工程与科学绘图

● 控制系统的设计与仿真

● 数字图像处理

● 数字信号处理

● 通讯系统设计与仿真

● 财务与金融工程

MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。说实在的想完全掌握全部的基本上是不可能的,就像dsp一样,应用的范围很广,想一口吃可能不行,所以要结合专业来学习才好!

对于我们这些学习了C语言的学生,编程基本的语法学习起来很快的,和c语言很类似,而且是支持c语言函数的,或者说函数就是用c语言编的,完全是解释性的语言,像打草稿一样,可以一句句的编译,看结果的。

等我们编到基本的熟悉之后就可以编辑函数了,-------这个其实用的不多,为了应用的话,老师建议开始编写M文件,也就是把程序都写在m文件里面,然后编译,调试,根据错误信息来调试。

至于和专业相关的方面就说说自动化方面吧!和控制理论,fft,用的比较多,根轨迹,相平面,传递函数,拉普拉斯变换,奈氏曲线什么的,基本上都可以解决

03310901班

王鸿栋 20090286 对于授课方式,我觉得上课时老师是结合信号与系统来讲的,就是说课程的定位就是交给我们解决信号与系统方面问题的一个方法。我觉得Matlab功能远远不止于此。而且老师在课上讲程序都是一带而过,我觉得讲授的程序不必很多,一堂课只讲几个程序,但是对于每个程序,如果老师都能给我们进行分析,把这个程序将明白了,那么这堂课我们就能学到很多东西。而且这样讲课也不会使我们觉得枯燥。

对提高Matlab编程能力的方法,我想主要有以下三个: 1.查help 2.多上上论坛,搜索帖子、发帖子问人 3.阅读别人、特别是牛人的程序

当然了,正如所有的程序语言一样,“3分课本7分上机”,一定要动手才行,不能光看。多想、多思考、多尝试,才是正路。

最后,整理一下常用的快捷键(用【】表示)或命令: 1.在命令窗口(Command Window)中:

1)【上、下键】――切换到之前、之后的命令,可以重复按多次来达到你想要的命令 2)clc――清除命令窗口显示的语句,此命令并不清空当前工作区的变量,仅仅是把屏幕上显示出来的语句清除掉

3)clear――这个才是清空当前工作区的变量命令,常用语句clear all来完成

4)【Tab】键――(在command窗口,输入一个命令的前几个字符,然后按tab键,会弹出前面含这几个字符的所有命令,找到你要的命令,回车,就可以自动完成。目前讨论结果是:Matlab6.5版本中,如果候选命令超过100个,则不显示。而在Matlab7以后版本中,则没有这个限制,均可正常提示

5)【Ctrl+C】(或【Ctrl+Break】)――在Matlab程序运行过程中,可能由于程序编写的失误,导致程序不停的运行,在命令窗口输入“Ctrl+C”可以将运行的程序停下来,而不需要将整个Matlab程序关掉。不过进行此操作的前提是能够激活切换到命令窗口才行,呵呵。

2.在编辑器(Editor)中: 1)【Tab】(或【Ctrl+]】)――增加缩进(对多行有效)2)【Ctrl+[】--减少缩进(对多行有效)

3)【Ctrl+I】--自动缩进(即自动排版,对多行有效)4)【Ctrl+R】――注释(对多行有效)5)【Ctrl+T】――去掉注释(对多行有效)

6)【Ctrl+B】――括号配对检查(对版本6.5有效,但版本7.0无效,不知道是取消了还是换了另外的快捷键,请大牛们指点,其他版本没有测试过)

7)【F12】――设置或取消断点 8)【F5】――运行程序

其余的例如在Debug状态下的快捷键可以自己看菜单。

就说这么多,通过这个小学期,我觉得自己真的学到了很多!

03310901班

王鸿栋 20090286

篇2:matlab学习总结总结

学习matlab已经有一年多的时间了,matlab跟其他语言不一样(我用的编程语言,除了matlab就应该是c或c++了,VB也接触过),如果你抱着“把其他语言的思想运用在matlab里面的想法”的话,那么我想,即使程序运行不出错,也很难把握matlab的精髓,也就很难发挥matlab的作用了。

Matlab是一个基于矩阵运算的软件,这恐怕是众所周知的事情了,但是,真正在运用的时候(就是在编程的时候),许多人(特别是初学者)往往没有注意到这个问题,因此,for循环(包括while循环)满天飞„„„„..这不仅没有发挥matlab所长,还浪费宝贵时间。我们往往在初始化矩阵的时候注意到这个问题,懂得了使用矩阵而不是循环来赋值,但是,在其他环节上,就很容易疏忽,或者说,仍然没有摆脱C++的思想。因此,以先用循环(基于C++的思想)来编写代码,然后看看能否用matlab的语言(基于矩阵的思想)来改进。当然,这样做的前提是你对matlab提供的一些函数比较熟悉才行,这些函数在matlab的“帮助”那里搜索“FunctionsUsedinVector izing”就可以找到一些。

对MATLAB的认识和了解

语言简洁紧凑,使用方便灵活,库函数极其丰富。与之前学过的C语言相比较。它的语言简练明了,有时候只要一个字符就能表示出整句语句,不用一步步去读。这种语言简单而实用。每个函数建立一个同名的M文件,如上述函数的文件名为fun.m。这种文件简单、短小、高效,并且便于调试。比如说,函数的赋值。在C语言中,它需要一个个去赋值,x=?;y=?;当变量很多的时候,我们不能一次性的去赋值。并且我们需要注意赋值的类型。而在Matlab软件中,我们只需要知道它的初值,自变量的数值,以及它的范围,就可以用矩阵把整个函数赋值。这减去了我们的工作复杂性,也降低了我们时间花费。

运算符丰富,用Matlab软件设计程序,它更加方便快捷。MATLAB 的基本数据单元是既不需要指定维数、也不需要说明数据类型的矩阵,而且数学表达式和运算规则与通常的习惯相同。因此,在MATLAB环境下,数组的操作与数的操作一样简单。对比C语言,Matlab确实简单不少。我们在编写程序时简便了许多。例如,求1 1 2 3 5 8 13„这个算法。C语言得用许多的语句去循环算这个算法。而Matlab软件可以首先数据初始化,然后用while去循环,做出循环体,就可以你要多少数据,它会给你多少数据。还有在Matlab软件设计程序时,少了很多的定义,减少了复杂度,节省了计算机的暂时内存使用率。就和C语言一样,在语句结束时用“{ }”,Matlab软件中一句话结束时,也需要用end。MATLAB既具有结构化的控制语句(如for循环、while循环),又有面向对象编程的特性。

语法限制不严格,程序设计自由度大。程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。Matlab具有一个强大的工具箱,里面的东西,只要你想要的,你可以毫不犹豫的提取出来,不用想C语言编程中,你要的东西你得用函数调用的形式去借用。这些工具箱提供了用户在特别应用领域所需的许多函数,这使得用户不必花大量的时间编写程序就可以直接调用这些函数,达到事半功倍的效果。MATLAB的图形功能强大。不管你二维图形,三维图形,还是现在流行的四维图形。只要你想要,能编写出来函数式。在短短几秒钟之内,它会呈现在你眼前。另外就是图形的直观性,你在绘编图形时,加上一点修饰,它会自动标注你想要图形的阴影部分。MATLAB 具有二维和三维绘图功能,使用方法十分简便。而且用户可以根据需要,坐标图上加标题。坐标轴标记。文本注释及栅格等,也可以指定图线形式(如实线、虚线等)和颜色。常用的快捷键(用【】表示)或命令: 1.在命令窗口(CommandWindow)中:

1)【上、下键】――切换到之前、之后的命令,可以重复按多次来达到你想要的命令

2)clc――清除命令窗口显示的语句,此命令并不清空当前工作区的变量,仅仅是把屏幕上显示出来的语句清除掉

3)clear――这个才是清空当前工作区的变量命令,常用语句clearall来完成 4)【Tab】键――(转自版友心灯)在[email]matlab@hit.edu.cn[/email]看到的:在command窗口,输入一个命令的前几个字符,然后按tab键,会弹出前面含这几个字符的所有命令,找到你要的命令,回车,就可以自动完成。目前讨论结果是:matlab6.5版本中,如果候选命令超过100个,则不显示。而在matlab7以后版本中,则没有这个限制,均可正常提示

5)【Ctrl+C】(或【Ctrl+Break】)――在matlab程序运行过程中,可能由于程序编写的失误,导致程序不停的运行,在命令窗口输入“Ctrl+C”可以将运行的程序停下来,而不需要将整个Matlab程序关掉。不过进行此操作的前提是能够激活切换到命令窗口才行。2.在编辑器(Editor)中:

1)【Tab】(或【Ctrl+]】)――增加缩进(对多行有效)2)【Ctrl+[】--减少缩进(对多行有效)

3)【Ctrl+I】--自动缩进(即自动排版,对多行有效)4)【Ctrl+R】――注释(对多行有效)5)【Ctrl+T】――去掉注释(对多行有效)

6)【Ctrl+B】――括号配对检查(对版本6.5有效,但版本7.0无效,不知道是取消了还是换了另外的快捷键)7)【F12】――设置或取消断点 8)【F5】――运行程序Coming: 1.help:最有效的命令

1)命令窗口直接敲“help”,你就可以得到本地机器上matlab的基本的帮助信息。2)对于某些不是很明确的命令,只知道大体所属范围,譬如说某个工具箱,直接在命令窗口中敲入

Help toolboxname,一帮可以得到本工具箱有关的信息:版本号,函数名等。3)知道函数名,直接用help funname就可以得到相应的帮助信息。2.see also:不可小瞧的关联

在用help命令的时候,可能因为我们开始估计的方向不一定完全正确,在列出的帮助信息中没有直接给出的我们要找的东西,但是我们一定不要忽略了在帮助的最后列出的see also。3.lookfor:matlab中的baidu 当我们很多什么头绪都没有的时候,我们可以求助于它,往往会收到意想不到的效果。

譬如:曾经在gui编程的时候,遇到过这样一个问题:想拖动鼠标时,要出现一个方框,就像你在桌面上拖动鼠标,会出现虚线框一样。4.get,set:GUIobject属性的帮手

在GUI编程中,我们可能有时候想改变某些object的属性,或者想让它安装自己的想法实现,但是我们又不记得这些object的属性,更别提怎么设置他们的值了。这时,可以用get(handles)得到此对象的所有的属性及其当前值。用set(handles)可以得到对象所有可以设置的属性及其可能的取值。找到我们需要的属性名字和可能的取值之后,就意义用get(handles,‘propertyname’)取得此属性的值,用set(handles,‘propertyname’,values)设置此对象此属性的值。

5.Edit:查看m源文件的助手

在应用matlab过程中,可能我们想看看它的m源文件,当然用editor定位打开也行,但是我经常采用的是直接在command窗口中用edit funname.m,就省去了定位的麻烦。

6.其他常用命令:which,what等

which:定位指定的函数和文件,最好带上参数-all,以便显示更加多的信息 what:获得指定目录的m文件,mex文件以及mat文件名列表 MATLAB学习经验

悟性。上小学最喜欢的一个字就是悟,以前以为悟就是一个人的慧根。其实不是这样的,所谓悟就是想。要保持大脑的活力,要不停的想。有很多事情,技术的、非技术的问题,都是可以想明白的。只有不停的想,才能想明白,想透彻。我经常就在想MATLAB的对象属性,所以很熟悉对象属性。

勤奋。我这个人也比较懒惰的,但是我对自己喜欢的事情还是有一种韧性。我对勤奋的理解是,每天多学一些,多积累一些。在别人谈小资的时候,想想一些现实的技术。看看国外倾泻而下的标准、技术、商品,如何突围?只有靠我们每个人的勤奋。每当想起我们那些在国外做了七八年的竞争对手,要在中国打败他们,就只有靠时间、压力和汗水的积累。喜欢上海的一个理由,就是这里的快节奏,可以不会让我那么懒惰。有一些事情我想是可以值得骄傲一下的:有半年时间,平均每天学习MATLAB到半夜两点以后;有两个除夕夜,都是在编写程序。

坚持。做潜力开发的培训,往往要培养一个人永不放弃的斗志和信念。搞MATLAB也是这样,涉及的领域太多,每个领域里面都缺乏足够的专家分布在你周围。那么我们很难有机会接触到真正的高手,对我们的技术细节一一指点。在遇到实际问题时,就只能靠自己去摸索。常常是再坚持一两个小时,就能够解决你的问题。最大的成就感,就在付出了极大的心血和耐心,才取得一个艰难的小胜利。(真的做完一件事情,也许那感觉就是一个字:累)印象很深刻的一件事情,有一次SCIE与我聊起一个混合编程的问题,喋喋不休的讲完了第七种方案(因为好几个我没有听懂),依然不能解决问题,又想到了第八种方案。如果没有坚持,一般人也就能够想到第三步、第四步,如何能够达到圣人的境界?

付出。这也许是一个过时的话题,但是我坚信,付出依然能够给我们带来可观的回报。付出,不是今天老板给了你薪水,你可以继续为他工作一个月。我所理解的付出,是每天为公司、国家多工作两个小时。有一些规则是显性的,有一些规则不是那么容易发现的,是潜规则。我不是倡导无私,我只是希望通过自身的努力,提高公司的竞争力,提高民族的竞争力。在这个过程中,也相应的提高了作为个体的技术工程师的竞争力。现代的竞争是激烈而残酷的,只有熟悉地缘政治的人,才能有深刻的理解。没有朋友感兴趣,就培养这个群体。土壤厚重了,我们这些生物才能生长得更茂盛一些!

也许这就是一种正常的生存状态吧,不知道是否有更好的办法?如果你要做很多事情,就必须协调好。而我不太擅长此事,所以在很多事情之间穿梭。常常是同时做两件事情,计划着第三件事,夜里想着第四件事。时间长了,反倒习惯了一种忙乱的状态,可以做很多事情,做好一件马上就是下一件。只有等到这些都告一段落,就可以好好的放松一下了。

多动手写程序、调试。如果懒得写程序,调试程序,永远无法提高。我个人认为调试程序更重要。有些人可能在一个程序调试几下出不了结果时,就可能喜欢去问别人,我不太赞同这一做法。其实,凡事往往经过痛苦折磨后,才会让你印象深刻,收益更大。我建议在你觉得用尽你努力后,仍然无法有结果时,才去请教别人。我当初一个程序调试过一两个星期都有过。在这论坛上,你可以发现不少好的问题,对这些问题,不要光看别人如果解决,也不要光想怎么解决,自己坐下来,动手自己解决一下,那你就会把不是你的知识变成自己的知识。善于利用MATLAB的帮助。可以这么说,任何问题都可以在MATLAB的帮助里找到解决的办法。问题不论大小,都是由更小的问题组成,把大问题化为小问题,小函数,然后再到MATLAB帮助里去找这种小问题,小函数的用法。说实话,MATLAB里的函数太多,我也经常忘记一些用法,这时HELP就帮忙了。

善于向别人学习。在你解决一个问题后,你可能会发现别人有更简便的方法解决,更强的函数,就是你向别人学习的时候。

遗憾如果我能够与Mathworks的人直接沟通,也许能够了解更多的技术细节。我们对MATLAB的很多困惑,也许就是他们曾经面对的问题。比如Compiler的发展方向,我想当初这些技术工程师也做了很多争论。如果他们能够得到一些其他的反馈信息,也许在编译器方面做得更好。

时间总是一种稀缺资源,与同行的交流还不够充分。比如对某些领域的了解,依然很片面。看到很多朋友,对一些相关行业和领域,都能侃侃而谈,实在是一种羡慕。数学基础实在不好,很多算法问题总是想不明白。数学天才们的思维训练,看来是没有机会接受了。

随着对技术的理解加深,有一些看法在逐步转变。以前以为一个好东西,总能够保持其优势。然而现实生活中,技术发展太块了,仅有这些还不够。不选择更新,只有被淘汰,无论是技术,还是做技术的人。

MATLAB真是一个好工具,也只能是一个好工具。它可以作为一个平台,承载知识和算法,那么核心的竞争力将是它实现的技术和产品。现在的公司,主营业务是通信软件。以后的职业规划,将更多的与通信沾边了。又是一个陌生的领域,又是一个必须要全力以赴的专业。

篇3:matlab学习总结总结

1 Matlab在高中数学中的常用命令

2 一元二次函数

一元二次函数y=ax2+bx+c, (a≠0) 的学习中要求掌握: (1) 一元二次函数图像的画法及图像的特征, 比如开口方向、开口大小、对称轴位置等等; (2) 一元二次函数的性质, 能利用性质解决实际问题; (3) 二次函数在指定区间上的最大 (小) 值; (4) 一元二次函数、一元二次方程的关系。这些性质的掌握可以从两方面入手:一是解析式, 二是图像特征。从解析式出发, 可以进行纯粹的代数推理求解问题;从图像特征出发, 可以实现数与形的自然结合, 这正是中学数学学习中一种非常重要的思想方法。在Matlab中可以改变参数, 画出图形从而获得图像特征, 部分程序如下:

图1中当参数a, b, c变化时, 二次函数图形发生改变, 可以得到一元二次函数中各系数对图形的影响。由图1 (a) 、 (d) 可知, a值发生改变时, 抛物线的开口大小和开口方向发生改变, 同时对称轴和顶点坐标也发生改变。当a>0时, 抛物线开口朝上, a越大, 开口越小, 抛物线越陡, 顶点越高, 对称轴越靠右;当a<0时, 抛物线开口朝下, a越大, 开口越大, 抛物线越陡, 顶点越高, 对称轴越靠右。由图1 (b) 可知系数b发生变化时, 抛物线的开口大小、开口朝向、与轴的交点坐标都不变, 对称轴和顶点坐标均有变化;系数c发生变化时, 抛物线形状不变, 只是上下平移。

3 幂函数

编写Matlab程序, 运行结果如图2所示。部分程序如下:

从图2中, 幂函数y=ax (a∈R) 的图像我们分几种情况讨论:

(1) 指数a≥1时, 如图a所示。a为偶数, 则函数为偶函数, 其图形关于y轴对称, 在x轴左侧为单调递减, 在x轴右侧为单调递增。a为奇数, 则函数为奇函数, 在整个定义域上为增函数。

(2) 指数a≤-1时, 如图b所示。a为偶数, 则函数为偶函数, 其图形关于y轴对称, 在x轴左侧为单调递增, 在x轴右侧为减函数。如果a为奇数, 则函数为奇函数, 图像在第一、三象限各象限内单调递减。

(3) 指数0<a<1时, 如图c所示。a的分母为偶数, 则在定义域上为增函数;a的分母为奇数, 为单调递增的奇函数。

(4) 指数-1<a<0时如图d所示。a的分母为偶数, 则在定义域上为减函数;a的分母为奇数, 图形在第一、三象限各象限内单调递减。

(5) 幂函数的图形不过第四象限。

4 结束语

本文列举一元二次函数和幂函数在Matlab上的仿真绘图, 从绘图中可清晰分析出各自的特征, 说明将Matlab应用于高中数学的可视化学习, 有利于更好的掌握和理解函数知识, 提高自身的动手能力和学习兴趣, 并在此过程加深对所学内容的理解。利用Matlab对数学点进行仿真, 激发了自身对数学知识的求知欲和主动探索的精神, 从而获得良好的学习效果。

摘要:本文将Matlab应用于高中数学学习, 并以一元二次函数和幂函数为例进行了仿真绘图, 从图中可清晰得出各函数的特征。从而表明, 将Matlab应用于高中数学的可视化学习, 有利于更好的掌握和理解函数知识, 提高自身的动手能力和学习兴趣, 并在此过程加深对所学内容的理解。

关键词:Matlab,高中数学,函数

参考文献

[1]于坚.利用Matlab软件辅助高中数学教学[J].中小学信息技术教育, 2006, 55:7-77.

[2]刘浩, 韩晶.MATLAB R2014a完全自学一本通[M].北京:电子工业出版社, 2015, 1.

篇4:初中数学学习方法总结

【关键词】初中数学 理解概念  重视例题  加强练习

中图分类号:G4     文献标识码:A DOI:10.3969/j.issn.1672-0407.2015.06.082

初中数学作为整个中学数学的基础,学生要引起高度的重视。但是大部分学生在接触到几何知识的时候,往往会觉得比较困难,甚至在整体知识的理解上出现问题,这些问题对数学知识的学习都是非常不利的。同时,初中数学成绩的好坏不仅影响到整个中学时期的数学水平,还影响到物理、化学等理科成绩的好坏。因此,学生应该想办法尽快适应初中数学的学习内容和学习进度,寻找到适合自己的学习方法,努力提高自己的数学成绩,为中学时期所有理科学科的学习打下一个坚实的基础。

一、理解各个数学概念的含义,打好初中数学的基础

数学概念是整个初中数学的基础,所有数学问题的解决都是在数学概念的基础上进行的,所以如果学生数学概念理解不够深刻,那么就会导致数学题目不会做,数学成绩不够优秀。因此,学生想要学好初中数学,首先要做的就是记住课本上所有基础的数学概念的含义,并对这些基础性的数学概念加以理解和掌握。

很多老师在对于数学概念的处理上往往会比较生硬,强调了概念的重要性之后,硬性要求学生背过。这种方法显然是错误的,学生只背过概念,对他们数学成绩的提高并没有多大帮助,想要真正提高数学成绩,就要从理解概念的层面上入手,在理解概念的基础上进行题目的解答,这样学生做起题目来才能够得心应手。

老师需要在讲解数学概念的时候,着重提出概念的背景和推导过程,要让学生逐步理解概念的含义,在理解概念的基础上进行初中数学学科的学习。对于学生来说,遇到不理解的概念一定要刨根问底,自己课后查阅资料,或者与同学进行讨论,也可以及时向老师进行请教,毕竟数学概念是整个初中数学学科的基石,学生必须将这个基础打牢。

二、重视资料上的例题,借助例题加深对数学知识的理解

学生在理解数学概念的基础上,要做到活学活用,将所理解的数学概念运用到题目中去。然而,大部分学生会在知识点的运用上出现问题,学生不知道具体怎么使用已有的概念,不知道从哪里入手,将概念运用到数学题目中去,最终解答出题目。这时,例题的作用就凸显出来了。

在每一章节提出的数学概念之后都有几个例题,而且例题的难度并不大,学生往往很容易看懂。老师在进行每一章节知识点的讲解时,往往也会讲到这些例题,来帮助学生理解概念,帮助学生学会活学活用,将知识点运用到题目中去。

学生对于某个知识点如果实在不能理解,可以试着从例题入手,可以帮助学生更好的理解知识点,并且初步学会运用知识点。课本上学习的知识点往往是抽象的,大部分学生不能够对知识点进行直观的理解,然而,例题则是将抽象的知识点具体化,将枯燥无味的文字翻译成数学语言,从数学题目的解答过程中完成知识点的阐述与诠释,这样学生能够从例题中更加直观地理解知识点的内涵和含义。

然而学生在看例题时,不能只靠眼睛,不能只读一遍题目,扫一眼解答过程,自以为已经理解了题目,然后就草草了事。这种方式并不能将例题的作用发挥出来,例题往往很简单,但是简单并不意味着学生可以看一遍就过目不忘、理解其中的解题思路和内涵。因此,学生在看例题时,要着重记忆例题中所体现的解题方法,深刻挖掘例题中的解题思路。学生在看例题时不能走马观花,不能就题论题,只记住某一道题目中的解答过程,而不去理解题目的解答思路和方法。学生应该在看每一道题目时,都要理清题目中所运用的解题思路,掌握题目的思维方式,当再次遇到这种类型的题目时,学生就能立马反应出题目的解答思路,这样才能达到看例题的真正意义。

同时,学生要将看和写结合起来,在看例题的过程中自己动笔进行解答,自己动脑思考,真正将看到的东西变成自己所拥有的东西,就要借助书写来达到思考的目的。俗话说:“好记性不如烂笔头。”就是要求学生在记忆数学题目的解答方法的时候,通过书写来加深印象。学生在看例题的时候要先思考,自己动笔写出自己的思路,再看正确的解答过程。

三、多做练习题,加强练习,培养学生的数学思维

数学作为一门应用型学科,要通过练习来提高成绩。因此,学生想要学好数学,就要多下工夫,多做几道练习题。但是多做练习并不意味着题做得越多越好,而是要注重所做题目的质量,学生要做的是从题目中获得解题的思路,学会思考,找到解答初中数学题目的一般规律。

学生在进行题目训练时,要有针对性,比如在每一章节的知识点学完之后,学生要针对自己不理解的部分进行专题训练。学生不仅要掌握课本上给出的例题,还要掌握课后习题的解答思路,同时,学生还可以借助辅导资料,多做些课外的习题,增强自己对某部分知识点的解答熟练度。然后学生可以在掌握知识的基础上,做综合类题目,从综合类题目中摸索初中数学综合类大题的一般规律和思路。

同时,学生需要在每道题目的解答过程中理清思路,有意识地记忆题目的解答思路,借此形成熟练地数学思维。数学学科往往注重学生思维的灵活度和熟练度,学好数学的关键,往往在于学生是否具有思维技巧。每道数学题目的解答都需要学生对自己的思维方式加以利用,因此,学生在做题的过程中一定要注重思维方式的培养,掌握正确的思维方式,但是不要养成思维定式,要从多角度进行题目的思考和解答。

除此之外,学生还应该多做些综合类题目。由于综合类题目中所包含的知识点多,所运用的解题思路比较灵活,因此更加有利于学生培养自己的数学思维,提高自己对数学学科的理解能力和学习能力。学生能够在综合类题目的解答过程中寻找到自己的漏洞与不足,因而能在日后的学习中不断完善自己,从而提高自己的数学学习综合能力。

培养数学思维是一个长期的过程,需要通过学生长期坚持多做题进行知识点的巩固来完成,学生要想提高自己的数学成绩,就要有勇气坚持做题。

篇5:matlab总结

函数名 功能描述 增加一条搜索路径 addpath doc help 装入超文本文档 启动联机帮助

函数名 rmpath version what which

功能描述

删除一条搜索路径 列出.M文件

显示Matlab的版本号 列出当前目录下的有关文件 造出函数与文件所在的目录 demo 运行Matlab演示程序 type lasterr 显示最后一条信息 lookfor 搜索关键词的帮助 path

显示Matlab的新特性 whatsnew 设置或查询Matlab路径

附录1.2管理变量与工作空间用命令

函数名 功能描述 disp 显示矩阵与文本 查询向量的维数 length load 从文件中装入数据

函数名 save size

功能描述

整理工作空间内存 将工作空间中的变量存盘 查询矩阵的维数 clear 删除内存中的变量与函数 pack

列出工作空间中的变量名 who,whos

附录1.3文件与操作系统处理命令

函数名 功能描述 cd 改变当前工作目录

删除文件 delete dir!列出当前目录的内容 执行操作系统命令

函数名 edit

功能描述 编辑.M文件 获得系统的缓存目录

获得Matlab的安装根目录 matlabroot

获得一个缓存(temp)文件 tempname diary 将Matlab运行命令存盘 tempdir

附录1.4窗口控制命令

函数名 功能描述 设置输出格式 format

函数名 功能描述

echo 显示文件中的Matlab中的命令 more 控制命令窗口的输出页面

附录1.5启动与退出命令

函数名

功能描述

函数名 功能描述 quit 退出Matlab环境

启动主程序 matlabrc startup Matlab自启动程序

附录2 运算符号与特殊字符附录 2.1运算符号与特殊字符

函数名 功能描述 +-* 加 减 矩阵乘

函数名 功能描述...,;

续行标志

分行符(该行结果不显示)分行符(该行结果显示).* ^.^ /../ :()[] {}..xor 向量乘 矩阵乘方 向量乘方 矩阵左除 矩阵右除 向量左除 向量右除

向量生成或子阵提取 下标运算或参数定义 矩阵生成

结构字段获取符 逻辑运算之异成

%!.= == ~= < <= > >= & |

注释标志

操作系统命令提示符 矩阵转置 向量转置 赋值运算 关系运算之相等 关系运算之不等 关系运算之小于 关系运算之小于等于 关系运算之大于 关系运算之大于等于 逻辑运算之与 逻辑运算之或 逻辑运算之非 kron 矩阵kron积

点乘运算,常与其他运算符联合使用(如.)~

附录2.2逻辑函数

函数名 功能描述 all any 测试向量中是否有真元素 exist 检验变量或文件是否定义 find 查找非零元素的下标

函数名 *isa logical

功能描述

检测对象是否为某一个类的对象 将数字量转化为逻辑量 测试向量中所用元素是否为真 is*(一类函数)检测向量状态.其中*表示一个确定的函数(isinf)

附录3 语言结构与调试 附录3.1编程语言

函数名 功能描述

builtin 执行Matlab内建的函数 eval feval 执行字符串指定的文件

函数名 功能描述 global 定义全局变量

script Matlab语句及文件信息

执行Matlab语句构成的字符串 函数输入输出参数个数检验 nargchk Matlab函数定义关键词 function

附录3.2控制流程

函数名 功能描述

break 中断循环执行的语句 else 与if一起使用的转移语句 elseif 与if一起使用的转移语句 end 结束控制语句块 error 显示错误信息 for 循环语句

函数名 if return switch while

功能描述 条件转移语句 返回调用函数

与case结合实现多路转移 循环语句

多路转移中的缺省执行部分 case 与switch结合实现多路转移 otherwise

warning 显示警告信息

附录3.3交互输入

函数名 input

功能描述 请求输入

函数名 功能描述 menu 菜单生成

启动键盘管理 暂停执行 keyboard pause

附录3.4面向对象编程

函数名 class

功能描述 生成对象

函数名 isa

功能描述

判断对象是否属于某一类 转换成8字节的无符号整数

建立类的层次关系 double 转换成双精度型 superiorto 建立类的层次关系 inferiorto unit8 inline

建立一个内嵌对象

附录3.5调试

函数名 功能描述 dbclear 清除调试断点 dbcont 调试继续执行

函数名 功能描述

列出所有断点情况 dbstatus dbstep 单步执行

改变局部工作空间内存 dbstop 设置调试断点 dbdown dbmex 启动对Mex文件的调试 sbtype 列出带命令行标号的.M文件 dbquit 退出调试模式 列出函数调用关系 dbstack

dbup

改变局部工作空间内容

附录4 基本矩阵与矩阵处理 附录4.1基本矩阵

函数名 eye

功能描述 产生单位阵

函数名 功能描述 rand 产生随机分布矩阵 产生正态分布矩阵 randn

产生向量 linspace 构造线性分布的向量 ones

构造等对数分布的向量 zeros 产生零矩阵 logspace

产生元素全部为1的矩阵 :

附录4.2特殊向量与常量

函数名 ans eps flops i inf j 功能描述

缺省的计算结果变量

函数名 non

功能描述

非数值常量常由0/0或Inf/Inf获得 函数中参数输入个数 圆周率 computer 运行Matlab的机器类型 nargin 浮点运算计数 复数单元 无穷大 复数单元

pi 精度容许误差(无穷小)nargout 函数中输出变量个数

realmax 最大浮点数值 realmin 最小浮点数值

varargin 函数中输入的可选参数 函数中输出的可选参数 varargout 输入参数名 inputname

附录4.3时间与日期

函数名

功能描述

函数名

功能描述 calender 日历 clock date

时钟 日期 cputime 所用的CPU时间 日期(数字串格式)datenum datestr 日期(字符串格式)

eomday 计算月末 etime now tic toc

所用时间函数 当前日期与时间 启动秒表计时器 读取秒表计时器

星期函数 weekday datevoc 日期(年月日分立格式)

附录4.4矩阵处理

函数名 功能描述 cat diag fliplr 向量连接

按左右方向翻转矩阵元素

函数名 功能描述 改变矩阵行列个数 reshape tril triu

取矩阵的下三角部分 取矩阵的上三角部分 建立对角矩阵或获取对角向量 rot90 将矩阵旋转90度

flipud 按上下方向翻转矩阵元素 复制并排列矩阵函数 repmat

附录5 特殊矩阵

函数名 gallery hankel hilb 功能描述

函数名

功能描述 生成magic矩阵 生成pascal矩阵 compan 生成伴随矩阵

invhilb 生成逆hilbert矩阵

生成一些小的测试矩阵 magic 生成hankel矩阵 生成hilbert矩阵 生成hadamard矩阵 pascal hadamard

toeplitz 生成toeplitz矩阵

生成wilkinson特征值测试矩阵 wilkinson

附录6 数学函数 附录6.1三角函数

函数名 sin/asin 功能描述 正弦/反正弦函数

函数名

功能描述

sec/asec 正割/反正割函数 csc/acsc cot/acot

余割/反余割函数 余切/反余切函数

双曲正割/反双曲正割函数 sinh/asinh 双曲正弦/反双曲正弦函数 sech/asech cos/acos 余弦/反余弦函数 tan/atan 正切/反正切函数 atan2 四个象限内反正切函数 双曲余弦/反双曲余弦函数 双曲余割/反双曲余割函数 cosh/acosh csch/acsch 双曲正切/反双曲正切函数 tanh/atanh coth/acoth 双曲余切/反双曲余切函数

附录6.2指数函数

函数名 功能描述 exp 指数函数 log

函数名 功能描述 log10 常用对数函数

自然对数函数 sqrt平方根函数

附录6.3复数函数

函数名 功能描述 函数名 功能描述

abs 绝对值函数 imag 求虚部函数 angle 角相位函数 real 求实部函数 conj 共轭复数函数

附录6.4数值处理

函数名 功能描述 fix

函数名 功能描述

沿零方向取整 round 舍入取整

floor 沿-∞方向取整 rem 求除法的余数 ceil 沿+∞方向取整 sign 符号函数

附录6.5其他特殊数学函数

函数名 功能描述 airy airy函数

函数名 erfcx

功能描述 比例互补误差函数 逆误差函数 指数积分函数 gamma函数 bessel函数(hankel函数)besselh erfinv bessili 改进的第一类bessel函数 expint 改进的第二类bessel函数 gamma besselk besselj 第一类bessel函数 第二类bessel函数 bessely beta beta函数

非完全的beta函数 betainc betaln beta对数函数 elipj erf erfc Jacobi椭圆函数 误差函数 互补误差函数 ellipke 完全椭圆积分

非完全gamma函数 gammainc

gammaln gamma对数函数 gcd lcm log2 pow2 rat rats

最大公约数 最小公倍数 分割浮点数 基2标量浮点数 有理逼近有理输出

legendre legendre伴随函数

附录7 坐标转换

函数名 功能描述

函数名

功能描述

cart2pol 笛卡儿坐标到极坐标转换 pol2cart 极坐标到笛卡儿坐标转换 笛卡儿坐标到球面坐标转换 球面坐标到笛卡儿坐标转换 cart2sph sph2cart

附录8 矩阵函数 附录8.1矩阵分析

函数名 功能描述 det

函数名

功能描述

LINPACK倒数条件估计 矩阵的行阶梯型实现 cond 求矩阵的条件数 rcond

求矩阵的行列式 rref

消元法解方程演示 norm 求矩阵的范数 rrefmovie null 右零空间 orth 正交空间 rank 求矩阵的秩

subspace 子空间 trace

矩阵的迹

附录8.2线性方程

函数名 功能描述 /, inv lu

线性方程求解 矩阵求逆 chol Cholesky分解 lscov 最小二乘方差

函数名 功能描述 nnls pinv qr

非零最小二乘 求伪逆矩阵 矩阵的QR分解

QR分解中删除一行 qrdelete

矩阵的LU三角分解 qrinsert QR分解中插入一行

附录8.3特征值与奇异值

函数名 功能描述

函数名 功能描述

QZ算法求矩阵特征值 改进特征值精度的均衡变换 qz banlance eig hess poly

实块对角阵到复块对角阵转换 cdf2rdf 复块对角阵到实块对角阵转换 rdf2cdf 求矩阵的特征值和特征向量 schur Schur分解 求Hessenberg矩阵 求矩阵的特征多项式

svd

奇异值分解

附录8.4矩阵函数

函数名 功能描述

函数名 功能描述

expm 矩阵指数函数 logm 矩阵对数函数 矩阵平方根 funm 矩阵任意函数 sqrtm

附录9 数据分析与Fourier变换函数 附录9.1基本运算

函数名

功能描述

函数名 功能描述 prod sort

对向量中各元素求积 对向量中各元素排序 求向量中各元素标准差 对向量中各元素求和 梯形法求数值积分

向量累积 cumprod cumsum 向量累加 max min mean

求向量中最大元素 sortrows 对矩阵中各行排序 求向量中最小元素 std 求向量中各元素均值 sum median 求向量中中间元素 trapz

附录9.2微分计算

函数名功 能描述 函数名 功能描述

梯度计算 del2 离散Laplace变换 gradient diff 差分于近视微分

附录9.3滤波与卷积

函数名 功能描述

函数名 功能描述 Conv 卷给与多项式乘法 filter 一维数字滤波 conv2 二维卷积 filter2 二维数字滤波

因式分解与多项式乘法

Deconv

附录9.4方差处理

函数名 功能描述 函数名功 能描述

相关系数计算c ov 协方差计算 corrcoef

附录9.5Fourier变换

函数名 功能描述 函数名 功能描述

绝对值函数 abs fftshift fft与fft2输出重排

离散Fourier逆变换 angle 相角函数 ifft 依共轭复数对重新排序i fft2 二维离散Fourier逆变换 cplxpair 离散Fourier变换 相角矫正 fft unwrap 二维离散Fourier变换 fft2

附录10 多项式处理函数 附录10.1多项式处理

函数名 功能描述 函数名 功能描述 conv 卷机与多项式乘法 polyfit 数据的多项式拟合

因式分解与多项式乘法p olyval 多项式求值 deconv

多项式矩阵求值 poly 求矩阵的特征多项式 polyvalm 多项式求导 polyder residue 部分分式展开

polyeig 多项式特征值 roots 求多项式的根

篇6:matlab实习总结.

接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用

Matlab是一个强大的数学工具,它的应用广泛,涉及到各个领域.它使用起来十分方便,不用麻烦去定义变量.它的绘图能力很强,甚至可以模拟出三维视图.矩阵是它应用的核心,许多工程繁琐的运算都需要靠矩阵来化简,这正是它的生命力所在.但是,他的函数很多,开始学时记的比较痛苦,我已经深深感觉到了.不过看多了也就熟了,感觉和学五笔差不多.它的语法简单,像我学过C语言的学起来还是蛮容易的.它的数组定义十分符合自然,是从1开始的,数组元素的调用也很

接近数学的表达.此外,函数的名字也很符合英文规则,反正我用得很开心就是了.通过学习matlab,我又一次锻炼了自己的思维.它学起来得心应手也让我明白了学习一门语言(c语言对学习其他语言的帮助指导作用.同时,它也加强了我理论联系实际的能力.这是一个专业课的基础工具,学好它是必要的.在第一章中,讲的是一些matlab的入门技术,除了一些基本操作与介绍之外,还初步认识了简单指令的编制,认识了一些matlab 的特殊符号,例如运算用到的加减乘除。(+—*/对我来说还是比较容易上手的。

但在第二章开始,开始有点难度了,在第二章我接触到两种数据类型,一个是double,还有就是char,另外还介绍了赋值语句,数学计算,常用函数,输入输出语句和数据文件。其中让我最容易混淆的就是运算的优先等级,当所需要运算的公式较长时,常常因没有弄好运算优先级而把程序编错,这一章也接触了更多的特殊符号,在多次看书之后,还是顺利把老师所布置的作业完成了。

在第三章中,我接触到基本的matlab选择结构,还有控制这个结构的关系运算符和逻辑运算符。也就是if结构。这个结构对运算起到很大作用,跟elseif配合使用的话,就可以将很图方法。还有,我们学习如何控制画图的附加功能,例如线的宽度和符号的颜色。这些属性可由指定的“propertyname”和值Value决定,“propertyname”和值Value将出现在plot命令的数据后。

在这个学期的学习中,主要还是围绕1到3章学习,学了一些初步的矩阵运算以及画图方法。在书上的练习中也得到了实践,各种矩阵的运算也可以运用到现在所学的电路计算中。活学活用,的确为我们提供了不少的方便。但现今所学到的matlab技术还只是很初步,但是我已经了解到了matlab的实用性,所以还是会在今后继续学习这门课程的。

除此之外还学了利用axis命令的画从这个学期开始,我们学习了一门新课程,开始我对matlab这门课程不是很了解,只知道它是一种计算机程序,可以帮助我们运算处理一些数据,但并不知道这种程序与其他计算机编程程序有什么区别与特点。

篇7:MATLAB总结与上机指南

化学工程中的计算问题一般比较复杂, 其操作的数据对象通常是数组, 具体计算涉及到插值、求积分、参数拟合、解常微分和偏微分微分方程、解线性和非线性方程等。MATLAB是新一代的科学计算语言, 在解决上述问题上, 相对于FORTRAN、C 和BASIC等传统的计算语言具有明显的优越性。本文针对应用MATLAB 解决化工中的典型问题进行计算常用方法和命令做以小结。1.最小二乘法拟合 1.1 最小二乘拟合直线

函数

lsline 格式

lsline

%最小二乘拟合直线

h = lsline

%h为直线的句柄 1.2约束线性最小二乘

有约束线性最小二乘的标准形式为

minx1Cxd222

sub.to

Axb

Aeqxbeq

lbxub

其中:C、A、Aeq为矩阵;d、b、beq、lb、ub、x是向量。在MATLAB5.x中,约束线性最小二乘用函数conls求解。

函数

lsqlin

格式

x = lsqlin(C,d,A,b)

%求在约束条件Axb下,方程Cx = d的最小二

乘解x。

x = lsqlin(C,d,A,b,Aeq,beq)

%Aeq、beq满足等式约束Aeqxbeq,若没有不等式约束,则设A=[ ],b=[ ]。

x = lsqlin(C,d,A,b,Aeq,beq,lb,ub)

%lb、ub满足lbxub,若没有等

式约束,则Aeq=[ ],beq=[ ]。

x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0)

% x0为初始解向量,若x没有界,则lb=[ ],ub=[ ]。

x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options)

% options为指定优化参数 [x,resnorm] = lsqlin(…)

% resnorm=norm(C*x-d)^2,即2-范数。[x,resnorm,residual] = lsqlin(…)

%residual=C*x-d,即残差。

[x,resnorm,residual,exitflag] = lsqlin(…)

%exitflag为终止迭代的条件 [x,resnorm,residual,exitflag,output] = lsqlin(…)

% output表示输出优化

信息

[x,resnorm,residual,exitflag,output,lambda] = lsqlin(…)

% lambda为解x的Lagrange乘子

1.3 非线性最小二乘

非线性最小二乘(非线性数据拟合)的标准形式为

minxf(x)f1(x)2f2(x)2fm(x)2L

其中:L为常数

在MATLAB5.x中,用函数leastsq解决这类问题,在6.0版中使用函数lsqnonlin。

f1(x)f2(x) 设F(x)fm(x)则目标函数可表达为minx12F(x)221fi(x)2 2i其中:x为向量,F(x)为函数向量。函数

lsqnonlin 格式

x = lsqnonlin(fun,x0)

%x0为初始解向量;fun为fi(x),i=1,2,…,m,fun返回向量值F,而不是平方和值,平方和隐含在算法中,fun的定义与前面相同。

lbxubx = lsqnonlin(fun,x0,lb,ub)

%lb、ub定义x的下界和上界:。

x = lsqnonlin(fun,x0,lb,ub,options)

%options为指定优化参数,若x没有界,则lb=[ ],ub=[ ]。

[x,resnorm] = lsqnonlin(…)% resnorm=sum(fun(x).^2),即解x处函数值。[x,resnorm,residual] = lsqnonlin(…)

% residual=fun(x),即解x处fun的值。[x,resnorm,residual,exitflag] = lsqnonlin(…)

%exitflag为终止迭代条件。[x,resnorm,residual,exitflag,output] = lsqnonlin(…)%output输出优化信息。[x,resnorm,residual,exitflag,output,lambda] = lsqnonlin(…)

%lambda为

Lagrage乘子。

[x,resnorm,residual,exitflag,output,lambda,jacobian] =lsqnonlin(…)

%fun

在解x处的Jacobian矩阵。

多项式 2.1 多项式求值

函数名称:polyval 调用格式:y=polyval(p,x),[y,delta]=polyval(p,x,S)返回多项式p在x点处的取值。X可以是向量也可以是矩阵。[y,delta] = polyval(p,x,S)同时还生成误差估计。2.2 多项式求根

函数名称:roots 调用格式:r=roots(c)

返回一个元素为多项式c的根的列向量。行向量中包含按降幂排列的多项式的系数,如果c中包含n+1个元素,则多项式的表达式为:c1sn+…+cns+cn+1。3 插值 3.1 一维插值

函数名称:interp1 调用格式:yi=interp1(x,Y,xi), yi=interp1(x,Y,xi,method)MATLAB中有两类一维数据插值方法:多项式插值法和基于FFT的插值法。函数interp1采用多项式插值法,它用多项式拟合所给出的数据,然后在插值点上根据多项式算出相应的值。调用格式中,xi为需要插值的位置所组成的向量,yi 为根据插值算法求得的值所组成的向量。x,Y为已知的数据点向量。参数method用于确定具体的插值方法,包括:

‘linear’表示采用线性插值方法;‘cubic’表示采用三次插值的方法; ‘nearest’表示采用最近点插值法;‘spline’表示用三次样条插值方法。3.2 二维插值

函数名称:interp2 调用格式

ZI = interp2(X,Y,Z,XI,YI)

返回矩阵ZI,其元素包含对应于参量XI与YI(可以是向量、或同型矩阵)的元素,即Zi(i,j)←[Xi(i,j),yi(i,j)]。

ZI = interp2(Z,XI,YI)

缺省地,X=1:n、Y=1:m,其中[m,n]=size(Z)。再按 ’nearest’:最临近插值; ’spline’:三次样条插值; ’cubic’:双三次插值。非线性数据(曲线)拟合

非线性曲线拟合是已知输入向量xdata和输出向量ydata,并且知道输入与输出的函数关系为ydata=F(x, xdata),但不知道系数向量x。今进行曲线拟合,求x使得下式成立:

minx1F(x,xdata)ydata2221(F(x,xdatai)ydatai)2 2i在MATLAB5.x中,使用函数curvefit解决这类问题。函数

lsqcurvefit 格式

x = lsqcurvefit(fun,x0,xdata,ydata)x = lsqcurvefit(fun,x0,xdata,ydata,lb,ub)x = lsqcurvefit(fun,x0,xdata,ydata,lb,ub,options)[x,resnorm] = lsqcurvefit(…)[x,resnorm,residual] = lsqcurvefit(…)[x,resnorm,residual,exitflag] = lsqcurvefit(…)[x,resnorm,residual,exitflag,output] = lsqcurvefit(…)[x,resnorm,residual,exitflag,output,lambda] = lsqcurvefit(…)[x,resnorm,residual,exitflag,output,lambda,jacobian] =lsqcurvefit(…)参数说明:

x0为初始解向量;xdata,ydata为满足关系ydata=F(x, xdata)的数据; lb、ub为解向量的下界和上界lbxub,若没有指定界,则lb=[ ],ub=[ ];

options为指定的优化参数;

fun为拟合函数,其定义方式为:x = lsqcurvefit(@myfun,x0,xdata,ydata),其中myfun已定义为

function F = myfun(x,xdata)F = …

% 计算x处拟合函数值fun的用法与前面相同; resnorm=sum((fun(x,xdata)-ydata).^2),即在x处残差的平方和; residual=fun(x,xdata)-ydata,即在x处的残差; exitflag为终止迭代的条件; output为输出的优化信息; lambda为解x处的Lagrange乘子;

jacobian为解x处拟合函数fun的jacobian矩阵。

数值积分

5.1 一元函数的数值积分

函数名称:

quad、quadl、quad8 调用格式 q = quad(fun,a,b)

%近似地从a到b计算函数fun的数值积分,误差为10。给fun输入向量x,应返回向量y,即fun是一单值函数。q = quad(fun,a,b,tol)

%用指定的绝对误差tol代替缺省误差。tol越大,函数计算的次数越少,速度越快,但结果精度变小。

q = quad(fun,a,b,tol,trace,p1,p2,…)

%将可选参数p1,p2,…等传递给函数fun(x,p1,p2,…),再作数值积分。若tol=[]或trace=[],则用缺省值进行计算。

[q,n] = quad(fun,a,b,…)%同时返回函数计算的次数n … = quadl(fun,a,b,…)

%用高精度进行计算,效率可能比quad更好。… = quad8(fun,a,b,…)

%该命令是将废弃的命令,用quadl代替。

5.2 一元函数的数值积分

函数名称:

dblquad 功能

矩形区域上的二重积分的数值计算

调用格式

q = dblquad(fun,xmin,xmax,ymin,ymax)

调用函数quad在区域[xmin,xmax, ymin,ymax]上计算二元函数z=f(x,y)的二重积分。输入向量x,标量y,则f(x,y)必须返回一用于积分的向量。

q = dblquad(fun,xmin,xmax,ymin,ymax,tol)

用指定的精度tol代替缺省精度10-6,再进行计算。

q = dblquad(fun,xmin,xmax,ymin,ymax,tol,method)

用指定的算法method代替缺省算法quad。method的取值有@quadl或用户指定的、与命令quad与quadl有相同调用次序的函数句柄。

q = dblquad(fun,xmin,xmax,ymin,ymax,tol,method,p1,p2,…)

将可选参数p1,p2,..等传递给函数fun(x,y,p1,p2,…)。若tol=[],method=[],则使用缺省精度和算法quad。非线性方程组的解

非线性方程组的标准形式为:F(x)= 0 其中:x为向量,F(x)为函数向量。函数

fsolve 格式

x = fsolve(fun,x0)

用fun定义向量函数,其定义方式为:先定义方程函数function F = myfun(x)。

F =[表达式1;表达式2;…表达式m] 保存为myfun.m,并用下面方式调用:x =

-6fsolve(@myfun,x0),x0为初始估计值。

x = fsolve(fun,x0,options)[x,fval] = fsolve(…)

fval=F(x),即函数值向量 [x,fval,exitflag] = fsolve(…)[x,fval,exitflag,output] = fsolve(…)[x,fval,exitflag,output,jacobian] = fsolve(…)

jacobian为解x处的Jacobian阵。

其余参数与前面参数相似。7 常微分方程数值解

函数名称:ode45、ode23、ode113、ode15s、ode23s、ode23t、ode23tb 功能

常微分方程(ODE)组初值问题的数值解 参数说明:

solver为命令ode45、ode23,ode113,ode15s,ode23s,ode23t,ode23tb之一。

Odefun 为显式常微分方程y’=f(t,y),或为包含一混合矩阵的方程M(t,y)*y’=f(t,y)。命令ode23只能求解常数混合矩阵的问题;命令ode23t与ode15s可以求解奇异矩阵的问题。

Tspan 积分区间(即求解区间)的向量tspan=[t0,tf]。要获得问题在其他指定时间点t0,t1,t2,…上的解,则令tspan=[t0,t1,t2,…,tf](要求是单调的)。

Y0 包含初始条件的向量。

Options 用命令odeset设置的可选积分参数。P1,p2,… 传递给函数odefun的可选参数。调用格式

[T,Y] = solver(odefun,tspan,y0)

在区间tspan=[t0,tf]上,从t0到tf,用初始条件y0求解显式微分方程y’=f(t,y)。对于标量t与列向量y,函数f=odefun(t,y)必须返回一f(t,y)的列向量f。解矩阵Y中的每一行对应于返回的时间列向量T中的一个时间点。要获得问题在其他指定时间点t0,t1,t2,…上的解,则令tspan=[t0,t1,t2,…,tf](要求是单调的)。

[T,Y] = solver(odefun,tspan,y0,options)%用参数options(用命令odeset生成)设置的属性(代替了缺省的积分参数),再进行操作。常用的属性包括相对误差值RelTol(缺省值为1e-3)与绝对误差向量AbsTol(缺省值为每一元素为1e-6)。

[T,Y] =solver(odefun,tspan,y0,options,p1,p2…)

上一篇:第三代综掘机技术优点下一篇:小学语文个性化阅读教学研究