学matlab到底应该学些什么

时间:2024-12-26 11:47:15 来源:作文网 作者:管理员

文档大全 > :学matlab到底应该学些什么是由小学生作文网为您精心收集,如果觉得好,请把这篇文章复制到您的博客或告诉您的朋友,以下是学matlab到底应该学些什么的正文:

第一篇:《写给学习MATLAB新手》

首先我想说的是,matlab跟其他语言不一样(我用的比较多的编程语言,除了matlab就应该是c或c++了,VB和Delphi也接触过,我想版面(matlab版)大部分人也差不多),如果你抱着“把其他语言的思想运用在matlab里面”的话,那么我想,即使程序运行不出错,也很难把握matlab的精髓,也就很难发挥matlab的作用了。所以,如果你是希望matlab作为VC的附属品,即你不想在matlab上面花太多功夫,只纯粹想用matlab来完成VC做不了或很难做成的任务的话,那么,这篇文章你也不需要再阅读下去了;如果你是希望掌握一门语言、一个工具,使它更有效为你服务的话,那么,希望本文对你有所帮助。

Matlab是一个基于矩阵运算的软件,这恐怕是众所周知的事情了,但是,真正在运用的时候(就是在编程的时候),许多人(特别是初学者)往往没有注意到这个问题,因此,for循环(包括while循环)满天飞„„„„..这不仅是暴殄天物(没有发挥matlab所长),还浪费了你宝贵的时间。对此,版友MVH在他的“MATLAB 小技巧”一文中也有所涉及,雷同的东西我也就不重复了,matlab的“帮助”里面也有相关的指示。我这里想说的一点是,初学者往往在初始化矩阵的时候注意到这个问题,懂得了使用矩阵而不是循环来赋值,但是,在其他环节上,就很容易疏忽,或者说,仍然没有摆脱C++的思想。举个例子吧,下面的代码是我的一个师弟写的,我想他接触matlab也有2、3年时间了(在此说明一下,接触2、3年并不是表示每天都会跟matlab打交道,我本人也不是,只是在一年某几个时间段里面连续使用),但是仍然会出现类似的问题:

J = 0;

lt = size(imf1,2); for (i = 1:lt) if (abs(imf1(i)) > 1) J = 1; break end end

复制代码

上面的代码实现了一个目的――检查信号imf1(一个向量)是否存在绝对值大于1的点,这显然是基于C++的思想写出来的。如果在matlab下面,其实用两个语句就足够了(当然,可以合并为一个):

q = find(imf1>1); J = ~isempty(q);

复制代码

这样的修改带来的好处是很可观的。又如:

for j = 1:num

imf1(start1+j) = 2*li1(j+1) - imf1(start1+j); end

复制代码

这是一个对称翻折的问题,它完全可以用以下这个语句简洁表示:

imf1(start1+1:start1+num) = 2*li1(2:num+1) - imf1(start1+

1:start1+num);

复制代码

因此,如果是新手,可以先用循环(基于C++的思想)来编写代码,然后看看能否用matlab的语言(基于矩阵的思想)来改进。当然,这样做的前提是你对matlab提供的一些函数比较熟悉才行,这些函数在matlab的“帮助”那里搜索“Functions Used in Vectorizing”就可以找到一些,其他的也可以找相关的书籍(没找到?不可能,电子版总可以下载到的)! 对提高matlab编程能力的方法,我想主要有以下三个:

1. 查help

2. 多上上论坛,搜索帖子、发帖子问人 3. 阅读别人、特别是牛人的程序

当然了,正如所有的程序语言一样,“3分课本7分上机”,一定

要动手才行,不能光看。多想、多思考、多尝试,才是正路。

复制代码

最后,整理一下常用的快捷键(用【】表示)或命令:

1. 在命令窗口(Command Window)中:

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

来达到你想要的命令 2) clc――清除命令窗口显示的语句,此命令并不清空当前工作区

的变量,仅仅是把屏幕上显示出来的语句清除掉 3) clear――这个才是清空当前工作区的变量命令,常用语句cle

ar all来完成 4) 【Tab】键――(转自版友心灯)在matlab@hit.edu.cn看到

的:在command窗口,输入一个命令的前几个字符,然后按tab键,会弹出前面含这几个字符的所有命令,找到你要的命令,回车,就可以自动完成。目前讨论结果是:matlab6.5版

本中,如果候选命令超过100个,则不显示。而在matlab7以后版本中,则没有这个限制,均可正常提示

