2025年matlab函数linspace参数过多(matlablinspace函数用法)

matlab函数linspace参数过多(matlablinspace函数用法)学习 matlab 的心得体会 通用 16 篇 Matlab 的学习心得 通过初步对 matlab 的学习 我觉得收获很大 我了解到 matlab 是一个功能很大的数学实验软件 即一个很好的计算机数学软件平台 我在学习 matlab 主要是围绕实验 初步学习了一些简单的矩阵运算以及简单的图形 在做书上的实验中得到了实践各种矩形的计算为我们提供了很多的方便 在我们的生活也有很大的作用

大家好,我是讯享网,很高兴认识大家。



学习matlab的心得体会(通用16篇)

Matlab的学习心得

通过初步对matlab的学习,我觉得收获很大。我了解到matlab是一个功能很大的数学实验软件,即一个很好的计算机数学软件平台。我在学习matlab主要是围绕实验,初步学习了一些简单的矩阵运算以及简单的图形,在做书上的实验中得到了实践各种矩形的计算为我们提供了很多的方便,在我们的生活也有很大的作用。但现在我所学到的matlab技术还是很初步的,但是我已经了解到matlab的实用性很大,学习好这门技术对我日后的发展有很大的帮助,所以在今后的学习中,我会继续深入学习这门技术。Matlab的功能强大,对我们现在学习的线性代数是非常有帮助的,利用这款软件会是我们原本复杂的计算变得简单明了。Matlab的优点计算方便、快捷、准确、操作方便,流程简单。虽然matlab优点很多,但是我开始对matlab这门技术并不是很了解,开始以为只是一个计算矩形的软件,但是随着学习的深入我对matlab的了解也相应深入,才知道matlab不仅可以运算矩阵,运算处理一些数据,还可以用于编程并且和其他的计算机编程有很大的区别。Matlab是一种专业的计算机程序,主要用于工程科学矩阵数学运算。但我相信在未来的几年里,它会渐渐发展陈一种非常灵活的计算体系,可以解决更多的技术问题。

Matlab是一个高级的矩阵/阵列语言,它包含很多语句,其中有控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行,就象C语言和C++一样可以先定义后使用。并且新版本的MATLAB语言是基于最为流行的C语言和C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因

MATLAB中有丰富的图形处理能力,提供了绘制各种图形、图像数据的函数。他提供了一组绘制二维和三维曲线的函数,他们还可以对图形进行旋转、缩放等操作。MATLAB内部还包含丰富的数学函数和数据类型,使用方便且功能非常强大。

本学期通过对MATLAB的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了MATLAB的实用方法。通过理论课的讲解与实验课的操作,使我在短时间内学会使用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.

线性代数MATLAB GUI自主学习能力

一、前言

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

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

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设计应用案例问题,通过演示应用案例的解决过程,可以让学生进一步理解相应的理论知识,提高其学习兴趣,从而使其更加积极主动地进行自主学习。

参考文献:

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

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

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

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学习心得

王信权 学习matlab是听说它是一个功能强大的数学软件,但是正被微积分的计算缠身,听说有一个高级的计算器当然高兴,以后可以偷懒了,当然现在不能偷懒。听说关于自动化的计算特别复杂,如果有一种软件能帮忙解题,那是一种极大的解脱,有益于缩短研究时间。目前我只知道有三种数学软件,都是国外的,没有国内的,差距挺大的。matlab学起来挺顺手的,比C语言简单。但是深入学习的时候却困难重重,因为很多知识都没有学习,就算知道那些函数,也没有什么用处。老师布置的作业难度大,写一篇实验,大一什么都不会,写一篇这种论文谈何容易。最多也就会一些数值计算、符号计算、简单绘图,根本不会什么实验。学习matlab体会最多的是这个软件的功能强大,好多数学题都被轻易的解出。但是有一点遗憾,不知是我不会用,还是它没个功能,已知空间的电荷分布,求空间的电场分布。其中电场分布是无法用函数表达式表示。我知道计算机肯定可以实现,但是这个软件能不能实现就不知道了,我看过许多资料,但是在这方面没有提到相关信息。

总之,这个软件功能强大,不知什么时候国内才有类似的软件。

随着期末的临近,本学期的MATLAB的学习也就此落下了帷幕。回顾我之前学习MATLAB的历程,我有以下几点感悟:

1.要有耐心。在编程序的时候少不了的要出现许多的错误,有时候调试很长时间程序仍旧无法得出正确结果,但是在这时要耐着性子一点一点的检查,总能找到错误所在。

2.要细致。有时因为少打一个分号,逗号等就可能引起程序错误。另外尤其是if、for、while等语句一定要在结尾加end。

3.善于利用MATLAB中的函数。比如有一道题是验证哥德巴赫猜想,如果直接调用prime(n)函数(该函数表示n以内的质数)会使程序非常简便,而若挨个对数进行判断必然会使程序变得复杂,影响效率。MATLAB有丰富的函数库,善于利用可以极大的提高编程效率。

