数值分析学习报告

数值分析学习心得报告

班级:姓名:

学号:

************ *** ***********

学习数值分析的心得体会

数值分析是一门利用计算机求解数学问题数值解的课程,有很强的理论性和实践性,无意中的一次选择,让我接触了数值分析。随着科学技术的发展,提出了大量复杂的数值计算问题,在建立电子计算机成为数值计算的主要工具以后,它以数字计算机求解数学问题的理论和方法为研究对象。有可靠的理论分析,要有数值实验,并对计算的结果进行误差分析。数值分析的主要内容包括插值法,函数逼近,曲线拟和,数值积分,数值微分,解线性方程组的直接方法,解线性方程组的迭代法,非线性方程求根,常微分方程的数值解法。

作为这学期的选修课,我从内心深处来讲,数值分析真的有点难。感觉它是在高等数学和线性代数的基础上,又加深了探讨。虽然这节课很难,我学的不是很好,但我依然对它比较感兴趣。下面就具体说说我的学习体会,让那些感兴趣的同学有个参考。

学习数值分析,我们首先得知道一个软件——MATLAB。MATrix LABoratory,即矩阵实验室,是Math work公司推出的一套高效率的数值计算和可视化软件。它是当今科学界最具影响力、也是最具活力的软件,它起源于矩阵运算,并高速发展成计算机语言。它的优点是强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面、便捷的与其他程序和语言接口。

根据上网搜集到的资料,你就会发现MATLAB有许多优点:

首先,编程简单使用方便。到目前为止,我已经学过C语言,机器语言,JAVA语言,这三个语言相比,我感觉C语言还是很简单的一种编程语言。只要入门就很好掌握,但是想学精一门语言可不是那么容易的。惭愧的说,到目前为止,我依然处于入门阶段,只会编写小的简单的程序,但是班里依然还是有学习好的。C语言是简单且容易掌握的,但是,MATLAB的矩阵和向量操作功能是其他语言无法比拟的。在MATLAB环境下,数组的操作与数的操作一样简单,基本数据单元是不需要指定维数的,不需要说明数据类型的矩阵,而其数学表达式和运

算规则与通常的习惯相同。

其次,函数库可任意扩充。众所周知,C语音有着丰富的函数库,我们可以随时调用,大大方便了程序员的操作。可是作为IT人士的你知道吗,由于MATLAB语言库函数与用户文件的形式相同,用户文件可以像库函数一样随意调用,所以用户可任意扩充库函数。这是不是很方便呢?

接着,语言简单内涵丰富。数值分析所用的语言中,最重要的成分是函数,其一般形式为:Function[a,b,c??]=fun(d,e,f??),你也发现了吧,这样的语音是不是很容易掌握呢!Fun是自定义的函数名,只要不与库函数想重,并且符合字符串书写规则即可。

然后是丰富的工具箱。由于MATLAB 的开放性,许多领域的专家都为MATLAB 编写了各种程序工具箱。这些工具箱提供了用户在特别应用领域所需的许多函数,这使得用户不必花大量的时间编写程序就可以直接调用这些函数,达到事半功倍的效果。不过你得提前知道这些工具箱,并且会使用。

最后,我们来说一下MATLAB的运算。利用matlab可以做向量与矩阵的运算,与普通加减运算几乎相似。

矩阵乘法用 “ * ” 符号表示,当A矩阵列数与B矩阵的行数相等时,二者可以进行乘法运算,否则是错误的。如果A或B是标量,则A*B返回标量A(或B)乘上矩阵B(或A)的每一个元素所得的矩阵。

对n×m阶矩阵A和p×q阶矩阵B,A和B的Kronecher乘法运算可定义为:

Kronecker乘法的Matlab命令为C=kron(A,B):例如,在matlab中输入: A=[1 2; 3 4]; B=[1 3 2; 2 4 6]; C=kron(A,B) 则程序会给出相应的答案

C =

1 3 2 2 6 4

2 4 6 4 8 12

3 9 6 4 12 8

6 12 18 8 16 24

这就充分的考验了我们的实际动手能力,当然运用一般的计算方法能算出结果,但相对来说没有用它来运算节省时间,其他算法又很不方便。

上面介绍了Matlab的特点与使用方法,接着我们要说它的程序设计,其实跟c语言相比,它们的程序设计都差不多。

大家都知道,Matlab与其它计算机语言一样,也有控制流语句。而控制流语句本身,可使原本简单地在命令行中运行的一系列命令或函数,组合成为一个整体—程序,从而提高效率。以下是具体的几个例子,看过之后,你会发现,Matlab的控制流语句跟其他计算机真的很相似:

(1)for 循环for循环的通用形式为:for v=expressionstatementsend其中expression 表达式是一个矩阵,因为Matlab中都是矩阵,矩阵的列被一个接一个的赋值到变量v,然后statements语句运行。

(2)while 循环while循环的通用形式为:while v=expressionstatementsend当expression的所有运算为非零值时,statements 语句组将被执行。如果判断条件是向量或矩阵的话,可能需要all 或any函数作为判断条件。

(3)if和break语句通用形式为:if 条件1,命令组1;elesif条件2,命令组2;??;else命令组k;endbreak%中断执行,用在循环语句内表示跳出循环。

对于数值分析这节课,我的理解是:只要学习并掌握好MATLAB,你就已经成功了。因此说,MATLAB是数学分析的基础。另外,自我感觉这是一个很好的软件,其语言简便,实用性强。但是作为一个做新手,想要学习好这门语言,

还是比较困难的。在平常的上机课中,虽然我没有问过老师,但是我向那些学习不错的学生还是交流了许多,跟他们交流,我确实学到不少有用的东西。但是,毕竟没有他们学得好,总之,在我接触这门语言的这些天,除了会画几个简单的三维图形,其他的还是有待提高。在这个软件中,虽然有help,但大家不要以为有了这个就万事大吉了,反而,从另一个方面也对我们大学生提出了两个要求——充实的课外基础和良好的英语基础。在现代,几乎所有好的软件都是来自国外,假如你不会外语,想学好是非常难的,即使高考中的英语比重降低了,但我们依旧得学好。这样我们才能走得更远。

其实想要学习好一们语言,不能只靠老师,靠朋友,关键是自己。每个人内心深处都是有抵触意识的,不可能把老师的所有都学到。其实,我发现学习数值分析这门课,不光是学习一种语言,一些知识,更重要的是学习一种方法,一种学习软件的方法,还有学习的态度。

数值分析是研究分析用计算机求解数学计算问题的数值计算方法及其理论的学科,是数学的一个分支,它以数字计算机求解数学问题的理论和方法为研究对象。在科学研究和工程技术中有许多问题可归结为求解方程组的问题。本文主要讨论了插值法求函数,解线性方程组的求解方法,非线性方程组的解法及微分方程的解法,并通过在电流回路和单晶硅提拉过程中分析应用。进一步体现了数值分析的广泛应用,实际上由于误差的存在,一些问题只能求得近似解。对于良态方程组,只要求解方法稳定,即可得到比较满意的计算结果。但对于病态方程组,即使使用稳定性好的算法求解也未必理想,还需进一步的研究。总之,数值分析可以通过计算方法进行一种比较完善的构造,使之更普遍化,能够有举一反三的思想,能够解决一些实际中难解的问题,应用到各个领域。

在最后,我想说的是,谢谢老师的辛勤付出,我们每个学生都会看在眼里记在心里的,谢谢您。

 

第二篇:数值分析学习报告

数值分析学习心得报告

班级:11级软工一班

姓名: * * *

学号: 20117610***

指导老师:* * *

学习数值分析的心得体会

无意中的一次选择,让我接触了数值分析。

作为这学期的选修课,我从内心深处来讲,数值分析真的有点难。感觉它是在高等数学和线性代数的基础上,又加深了探讨。虽然这节课很难,我学的不是很好,但我依然对它比较感兴趣。下面就具体说说我的学习体会,让那些感兴趣的同学有个参考。

学习数值分析,我们首先得知道一个软件——MATLAB。MATrix LABoratory,即矩阵实验室,是Math work公司推出的一套高效率的数值计算和可视化软件。它是当今科学界最具影响力、也是最具活力的软件,它起源于矩阵运算,并高速发展成计算机语言。它的优点是强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面、便捷的与其他程序和语言接口。

根据上网搜集到的资料,你就会发现MATLAB有许多优点:

首先,编程简单使用方便。到目前为止,我已经学过C语言,机器语言,JAVA语言,这三个语言相比,我感觉C语言还是很简单的一种编程语言。只要入门就很好掌握,但是想学精一门语言可不是那么容易的。惭愧的说,到目前为止,我依然处于入门阶段,只会编写小的简单的程序,但是班里依然还是有学习好的。

C语言是简单且容易掌握的,但是,MATLAB的矩阵和向量操作功能是其他语言无法比拟的。在MATLAB环境下,数组的操作与数的操作一样简单,基本数据单元是不需要指定维数的,不需要说明数据类型的矩阵,而其数学表达式和运算规则与通常的习惯相同。