5) 【Ctrl+C】(或【Ctrl+Break】)――(转自版友yangjin_r

en)在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状态下的快捷键就不多说了,自己看菜单Debug吧!

累了, 有时间再写吧。希望大家多交流~~~~~~

Coming: (以下东西都是一年前做的了,不知道能否记起,呵呵)

1) 关于神经网络的――调用matlab的nntool命令后的使用问题

中考作文题

(我做的时候没有看过其他书籍或资料,是自己闭门造车的结果,如果写之前发现其他书籍有相关介绍的话就不写了)

2) 关于外部接口的――matlab与C++Builder的接口,想详细

介绍如何利用matcom 4.5在C++Builder中调用matlab的代码以及matcom的一些技巧。由于我不是搞项目开发的(搞科研、搞课题的),所以对VC不熟悉,大学的时候学过一点,不过我想对于搞科研来说C++Builder就足够了,免去很多麻烦,Builder在界面设计和数据库连接上面(我只接触过这

两方面)还是做得不错的。同样,如果发现其他书籍上有类似的东西就不写了

3) GUI方面也写写吧,只是一点点心得或者体会,呵呵,这个相

对简单些,篇幅相对要少些。

复制代码

分享44 收藏248 鲜花159 鸡蛋0 新浪微博

778 贝壳

一年级看图写话范文

54125

贡献 4731

串个门 加好友 打招呼 发消息

enial(山城棒棒儿军) 转自 不明

真正接触matlab一年左右,我很喜欢上了matlab的简单的语法,易于绘制图形,gui编程也非常容易, 并且功能强大的开放式的toolbox。 因此,尽管我一直没有这方面的应用,但是我还是对它非常感兴趣。 现将个人的matlab的一点学习体会列在这里,愿能够对大家(特别是初学者)起到一点儿微薄的作用也好挫折怎么读。

第二篇:《MATLAB 初学者学习要点》

MATLAB 初学者注意事项(学习别人的) (2010-04-02 13:13:41)转载▼

标签: 杂谈

matlab博大精深,说到底我也只不过是个初学者,只是学的时间比新手长了一点,现在写几句给新手,希望能给你们有点帮助 1 学Matlab并不难,难的是学会怎么用。

2不要试图掌握matlab的每一个功能,熟悉和你专业最相关的部分就可以了。

3 不要问:明天要交作业了,哪位大侠帮忙写个程序吧,或初学matlab,不懂呀,大哥大姐帮忙写个程序之类的话

不要等到要用到才去学,如果你有兴趣,你有时间,你可以多学些东西,说不定什么时候就用了,机会只偏爱那些有准备的头脑,到时候就不会说什么,要做东西想让人指点,基础的东西来不及仔细看了,一写程序吗,低级错误满天飞

4 不要说:不要让我看matlab英文的帮助我看不懂--谁都是从不懂到懂的

5 不要担心:我编程能力差,我一定用不好matlab。

6 不要只问不学

7 学maltab要有耐心

8 看到某本书中或论坛的帖子中解决问题的方法要试着解决类似的问题,要举一反三,要学会变通

9 有了问题先自己想,察看帮助,1个小时后没有结果再问别人 ,

不要一有问题就发问,然后什么都不管了,把希望寄托在别人身上 10 学会用搜索引擎,在网上可以找到很多资料,有的问题一搜索就能找到的,就不要来问别人了

11要多动脑,多动手写程序、调试,看程序时候多想几个为什么,理解别人程序中精华的东西,多自己调调程序,可以改改程序,把知识转成自己的,弄懂一两个经典例子比粗粗的看一大书要好,值得一提是不是一下子就能看懂相对比较长,比较复杂的程序的,要做的是自己慢慢去分析,利用已经有的资料和帮助,等慢慢搞懂它,要多看几遍,相信多看一遍你就会有一些新的认识,一直到你已经掌握里例子的精华。

12 多读matlab高手写的程序,帖子,找到一个高手,在几个大的论坛可以搜索出一大堆的帖子,然后慢慢去看吧,从中可以学到很多东西,也许你会发现很多你都看不懂,这很正常,别人写程序考虑的是能实现这样的功能,运行效率等问题,而不是考虑是不是很容易能让别人理解,你就看你现在能看懂,再看些通过你断点调试,查help能看明白的,看不懂的就先放下,遇到好的和看不懂,你又很挺感兴趣的话题,你先收藏起来,过段时间你再回头看看,你会发现,每看一遍,你就会多懂一些东西,当你第三遍甚至第四遍看同一个程序的时候,也许你就会有豁然开朗的感觉。一个比较长的程序,首先不要怕长,把它分解成一句一句,一句一句看懂它。要明白一口吃不成胖子,好东西要慢慢体会,才能领会。