4.MATLAB是一种非常简便的语言,它与我本学期学的C语言不同,C语言所耗费的时间和精力是比较大的,比如定义变量就分为int,char,float等类型,而MATLAB则不然,它无需定义变量的类型。比如求y=x+1,当x=1,2,3,4,5时y的值。如果用C语言则需要定义变量,还要用for循环,调用输出函数等,而MATLAB只需输入x=1:5;y=x+1然后回车即可。

5.注重实践,多动手。编程序是一种操作能力,只有多上机练习,才能培养自己的动手能力。同时,在上机练习的过程中,对程序的理解也得到了加深。

总而言之,MATLAB是是一款非常实用的软件,它不仅对我们现在的学习有益处,而且在今后数学建模中也将发挥巨大的作用,所以我深感学好MATLAB的重要性。虽然本学期的学习告一段落,但我知道,自己对MATLAB的学习还只是皮毛,今后我将继续对MATLAB的学习,并将它应用到实际中来解决实际问题。

一、线性代数中使用Matlab软件的必要性

线性代数是非常重要的学科,具有非常严密的逻辑性和高度的抽象性,计算过程非常复杂,计算量非常大. Matlab软件兼容性极佳, 具有非常强大的仿真绘画和计算功能,将Matlab引入线性代数的学习当中, 可在多维空间中将抽象概念具体、形象化,并拓展至高维空间,无须对数序问题进行探讨.

二、Matlab在线性代数知识中的应用

假设在一个大城市中的总人数是固定的,人口的分布会因居民在市区和郊区之间迁徒而变化.每年平均有6%的市区人口向郊区迁移,2%的郊区人口向市区迁移. 如果最开始全部人口的70%为郊区人口,30%为市区人口,现在如何求出十年后、三十年后、五十年后两个区域的人口比重? 可以用矩阵乘法来描述这个问题. 市区和郊区两个变量分量表口人口变量,即:,其中s表示郊区,c表示市区,k表示年份,当k=0的时候,

其中:

城市一年之后的市区人口比例为Xc1= 0.02Xs0+ (1 - 0.06)Xc0, 郊区比例为Xs1= (1 - 0.02)Xs0+ 0.06Xc0, 人口比例变化如果用矩阵来描述的话,可表述为:

当k的值无限增大的时候,两个区域的人口比例趋于一个常数:0.250.75,如果要对这个固定比例的出现原因进行探究的话,第一步须将坐标系统进行调整,能够特别明确地从这个坐标系统中看到与矩阵A相乘的效果,首先需求出A的特征值和向量,输入{c,r} = cig(A)

三、利用Matlab对线性代数中的实际问题进行解决

四、Matlab在矩阵求秩、向量组极大无关组求解中的应用

综上所述,通过辅助软件Matlab,可大大简化线性代数的学习,并且运用Matlab对现实数学问题进行解决,建模能力也相应得到提高, 而且使得线性代数的学习过程充满趣味性.

参考文献

[1]凌智,张波.Matlab在工科线性代数教学中的应用[J].科技创新导报,2008(29):247-248.

关键词:图像复原 MATLAB GUI

在实际的日常生活中,人们要接触很多图像,画面。而在景物成像这个过程里可能会出现模糊、失真或混入噪声,最终导致图像质量下降,这种现象称为图像“退化”。因此我们可以采取一些技术手段来尽量减少甚至消除图像质量的下降,还原图像的本来面目,这就是图像复原。

引起图像模糊有多种多样的原因,举例来说有运动引起的,高斯噪声引起的,斑点噪声引起的,椒盐噪声引起的等等。

图像复原的算法:数字图像复原问题实际上是在一定的准则下,采用数学最优化方法从退化的图像去推测原图像的估计问题。不同的准则及不同的数学最优化方法就形成了各种各样的算法。常见的复原方法有,逆滤波复原算法,维纳滤波复原算法,盲卷积滤波复原算法,约束最小二乘滤波复原算法等等。

图像复原是图像处理中的重要技术。图像复原的可以在某种意义上对图像进行改进,既可以改善图像的视觉效果,又能够便于后续处理。图像复原在电子监视、医疗摄像等领域具有重要的用途。

MATLAB既能进行科学计算,又能开发出所需的图形界面。图形用户界面(GUI)是由光标、菜单、按键、窗口、文字说明等对象构成的一个用户界面。

MATLAB语言有着和其他高级语言不同的特点,同时它也被称为第四代计算机语言,MATLAB语言的最大特点是简单和直接。MATLAB语言中丰富的函数使得开发者无须重复编程,只要简单的调用就可,它让人们从原本繁琐的程序代码中解放了出来。

下面来介绍一下实现图像模糊来然后通过调用MATLAB图像复原函数来检测复原功能。

(1)运动引起的图像模糊:

subplot(’axes1’);

hold off;

global A;

global B;

xy=inputdlg({‘LEN’;’THETA’},’please input’)%參数输入

end

H=fspecial(’motion’,x,y);%点扩展函数

MotionBlur=imfilter(A,H,’replicate’);%产生运动模糊图像

B=MotionBlur;

imshow(B);%显示图像

figure;

subplot(1,2,1),imshow(A),title(’模糊前’);

subplot(1,2,2),imshow(B),title(’运动模糊后’);

实现图像复原

(2)逆滤波复原算法:

subplot(’axes1’);

hold off;