其次,函数库可任意扩充。众所周知,C语音有着丰富的函数库,我们可以随时调用,大大方便了程序员的操作。可是作为IT人士的你知道吗,由于MATLAB语言库函数与用户文件的形式相同,用户文件可以像库函数一样随意调用,所以用户可任意扩充库函数。这是不是很方便呢?

接着,语言简单内涵丰富。数值分析所用的语言中,最重要的成分是函数,其一般形式为:Function[a,b,c??]=fun(d,e,f??),你也发现了吧,这样的语音是不是很容易掌握呢!Fun是自定义的函数名,只要不与库函数想重,并且符合字符串书写规则即可。

然后是丰富的工具箱。由于MATLAB 的开放性,许多领域的专家都为MATLAB 编写了各种程序工具箱。这些工具箱提供了用户在特别应用领域所需的许多函数,这使得用户不必花大量的时间编写程序就可以直接调用这些函数,达到事半功倍的效果。不过你得提前知道这些工具箱,并且会使用。

最后,我们来说一下MATLAB的运算。利用matlab可以做向量与矩阵的运算,与普通加减运算几乎相似。

矩阵乘法用 “ * ” 符号表示,当A矩阵列数与B矩阵的行数相等时,二者可以进行乘法运算,否则是错误的。如果A或B是标量,则A*B返回标量A(或B)乘上矩阵B(或A)的每一个元素所得的矩阵。

对n×m阶矩阵A和p×q阶矩阵B,A和B的Kronecher乘法运算可定义为:

Kronecker乘法的Matlab命令为C=kron(A,B):例如,在matlab中输入:

A=[1 2; 3 4]; B=[1 3 2; 2 4 6]; C=kron(A,B) 则程序会给出相应的答案

C =

1 3 2 2 6 4

2 4 6 4 8 12

3 9 6 4 12 8

6 12 18 8 16 24

这就充分的考验了我们的实际动手能力,当然运用一般的计算方法能算出结果,但相对来说没有用它来运算节省时间,其他算法又很不方便。

上面介绍了Matlab的特点与使用方法,接着我们要说它的程序设计,其实跟c语言相比,它们的程序设计都差不多。

大家都知道,Matlab与其它计算机语言一样,也有控制流语句。而控制流语句本身,可使原本简单地在命令行中运行的一系列命令或函数,组合成为一个整体—程序,从而提高效率。以下是具体的几个例子,看过之后,你会发现,Matlab的控制流语句跟其他计算机真的很相似:

(1)for 循环for循环的通用形式为:for v=expressionstatementsend其中expression 表达式是一个矩阵,因为Matlab中都是矩阵,矩阵的列被一个接一个的赋值到变量v,然后statements语句运行。

(2)while 循环while循环的通用形式为:while v=expressionstatementsend当expression的所有运算为非零值时,statements 语句组将被执行。如果判断条件是向量或矩阵的话,可能需要all 或any函数作为判断条件。

(3)if和break语句通用形式为:if 条件1,命令组1;elesif条件2,命令组2;??;else命令组k;endbreak%中断执行,用在循环语句内表示跳出循环。

对于数值分析这节课,我的理解是:只要学习并掌握好MATLAB,你就已经成功了。因此说,MATLAB是数学分析的基础。另外,自我感觉这是一个很好的软件,其语言简便,实用性强。但是作为一个做新手,想要学习好这门语言,还是比较困难的。在平常的上机课中,虽然我没有问过老师,但是我向那些学习不错的学生还是交流了许多,比如说,张**,贾**,还有那个皮肤白白的女生。跟他们交流,我确实学到不少有用的东西。但是,毕竟没有他们学得好,总之,在我接触这门语言的这些天,除了会画几个简单的三维图形,其他的还是有待提高。在这个软件中,虽然有help,但大家不要以为有了这个就万事大吉了,反而,从另一个方面也对我们大学生提出了两个要求——充实的课外基础和良好的英语基础。在现代,几乎所有好的软件都是来自国外,假如你不会外语,想学好是非常难的,即使高考中的英语比重降低了,但我们依旧得学好。这样我们才能走得更远。

其实想要学习好一们语言,不能只靠老师,靠朋友,关键是自己。每个人内心深处都是有抵触意识的,不可能把老师的所有都学到。其实,我发现学习数值分析这门课,不光是学习一种语言,一些知识,更重要的是学习一种方法,一种学习软件的方法,还有学习的态度。

在最后,我想说的是,谢谢郭老师的辛勤付出,我们每个学生都会看在眼里记在心里的,谢谢您。

相关推荐