13 电脑上复制粘贴很方便,对于别人解决的你专业上的问题,最好

自己写一遍,这样印象深刻,对于不懂的函数用法的函数,help中查查,能看懂多少算多少,对于程序断点调试一遍,弄清楚每个语句的功能,14 尽量摆脱c编程的习惯,总爱用循环,能不用的循环的尽量不用,掌握矢量化的精髓

15 善于总结,学习过的知识,看过好的帖子可以收藏起来,过段时间再复习一下,一段时间的积累,你会发现你的水平在慢慢提高 16 多用help,see also lookfor get,set 等常用命令

17 要大胆的去试,试过才知道可不可以,如有人问可不可以把多个子程序放在一个m文件中,呵呵,试试不就知道了学matlab到底应该学些什么。

18 多参与讨论,不要只关心自己的问题,也经常关注别人的帖子,从中也可以学到不少东西的

19 提醒一句,不要做只会下资料而不看的收藏家,这样对你没什么意义,书不在于多,真的看一两本书也就够了,以后要用的时候,再去查书,一味的东看看西看看,见了别人的资料,不关好不好,就留信箱的人,我感觉也不该这样,有了那么多资料,就别想着还有没有比这更好的了,开始学吧先写这么多吧,希望对新手能有点用

我是幸福的

感觉语言是相通的,不一定只针对matlab这门语言

如何写程序,如果你还是初学者,那么尽量不要复制粘贴,那样你是永远也无法学会写程序的。另外也不要对着别人的程序,一个字一个字敲进去,那样的话你只能成为一名优秀的打字员。一个比较好的方法是先读懂他,理清他的思路,然后自己动手写,写不出来的时间再

看看别人的程序,然后对照的看,你的和他的程序差异在哪里,写的过程就是提高的过程。

程序运行有错误怎么办,好多错误。首先,别害怕错误,这是每一个人都会碰到的问题,大牛,小虾都一样,你对你自己说 这不机会又来了,调程序的过程就是提高的过程。不要一遇到错误就来论坛发问了,如何调,关键是看错误提示,看错误的类型及出现在哪条语句上。 好好练自己的调试能力,这不仅可以帮你找到一些错误,有是碰到一些读不懂的程序,借助断点调试可以帮你读懂程序

还不行怎么办,用搜索引擎找答案(有时候把错误提示输进去就可以找到答案了)

还不行,这才发贴和别人交流

。。。。

写程序原则 尽量写的简单 通俗容易懂,让那些不如你聪明的人都能看懂,命名的时候做到见名知意,写的时间多加点注释,不然,不要说别人读不懂你的程序,等过几天,你自己也读不懂了,可以看看matlab里的函数,注释也写的很详细,当你觉得有些方法比较常用的时候,你可以封装成函数,加上一些说明,以后要用的时候,直接调用就可以了,注重代码的重用性。

勿在浮砂筑高台,基础很重要,为什么学matlab ,如果你只是把它

当成 c c++的附属品,用这些语言的思维来写一些奇怪的类matlab程序,我想你还是直接用c 或 c ++更合适,不要一开始就想着用matlab 做出什么东西,好好看一本matlab的基础书,这些基础对你以后的进阶会很有帮助。再说混合编程,什么都不懂就想着去混合编程是不实际的,maltab版本 vs 的版本不同,都会对混合编程影响的。

所以结果是对着别人的例子来做也不一定会做出来,一是别人讲的有些细节问题没讲清楚,二是版本问题。就算做出来,如果不明白为什么要这样做,又有多大意义呢。然后自己做一个,又不会了。

说这些的目的无非是希望想做混合编程的朋友多了解一些基础的东西,否则在混合编程这一块上会浪费很多时间,结果还是没有解决问题。

7.0系列 深入浅出matalb混合编程这本书是值得一看的。 多看帮助之类的话这里就不多说了。

现在很多人写书都太浮躁了,有的本身水平也不够,有的翻译的也很垃圾,选书的话请擦亮眼睛,不好的书不但浪费了钱,还浪费了时间,而且会让你怀疑自己的能力水平。说的有点远了

第三篇:《学习Matlab的总结与感想》