global A;

global B;

xy=inputdlg({‘LEN’;’THETA’},’please input’)%参数输入

end

PSF=fspecial(’motion’,x,y);%点扩展函数

[J P]=deconvblind(A,PSF,30);%逆滤波复原

B=J;

imshow(B);%显示处理后的图像

figure;

subplot(1,2,1),imshow(A),title(’逆滤波处理前’);

subplot(1,2,2),imshow(B),title(’逆滤波处理后’);

(3)维纳滤波复原:

subplot(’axes1’);

hold off;

global A;

global B;

xy=inputdlg({‘LEN’;’THETA’},’please input’)%参数输入

end

PSF=fspecial(’motion’,x,y);%点扩展函数

Blurred=imfilter(A,PSF,’circular’,’conv’);%模糊化

wnr=deconvwnr(Blurred,PSF);%维纳滤波复原

B=wnr;

imshow(B);%显示处理后的图像

figure;

subplot(1,2,1),imshow(A),title(’维纳滤波前’);


讯享网

subplot(1,2,2),imshow(B),title(’维纳滤波后’);

在实际的检测中我们发现采用维纳滤波复原可以取得比较好的效果,这个算法可以使估计的点扩散函数值更加接近它的真实值。在我们知道模糊图像的点扩展函数的情况下,可以调用常规的图像复原算法;而现实里还会遇见不知道点扩展函数的情况,这个时候我们就可以利用盲卷积复原算法。它是利用原始图像模糊,同时进行清晰图像的恢复和点扩展函数计算的一种方法。因此,盲卷积复原算法的优点就是,对失真情况还未知的情形下,仍然能够操作恢复模糊图像。

经过测试证明,matlab具有强大的功能,尤其在图像处理方面具有优势。本文只涉及了其中的一小部分进行应用,但已经足以看出matlab处理图像的快速和高效。

参考文献:

[1]贺兴华.MATLAB7.x图像处理[M].人民邮电出版社.2006

[2]姚敏.数字图像处理[M].机械工业出版社.2007

一. 对MATLAB的认识

正如课本《MATLAB教程及实训》中的前言所说,MATLAB是MathWords公司于1984年开发的,目前已经发展成国际上最流行、应用最广泛的科学与工程计算软件之一。MATLAB集合矩阵云运算、数值分析、图形显示和仿真等于一体,被广泛应用于自动控制、数学运算、计算机技术、图像信号处理、汽车工业、语音处理等行业。MATLAB它将计算、可视化和编程等功能同时集于一个易于开发的环境。MATLAB主要应用于数学计算、系统建模与仿真、数学分析与可视化、科学与工程制图和用户界面设计等。

目前,MATLAB已经成为应用代数、自动控制理论、数字信号处理、动态系统仿真和金融等专业的基本数学工具,各国高校纷纷将MATLAB正式列入本科生和研究生课程的教书计划中,成为学生必须掌握的软件之一。

MATLAB是matrix laboratory的缩写,它的产生是与数学计算有密切的关系。从1980年发展到现在已经是一个交互式开发系统,其基本数据要素是矩阵。MATLAB系统是由MATLAB开发环境和MATLAB语言,MATLAB数学函数库、MATLAB图形处理系统和MATLAB应用程序接口(APL)5部分组成。

MATLAB的有以下特点

1运算功能强大

2编程效率高3强大而智能化的作图功能 4可扩展性强 5Simulink 动态仿真功能

二. 我对MATLAB的掌握程度

在短课时选择了本书1、2、3、4、5、7章的内容学习

1.MATLAB R2010a软件的概述(略)。2.MATLAB常见字符及基本运算

在本人的自主学习以及老师的授课下我已经初略的掌握了MATLAB R2010a的基本使用方法:MATLAB R2010a的开发环境、MATLAB R2010a的其他管理、MATLAB的文件处理工具、MATLAB R2010a的帮助系统

(1)数据类型 数组:字符型、数值型、元胞型、结构体型、Java型和函数句柄,其中数值型有包括单精度型和双精度型。常数

例如”a” “x”(关键字如if、while 等不能作为变量名)整数、复数和浮点数的类型与具体用法。

这一整章学习起来毫不费劲,这主要是因为上一学期学习了的c语言。

(2)矩阵和数组的算数运算

数组的创建,其中包括空数组还有向量的运用法则以及特殊矩阵和数组。其次是数组的操作,其中数组的元素、子矩阵的产生和数组的赋值以及矩阵的合并与数组的删除。矩阵和数组的函数。

字符串、创建字符串、与字符串函数的熟练运用、日期与时间、日期和时间的表达式、日期时间的函数的使用、关系运算和逻辑运算、关系运算符的使用与逻辑运算符的使用以及运算符的优先级等

总体学习上是有些不足,总是忘记,这得不断重复的记忆才行。

3.数据的可视化掌握

首先MATLAB的数据可视化需要掌握四大点

二维绘图

二维绘图需要掌握其一般步骤以及基本绘图的函数,多个图形的绘制以及设置曲线的方式、坐标轴和图形的注释。课本P81.例题3-1绘制一个正弦波形,绘制的正弦曲线图略,具体操作如下:

》x=0:0.1:10 》y=sin(x);

》plot(x,y)

%根据x和y绘制二位曲线图

程序分析:plot函数自动创建Figure 1图形窗口斌显示绘制的图形,横坐标是x,纵坐标是y。

特殊图形和坐标的绘制 MATLAB的图形窗口 基本三维绘图命令

三维曲线与直线图的绘制重要掌握

4.符号运算

先来一道例题创建符号变量和表达式 》x=sym(’x’);》syms a b c 》y=a*x~2+b*x+c y= a*x~2+b*x+c 可以在Workspace中看到,x、a、b、c和y都是符号变量,y是由符号变量计算产生的。

此章节符号较多且其运算规则也相对来说比较复杂。但是这一章节却是MATLAB语言以及编程的重点基础,更是要非常熟练的掌握。一分耕耘一分收获,经过不断重复的记忆我已经也能大部分符号运算都能知道其用法以及运算规律。

5.程序设计和M文件

此章节主要有:

分配控制语句:if结构,swich结构 循环控制语句:for循环,while循环 Break和continue语句 错误控制语句 流程控制命令 M文件结构

M文件编辑和调试窗口 M脚本文件和M函数文件

第七章节与C语言大部分相同或者雷士,有C语言的基础学起来不难,但这一章节却异常重要,更是要学会编程的思想,这是有点难度的。程序控制不在多说因为与C语言大体相同。但这一章的函数的使用与C语言不同,需要分开来记忆,总的来看学的还是不错的,但听班上的有些同学说很难记忆,因为与C语言有冲突。这一章节我还学习了M文件的结构、函数的句柄和inline对象,这些倒是和Java语言有的相似。倒也不难理解。还有函数的绘图与数值的分析。

7.MATLAB高级图像设计与simulink仿真环境

三. 收获与心得

收获:

上学期学习高数的时候,总有那么难的数学函数要解答,一些二维或者三维的函数绘图图形又复杂。在学习完这门课程后知道了原来这些绘制的图片可以由MATLAB绘制出来的。这让我知道了MATLAB可以用在数学上。而且是高等数学习者必备的一款软件。现在我也可以绘制一些复杂的函数。我想这也是一项很大的收获。在仿真中可以仿真一些复杂的电路原理图,而我这个专业是跟电路有着密切的关系。其用处之大不言而喻,我想这也将是我最大的收获了。另外值得一提的是学习MATLAB语言可以建立我们另一种思考问题的思维。这种思想难得可贵。

学习心得:

这学期的学习MATLAB,由于前几节课没有认真听,总以为和C语言一样简单也,到后来拉下的课程比较多,老师有说要写学习报告来计算期末成绩,所以不得不自学拉下的课程,这使我非常烦躁和不安,但我们都是这样过来的。以至于一直延续大大一而不可更改,直到这学期的MATLAB学习。

学习有时候并不是一个人的事情,独自一人学习效率不会太,我们可以多向他人请教或许会更好。

这学期刚开始接触MATLAB语言也是用着以前的学习方法。慢慢的感觉到不对,书本上是学会了,但是一到真枪实战的干就不行了。后来想想就是学习方法的问题。实践、得实践才行。之后我便边学边用电脑实践。果不其然,效果大大提升。总而言之,学习MATLAB的方法是边学习边实践,效果成倍增加。学习MATLAB语言,其实是学习MATLAB的编程思想,另一种思考问题的思维。它交给我一种建立模型分析问题的结构化思维方式,任何事物,从不同的角度看,都可以想象成一个从头到尾、环环相扣的系统,我们想要了解整个系统的功能就必须以每一块结构为思维对象,层层分析最后得出客观规律的正确结果。

对于这门课程的反思:

当我第一次看到这本书的内容时,觉得有了c语言的基础,学习起来一样好学,所以前面一直没认真听课,也给老师带来了消极的影响,到了后面,我不得不自己学习,这带给我诸多烦恼,后悔没有认真去听课,经过我认真的反思,我才觉悟到在课堂上认真听讲和拥有一个良好的学习态度是多么的重要。最后感谢老师对授与我们这门课的知识。

参考文献:曹弋、刘怀、王恩荣.MATBLE教程及实训【M】.北京:机械工业出版社,2013

MATLAB学习报告

专业班级: 姓名: 学号:

真正接触matlab已经一学期左右,我很喜欢matlab的简单的语法,易于绘制图形一开始就感觉跟变魔术一样简单的语句就会有精美的图形这就更加让我对他如痴如醉了,最先开始接触是在大二参加数学建模时,一开始就被他所吸引(一个简单的程序就可以绘制出精妙的立体图形)真正认识和了解他是在这学期的matlab课上这使得我有机会去进一步了解和探索他了。他不但有很强的图形绘制能力而且他其中包含的toolbox更是让人用起来得心应手这也使得我对他更加的感兴趣。

首先我要说的是现今的MATLAB已全部采用C语言编写,它既是一种编程环境,又是一种程序设计语言。在MATLAB中,以复矩阵作为基本编程单元,无须定义即可采用,且可随时改变尺寸。在MATLAB中,表达式的书写像在稿纸中演算一样。提供20多个工具箱函数。易扩展性是最重要的特征之一,友好的界面、易记的命令和简便的操作。可将C语言编写的程序移植进来。