海南大学本科生 2010—2011学年度 第2学期

课程考查论文

学院(中心、所): 信息科学技术学院 专 业: 电子信息工程

研究方向: 班 级:

学生姓名: 学生证号:

课程名称: Matlab应用基础

论文题目: 学习Matlab的总结与感想

任课老师:

(以上由学生填写)

教师评阅:

阅卷教师(签名): 年 月 日学matlab到底应该学些什么。

摘 要

本文从计算机语言、数学建模、网络控制系统仿真与结构化思维等方面阐述了半年来学习Matlab的心得体会与感想。由于个人知识有限,在部分细节问题的理解上可能存有偏差,还请杜老师批评指正,不吝赐教。

关键词:Matlab语言 数学建模软件 网络控制系统仿真 结构化思维

学习Matlab快半个学期了,虽然还有很多问题不是很清楚,但通过实践学习,我对于Matlab总算有个整体的理解,而且每次上机操作,都会有一定的收获和感想,下面,就谈谈我个人对于Matlab的一些看法。

(Matlab语言)学matlab到底应该学些什么。

Matlab和其它语言不一样,我这个学期学习的是C语言,另外,对于Action Script、HTML、php语言也接触过一些。C语言主要是面向过程的,它的灵活性比较强,可根据自己的意图编辑程序,但所耗费的时间和精力比较大。例如定义变量,就分为int、float、char等类型,十分麻烦,而Action Script与php就显得比较随意,不必纠结于哪一种类型的变量,比如,定义Var number=3,Var play=true即可。相对于前两者而言,Matlab则显得更为灵活与快捷,它是一门解释性语言,能自动将高级语言翻译成机器语言。比如,求f2t,当t=0,1,2,3,4,5时f(t)的值。如果使用C语言则需要定义变量,调用math函数,还要应用for循环、输出函数,而Matlab则不然,只需输入t=0:5;f=2.^t,然后回车即可。

另外,Matlab还配有许多常用公式,操作起来十分方便,例如,想求出y''(t)3y'(t)2y(t)f'(t)2f(t)在y(0)1,y'(0)1时的零输入响应,应用dsolve函数,只需输入x=dsolve('D2y+3*Dy+2*y=0','y(0)=1,Dy(0)=1') 回车,即得结果:x=3*exp(-t)-2*exp(-2*t)。或许,也正是Matlab语言简洁、优化的特点,才使得它在学术界被广泛应用吧。学matlab到底应该学些什么。

(数学建模)

对于数学建模而言,Matlab是一款相当不错的建模辅助工具,因为 Matlab中有统计函数,线性分析函数,插值函数,非线性分析函数等等这些数模必备的函数,而且,Matlab强大的绘图功能可使很多数学演算过程变得可视化。这些对于分析问题都很有帮助。虽然我们学习的Matlab是电子信息工程方向的,但在下个学期,,班里的大部分同学都要参加数模竞赛,所以掌握好Matlab的各种函数模式就显得尤为重要了。

(Simulink与信号系统)

Matlab除了具有强大的数学功能外,还具备Simulink仿真功能,这为我们工科的学生提供了许多便利。

没有编辑M-file文件那么麻烦,Simulink很直观、形象,它使整个流程更加清晰明了,方便我们理解。譬如P132的图3.30,上面是一个Discrete Impulse,下面是Gain(-1)和Discrete Impulse,其Delay设置为3。一看便知最终Scope结果是两个间距为3且方向相反的脉冲波,而且修改起来也十分方便。同时,应用Simulink,也省去了部分编辑M-file文件的工作,使得效率更高,我想这也是Simulink为人们广泛接受的原因之一吧。

提起Simulink,便想到《信号与系统》这门课程,Simulink中有大量该课程的常用函数,所以,学习Matlab,对于我们更加深刻地理解《信号与系统》也是非常有帮助的。比如P140的图3.4.3,求系统的输出响应:先从工作空间取出x和h,分别FFT(傅里叶变换),然后相乘,最后求其傅里叶逆变换,即得结果,这就是《信号与系统》第三章所讲的连续系统的频域分析思想。

(网络控制系统仿真)

Matlab之所以能激发创作者的灵感,原因就在于它能把抽象的数学物理与直观形象的具体实例相结合。

在第七章的学习中,我第一次

学matlab到底应该学些什么由小学生作文网收集整理,转载请注明出处!

上一页 1 2 下一页
热门排行: 2016拜年词 好词