其次我想说的是matlab的help功能 help:最有效的命令其实,可以这样说吧,如果离开matlab课本,我想我自己是基本上什么都不会.一遇到什么问题,通常我的第一反应是:help它帮我解决了matlab学习中的许多困难与障碍所以在有不懂得地方第一个想到的就是他的help功能。

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

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

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

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

1、针对学习资料:

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

2、针对上课学习

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

3、针对课下学习

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

高中数学中圆锥曲线中最值和定值 (定点) 问题、求参数范围问题和存在与对称性问题是学习过程中的难点。有效解决这些难点一直是高中数学学习过程中的问题。随着计算机技术的飞速发展, 计算机辅助教学越来越受到人们的重视。Matlab是一款与数学密切相关的算法软件, 具有优越的数值计算与可视化等性能。可以使抽象的数学问题形象化, 使抽象的数据、公式可视化, 充分展现数据与公式的内在关系, 加深对数学问题的理解。

2 Matlab在数学中的应用

椭圆、双曲线、抛物线统称为圆锥曲线。从点的集合 (或轨迹) 来看, 它们都是与定点和定直线的距离之比为常数e的点的集合 (或轨迹) , 这个定点是它们的焦点, 定直线是它们的准线, 只是由于离散率的取值范围不同, 而分为椭圆、双曲线、抛物线三种曲线。

2.1 椭圆

椭圆的定义为平面内与两定点F1、F2的距离之和等于常数 (大于|F1F2|) 的点的轨迹, 其标准方程如公式 (1) 所示。

其中a为椭圆的长半轴长, b为短半轴长, c为半焦距长, 椭圆的离心率e为

根据不同的离心率e值, 如表 (1) 所示, 可以应用Matlab软件绘制出不同的椭圆曲线, 如图1所示。

Matlab程序为:

从图中可以看出, 椭圆是一个封闭图形, 对称中心为原点, 有两条对称轴和四个顶点, 离心率e值决定了椭圆形状的扁平程度, 离心率e越大, 椭圆形状越扁。

2.2 双曲线

双曲线的定义为平面内与两个定点F1、F2的距离的差的绝对值等于常数 (小于|F1F2|且大于零) 的点的轨迹, 其标准方程如公式 (3) 所示。

其中a为双曲线的实半轴长, b为虚半轴长, c为半焦距长, 双曲线的离心率e为

根据不同的离心率e值, 如表 (2) 所示, 可以应用Matlab软件绘制出不同的双曲线, 如图2所示。

Matlab程序为:

从图中可以看出, 双曲线无限延展且有渐近线, 对称中心为原点, 有两条对称轴和两个顶点, 离心率e值决定了双曲线形状的开口大小, 离心率e越大, 双曲线形状开口也越大。

2.3 抛物线

抛物线的定义为平面内与一个定点F和一条定直线l (F l) 的距离相等的点的轨迹, 其标准方程如公式 (5) 所示。

其中, P为抛物线的焦准距, 抛物线的离心率e=1。

根据不同的焦准距P值, 如表 (3) 所示, 可以应用Matlab软件绘制出不同的抛物线, 如图3所示。

Matlab程序为:

从图中可以看出, 抛物线无限延展没有渐近线, 无对称中心, 只有一条对称轴和一个顶点, 焦准距P值决定了抛物线形状的开口大小, 焦准距P越大, 抛物线形状开口也越大。

3 结论

Matlab软件在中学数学中的应用远不止这些, 通过本文的分析实例可以看出, 适当引入Matlab辅助教学, 可以使数学内容更加生动形象, 它将有助于数学概念的深化, 能将数学中比较复杂的变化规律, 直观地展现在学生面前, 这都将大大地提高课堂的学习效率。因此, 研究Matlab软件在相关课程的教学应用显得尤为重要, 也必将在开拓设计思路、激发学生兴趣、突破教学难点等方面发挥其独特作用。

参考文献

[1]易昆南, 李慧, 赵澍源.让枯燥无味的数学变得”有趣、有味、有惑”—Matlab中的音乐合成[J].实验室研究与探索, 2014, 33 (06) :114-117.

关键词:Matlab;层次分析法;判断矩阵;决策

在当前信息化、全球化的大背景下,传统的手工计算已不能满足人们高效率、高准确度的决策需求。因此计算机辅助决策当仁不让地成为了管理决策的新工具、新方法。基于此,本文在充分发挥计算机强大运算功能的基础上,选用美国MathWorks公司的集成数学建模环境Matlab R2009a作为开发平台,使用M语言进行编程,对计算机辅助决策在层次分析法中的运用进行讨论。试图通过程序实现层次分析法在计算机系统上的运用,为管理决策探索出新的道路。

一、层次分析法的计算流程

根据层次分析法的相关理论,层次分析法的基本思想是将复杂的决策问题进行分解,得到若干个下层指标,再对下层指标进行分解,得到若干个再下层指标,如此建立层次结构模型,然后根据结构模型构造判断矩阵,进行单排序,最后,求出各指标对应的权重系数,进行层次总排序。

1.1 构造层次结构模型 在进行层次分析法的分析时,最主要的步骤是建立指标的层次结构模型,根据结构模型构造判断矩阵,只有判断矩阵通过了一致性检验后,方可进行分析和计算。其中,结构模型可以设计成三个层次,最高层为目标层,是决策的目的和要解决的问题,中间层为决策需考虑的因素,是决策的准则,最低层则是决策时的备选方案。一般来讲,准则层中各个指标的下级指标数没有限制,但在本文中设计的程序尚且只能在各指标具有相同数量的下级指标的假定下,完成层次分析法的分析,故本文后文选取的案例也满足这一假定。1.2 建立判断矩阵 判断矩阵是表示本层所有因素针对上一层某一个因素的相对重要性的比较给判断矩阵的要素赋值时,常采用九级标度法(即用数字1到9及其倒数表示指标间的相对重要程度)。1.3 检验判断矩阵的一致性 由于多阶判断的复杂性,往往使得判断矩阵中某些数值具有前后矛盾的可能性,即各判断矩阵并不能保证完全协调一致。当判断矩阵不能保证具有完全一致性时,相应判断矩阵的特征根也将发生变化,于是就可以用判断矩阵特征根的变化来检验判断的一致性程度。在层次分析法中,令判断矩阵最大的特征值为λmax,阶数为n,则判断矩阵的一致性检验的指标记为: ⑴ CI的值越大,判断矩阵的一致性越差。当阶数大于2时,判断矩阵的一致性指标CI与同阶平均随机一致性指标RI之比称为随机一致性比率。 ⑵ 当CR<0.1时,即可认为判断矩阵具有满意的一致性。然而由于在为各指标间相互重要性程度大小的判定过程中存在人为主观因素,因此在判断矩阵不能通过一致性检验时,需要对各指标间相互重要性程度重新进行赋值,直至其通过矩阵一致性检验。其最大特征值对应的特征向量即为该指标相对于上一级指标的重要性排序。1.4 进行层次总排序 在通过层次单排序得出各指标相对上一级指标的重要性排序向量后,沿递阶层次结构逐级依次由下往上进行矩阵计算,则可得到各底层指标对最高层的相对重要性权重,从而可对各底层指标的优先次序进行排序,找出重点指标并予以特别关注。

二、Matlab层次分析法程序设计思路

Matlab是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。Matlab可以进行矩阵运算、绘制函数和数据图像、设计算法、创建用户界面、连接用其他编程语言编写的程序等。Matlab以矩阵为计算单位,采用M语言作为程序语言,与C语言有诸多相似之处,并可方便地与C/C++、Microsoft Excel等工具和软件进行结合并进行代码共享和数据交换,可以方便地进行数值分析、图像处理等功能,配合功能强大的统计和金融工具箱,Matlab已经可以在概率统计、经济管理等方面发挥强大的作用。 笔者所编程序即是运用Matlab丰富的函数、矩阵运算和程序控制功能,探索其在层次分析法分析中的运用。程序通过三层循环结构,实现多个层次上各个判断矩阵的输入和生成,并可以通过计算它们的特征值,进行矩阵的一致性检验。当所有的判断矩阵一致性检验均通过后,程序将对各层次从下往上依次计算,最终得出各底层指标相对于准则层的权重系数,从而有助于选择最优方案,其中的平行四边形表示输入数据,菱形表示判断,根据判断结果的不同出现2个分支。

三、应用举例

某市一十字路口常常因行人过街拥挤,存在安全隐患,市政部门欲对该路口进行改造,现提出了3套改造方案:

方案1(S1):建地下通道;

方案2(S2):建人行天桥;

方案3(S3):拆除周围的旧建筑,拓宽街面。

市政部门认为,该改造工程需考虑如下几个方面的指标:

指标1(P1):通车能力的大小;

指标2(P2):交通安全系数的高低;

指標3(P3):建筑费用的高低;

指标4(P4):群众出行方便度的大小;

指标5(P5):市容整洁程度的高低。

现在需要就以上问题进行决策,需决定在三套方案(S1~S3)中选用最优方案。其主要步骤及操作如下所示。

第1步:根据题目建立层次结构模型。由于题目要求对3套方案均需考虑5个指标,故可画出指标体系结构图。

第2步:形成判断矩阵。形成判断矩阵,需要对各指标相互的重要性进行标度,矩阵的上三角部分与下三角部分以对角线为分界,对称呈倒数排列,对角线上元素均为1,因为各指标与自身的重要性为“同等重要”,不同的指标A1对A2的重要性与A2对A1的重要性互为倒数。

第3步:将以上各矩阵输入程序,进行计算。在Matlab的命令窗口依次按提示输入矩阵后,程序输出结果。

接着,程序对各矩阵计算所得的最大特征值对应的特征向量按下式进行标准化

再给出各指标的特征向量组成的矩阵

进而得出三套方案相对于目标的权重向量为

程序经比较,发现方案1权重系数最大,进而得出最终结论:方案1(地下通道)占优。

四、总结及分析

本文通过使用Matlab软件进行编程,在满足同一层次中各指标对所有的下级指标均产生影响的假定条件下,实现了层次分析法的分析运算。本程序允许用户自由设定指标层次结构内的层次数以及各层次内的指标数,通过程序的循环,用户只需输入判断矩阵的部分数据,程序可依据层次分析法的计算流程进行计算并作出判断。本程序可以方便地处理层次分析法下较大的运算量,解决层次分析法的效率问题,提高计算机辅助决策的时效性。

参考文献:

[1]王翼,王歆明.MATLAB基础及在经济学与管理科学中的应用[M].北京:机械工业出版社,2009,7.

10金融3 吕淼 在为学习这门课前就听说了他的强大,因为现在的经济模型都是需要这些分析软件的,也曾听说金融的未来方向是需要数学等等作为依托的。曾经旁听过学校数学建模的课程,当时老师用的是lingo。对那个只需要U盘携带就可以安装的小东西记忆深刻。等到学习matlab时觉得这才是真正的王道啊。

它不仅有强大的运算功能,还有强大的绘图功能,虽然学习了有一个学习,但是我对他的了解额仅仅是一点点,或许连入门都谈不上。因为我学习时了解到一个现实。就是matlab的学习依赖有比较好的数学功底,其中我看最经常运用到的就是矩阵。我从网上了解到matlab是一门高等数学和计算机技术结合的东西,学习它必须具有相应的数学和计算机知识。然而很可惜,我的书写不是很好。每次讲到这个部分的时候就觉得听说理解无能了。特别是我今年还是大二,有一次老师讲课时用到协方差。无可避免的我笑了,因为协方差是我们下节课概率论数理统计老师要讲的内容。大一的时候还不觉得,但是大二,越是学习以后的内容越是感觉到时间不够用。或许时间是够用的,但是无法放弃那些占用自己时间表的无用项目。虽然这学期的学习的时间短暂,就算时间足够,老师也不能把所有的都讲解给我们,因为一个软件的功能需要我们自己不断的去摸索,老师也不可能知道所有。老师只是个指路人,最终的学习还是要靠自己。而且在摸索的过程中,我们能够发现和体会学习的快乐。痛并快乐着是种常态了吧。

自我感觉学习matlab与其说是学习一门软件,更不如说是学习一门语言。用一种数理的语言描述现象,揭示表象下的规律。此外,我认为matlab中的作图功能很强大,不仅简单的函数现象可以明确画出,而且一些点状物,甚至立体图也可以画出。大一上微积分的时候,老师曾经多次在课件中加入用matlab画出的图来。不论是一维二维三维等等,都能很好的画出来。只要能编写出函数式,在短短的几秒之内,他就会呈现在你眼前。另外就是图形的直观性,这是由阴影的制作的。而且可以根据需要,坐标图上加标题,坐标轴标记,文本注释级栅格等,也可以指定图线形式,比如是虚线。颜色也可以自己来定。可以在同一张图上画,也可以单个显示。

今年选择金融matlab一方面出于希望能够提前修完大三时期的课程,能够空出更多的时间去考研或者为就业做准备。另一个考虑就是希望明年能够参加数学建模大赛,今年种种纠结放弃了,觉得万分可惜。明年也就是大三下学期的话我就会再来一次,而且还会更加坚定些。那么学习matlab的话对明年的计划也是有帮助的。在学习的过程中,因为以前学过access中的select语言,觉得就编写这方面是有共性的,但是matlab的编程语言似乎更多更复杂一点,这是由于涉及的数学模型,数学公式更多的原因。老师在讲解的过程中是通过一个个具体的金融例子来讲解的,而不是就matlab这个具体的软件工具进行讲解。这个给我带来相当大的打击,因为我发现我不仅仅是工具不能够熟练,涉及到的专业知识也是一知半解。这更加坚定了我要好好学习专业知识的决心,大学四年有几个人是希望荒度过去的呢?可是今年的这门课真的是让我感到没学到什么,估计也是因为我抱着看一看的随意态度来的吧,也没有那种遇到不懂的就一定要弄懂它的决心和毅力。说什么都是借口了,无法掩饰我没有学好它的事实。事实上,我觉得今年这门课的重点并不是让我们掌握这种软件的具体用法,而是主要向我们展示如何用它去解决一些金融问题,数学问题。这点让我很郁闷,因为我不懂得原理,听起来这门课倍感吃力啊。可是嘛,年轻没有什么不可以,又有谁可以断言我接下来的生活中不能好好学习这个东西为自己的工作,学习,生活,研究兴趣带来方便呢。

从大学开学的见闻到现在学习MATLAB,感觉这是一个很好的软件,语言简便,实用性强。作为一个做新手,想要学习好这门语言,可以说还是比较难的。在我接触这门语言的这些天,除了会画几个简单的图形,其他的还是有待提高。从另一个方面也对我们大学生提出了两个要求——充实的课外基础和良好的英语基础。在现代,几乎所有好的软件都是来自国外,假如不会外语,想学好是非常难的。其实想要学习好一们语言,不能只靠老师,关键是自己。每个人内心深处都是有抵触意识的,不可能把老师的所有都学到。学习这门语言,不光是学习一种语言,更重要的事学习一种方法,一种学习软件的方法,还有学习的态度。

总结一下,学习任何一门语言:态度决定一切。不论是英语还是计算机语言。其实以前上高中的时候接触过这种编程语言,当时记得最头疼的就是循环语句,但是在matlab中这种东西用的就比较少了。语言语句都是很简洁利落的,都是一枪瞄死靶心的那种,很直接,这也让我减轻不少心理负担。

首先我想说的是,在理论方面,在学习MATLAB过程中,我感觉到它和c语言有许多相似之处,他有c语言的特征,但是比c语言编程计算更加简单,适合于复杂的数学运算。但是MATLAB跟其他语言也有着很大的不同。现在用的比较多的编程语言,除了MATLAB就应该是c、c++、VHDL,VB和Delphi也接触过,如果自己抱着“把其他语言的思想运用在MATLAB里面”的话,那么我想,即使程序运行不出错,也很难把握MATLAB的精髓,也就很难发挥MATLAB的作用了。

众所周知MATLAB是一个基于矩阵运算的软件,但是,真正在运用的时候,特别是在编程的时候,许多人往往没有注意到这个问题。在使用MATLAB时,受到了其他编程习惯的影响,特别是经常使用的C语言。因此,在MATLAB编程时,for循环(包括while循环)到处都是。.这不仅是没有发挥MATLAB所长,还浪费了宝贵的时间。我这里想说的一点是,往往在初始化矩阵的时候注意到这个问题,懂得了使用矩阵而不是循环来赋值,但是,在其他环节上,就很容易疏忽,或者说,仍然没有摆脱C++、C的思想。

MATLAB博大精深,涉及的内容很多,所以,我认为不要试图掌握MATLAB的每一个功能,熟悉和你专业最相关的部分就可以了,这也是老师在课堂上经常说的。学MATLAB并不难,难的是学会怎么用,所以经常上机实践是很必要的。我自己感觉学习MATLAB和以前的编程能力没有太多的关系,所以不要担心自己编程能力差,自己一定用不好MATLAB,只要自己肯在这上面花费时间和精力,就一定能有所收获。在学习MATLAB的过程中,不要只问不学,并且学MATLAB要有耐心,要大胆的去试,哪怕只有一丁点儿可能,只有自己动手去实践了才能发现错误的所在,利用这个解决问题的方法要试着解决类似的问题,要举一反三,要学会变通。多读MATLAB高手写的程序,找到一个高手多向他请教这方面的问题,在几个大的论坛可以搜索出一大堆的帖子,然后慢慢去看吧,从中可以学到很多东西。善于总结,学习过的知识,看过好的经验介绍可以收藏起来,过段时间再复习一下,一段时间的积累,你会发现你的水平在慢慢提高

(这属于实践方面的体会)还有一点比较重要多用help,see also,lookfor,get, set 等常用命令,尽量摆脱c编程的习惯,总爱用循环,能不用的循环的尽量不用,掌握矢量化的精髓。(1)help: 最有效的命令。其实,可以这样说吧,一遇 到什么问题,通常可以从 help 中找到答案。就先说说对help的一些常用方法。

1)命令窗口直接敲“help”,你就可以得到本地机器上matlab的基本的帮助信息。

2)对于某些不是很明确的命令,只知道大体所属范围,譬如说某个工具箱,直接在

命令窗口中敲入 help toolboxname,一帮可以得到本工具箱有关的信息:版本号,函数名等。

3)知道函数名,直接用help funname就可以得到相应的帮助信息。

在用help命令的时候,可能因为我们开始估计的方向不一定完全正确,在列出的帮助信息中没有直接给出我们要找的东西,但是我们一定不要忽略了在帮助的最后列出的see also。譬如:曾经遇到一个画椭球的问题。刚开始我以为这个命令函数应该在graph3d中给出的。只用help的时候我们就可以看到matlabgraph3dGenerate ellipsoid。

(2)lookfor:可以说是 matlab中的google

当我们很多什么头绪都没有的时候,我们可以求助于它,往往会收到意想不到的效果。譬如:曾经在gui编程的时候,遇到过这样一个问题:想拖动鼠标时,要出现一个方框,就像你在桌面上拖动鼠标,会出现虚线框一样。当初我也刚开始一定都不知道该查找什么东西,后来想起用它了。于是,>> lookfor Rectangle。这样一条信息:GETRECT Select rectangle with mouse.get,set: GUI object 属性的帮手在GUI编程中,我们可能有时候想改变某些object的属性,或者想让它安装自己的想法实现,但是我们又不记得这些object的属性,更别提怎么设置他们的值了。这时,可以用 get(handles得到此对象的所有的属性及其当前值。用set(handles)可以得到对象所有可以设置的属性及其可能的取值找到我们需要的属性名字和可能的取值之后,就意义用 get(handles,‘propertyname’)取得此属性的值,用set(handles,‘propertyname’,values)设置此对象此属性的值。Edit: 查看m源文件的助手在应用matlab过程中,可能我们想看看它的m源文件,当然用editor定位打开也行,但是我经常采用的式直接在command窗口中用edit funname.m,就省去了定位的麻烦。

小讯
上一篇 2025-06-16 16:41
下一篇 2025-05-13 16:21

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/208117.html