matlab学好了有什么用里1:1:10什么意思?

  不记得上一次写超过20行的matlab程序是什么时候了,大概是2013年吧,那个时候写过2篇文章,实际用到了 一些matlab的内容,超过200行的matlab程序应该要追溯到2011年了,最近为了帮助网友解决我博客一篇文章的问题,把自己2011年的matlab翻出来,感触颇多,一言难尽,看到昔日熟悉的代码,我居然能理解,然后还能修修改过,感觉好多年没用了,连基本函数都忘记了,还是碰到问题还是会写会改,这里面也说明了编程不简单是一个记忆和经验的问题,更重要的是学习的方法和解决问题方法的问题。所以决定写这篇文章把我说认识的Matlab的东西写出来,也许再过一些年,我将老去,也不会再用Matlab了,这样的话,算是给10年Matlab使用之路一个终结吧。
本站Matlab技术文章目录:
     &&本文原文地址:
准确的说这篇文章不是给完全的编程新手,特别是以前没有过一定编程经验的人准备的。
文章的适合对象是:已经有一定编程基础的人,如果你想用Matlab来快速的完成算法验证,以及科研学术研究等。
  文章的范围很大,信息量很大,个别问题新手不是很理解,请自行百度。至于有编程经验的,本文提到的大部分内容应该是可以理解的,根据思路,打开Matlab软件也应该是可以选择的。
本文选择的Matlab版本是:2012a,个人觉得这个版本一直都还不错吧。新的版本虽然菜单中文化,但那个UI真是丑爆了,无力吐槽,也没必要换。
  另外,这里提醒广大Matlab使用者,对于80%人来说,低版本真的够了,没必要追求太高,特别是那些连破解或者工具箱选择都不知道啥意思的,选择一个低版本,麻烦事情可能会更少。新版本的破解很多不全面,自己安装的时候要注意。很多人碰到这个问题,工具箱都没安装,你要找函数,怎么找得到。。。&
2.Matlab的简单介绍
  在国内,目前使用Matlab的主要人群是学生和科研单位,商业环境的使用我见过一些,但很少。就不做推测和评价了。
  Matlab如何如此受欢迎,我总结是4个方面:
1.高效的数值计算功能。这一点是出类拔萃,目前其他编程语言以及其他类似的数学软件无可替代;
2.完备的计算结果和编程可视化功能。这一点同样是出类拔萃,无可替代;我的博客有Matlab专栏,大部分是C#调用Matlab进行混合编程的问题,每一年都有大量的学生和其他工程人员有这个需求:直接调用Matlab的Figure。。。潜入到WinForm中去。。。这和Matlab的结果优秀的可视化功能密不可分;
3.友好完善的编程开发环境,以及接近数学表达式的自然化m语言。非常易于学习和掌握;Matlab软件就是一个编程开发环境,自带的m语言简单易用,有编程开发经验的人应该是非常容易掌握的;
4.功能丰富的应用工具箱与Help系统,目前Matlab的工具箱总数已经超过80个,覆盖了数学,统计,仿真,电子,生物信息学,金融,测试等等各个方面。与其说Matlab强大,不如说它的工具箱强大,每一个工具箱都包括与涵盖了行业内经典的一些算法和处理方法。省去了大量的麻烦,所以对于科研来说,快速的验证自己的想法,实现算法并进行测试。
3.Matlab开发环境介绍
  如果要使用Matlab,安装Matlab必不可少,下面是Matlab的主界面,下面介绍几个主要窗口的作用。本文使用的是Matlab2012a,其他版本如果是Ribbon UI,除了菜单不一样,窗口也大概类似的。
  上面就是Matlab的主界面,我用的是2012a版本,新版本2013后可能有些改变,感觉更丑。。还是这个习惯。但大概功能都差不多。看看每个部分的功能吧,菜单栏暂时就不说了,看名字一般都能懂。具体说说上图各个部分的作用。
1.Current Folder:当前路径。是当前matlab工作文件夹的路径,这个一般启动改好后,不会变动,作用不大,但有时候找文件用得上;这里会加载你经常使用的Matlab目录,可以通过下拉箭头快速切换不同的Matlab工作路径;
2.Current Folder:也是当前的工作文件夹的文件显示,这里显示文件夹的所有资源,比较好懂,需要打开文件的时候,双击对应m文件就可以了;
3.单个m文件或者函数,点击之后,会在4中显示包含的函数,就比如VS显示类中的属性,方法之类的,可以了解文件结构;
4.是3中选择文件中包括的函数,不用打开文件夹,就可以看到m文件中的函数结构;
<mand Window 主窗口,也就是输入命令的地方,最最重要的地方吧,做一些简单的测试,学习命令的时候都可以在这里面进行,不过习惯后更喜欢用m文件,习惯就知道了;
6.WorkSpace,工作变量空间,主要是显示当前matlab中存在的变量的值,包括变量名称,值,如果是数组,会显示最大,最小值,这个地方主要是调试程序用的,相当于VS中加断点后的局部变量的值,只不过这里显示更加直观,非常有用。
<mand History,历史命令窗口。这里有一个小技巧,就是你在命令窗口输入的命令,这里都会显示,而且你还可以用小键盘的,上下键来直接跳到前面的命令,测试的时候也更加方便;&
4.那些常见的命令
  经常使用Matlab的命令或者进行一些简单的测试,掌握和知道一些常见的命令是很有必要的,下面这些命令如果记不住,可以根据功能百度,找到对应的函数,再用,其实很快。熟练之后,也就30秒钟的事情,多了,也就记住了。
1.clear :清除内存变量和函数,也就是把WorkSpace的变量给清空;
2.clc :清楚当前Matlab命令窗口的内容;相当于清楚屏幕吧,重新开始,简洁一点,注意clc是不清楚变量的。一般在编写m文件的时候,不是函数的话,前面一般都要加上 & 目的就是在m文件运行的时候,把内存和屏幕都清空,以免同名称的变量影响以及屏幕容易观察;
3.help :这也是最重要的一个函数吧。在想要知道某个函数的相关说明的时候,可以使用help 函数名来获取,当然也可以打开帮助文档。不过这种方法是比较快的。
4.zeros:创建1个都为0的矩阵;ones:创建1个都为1的矩阵。参数可以是多维的,例如zeros(2,3)...
5.size:可以计算矩阵的大小,同样相关的还有length,size可以计算不同的维上的大小,例如size(A,1)..
6.rand :随机数生成器,可以直接使用生成任意纬度的矩阵,例如rand(2,3),也是一个经常用的东西;
6.plot:绘制图像的操作,具体格式可以参考帮助。操作应该非常频繁,做科研的时候,经常要看趋势,绘图在matlab是非常常见的一件事情。。。还有一个subplot函数是将一个figure分割为多个块来操作。想想自己在C#中用mschart绘图,也是醉了。。。不过仍然得坚持,这些年来为什么抛弃matlab,所有matlab可以干的事情都拿C#来干,是一个很远的话题,以后有机会再说吧。
7.figure,hold on :在使用plot绘图的时候,默认都是在figure上面,figure可以新建一个空白图像,同时还可以使用hold on在同一个figure上面绘制多条曲线;
  最重要的几个函数就介绍在这里吧。要掌握matlab的核心语法,还得看一下基本的matlab矩阵操作的语法,太灵活了 ,掌握几个基本的就可以完成很多工作了。
5.不得不说的矩阵操作
  前面已经提到Matlab最重要的一点强大的数值计算功能,不仅体现其函数库的强大,更重要的是其操作语法的灵活性。随便找一本Matlab的编程入门书籍,肯定有这方面的介绍。其实矩阵操作的灵活性,强大到以至于我不敢看,日常只要掌握几个基本的操作就可以做很多事情了。特别在这里特别介绍一下,可以给你提高不少效率。
5.1 初始化的序列
  在编写各种算法的时候,经常要对矩阵初始化。例如前面提到的zeros,one,等等都是产生矩阵的方法,同样还有其他的产生对角矩阵等方法。这里特别要提到的是产生数据或者等差数列的方法。例如
a = 1 : 10 ;%产生1-10的步长默认为1的等差数列;
b = 0:0.1:1;%产生0-1的步长为0.1的等差数量;
  是不是很简洁高效。。。在其他编程语言,可能自己要封装一个方法了。然后来调用,但是在matlab里面,这一切都简化了。
5.2 矩阵操作
  在matlab中,数组或者叫做矩阵是可以任意扩充的,不需要其他,同样对矩阵的变化易如反掌,不需要那些for循环来进行。看看几个例子,管中窥豹,大家以此类推:
data = rand(4,4) %初始化1个10*10的随机矩阵
a = data(:,1) %取data的所有行,第1列
b = data(:,[1,3]) %取所有行,第1,3列
c = data([2,3],[1,2]) %%取第2,3行,以及1,2列
看下面的运行结果,比较直观:
  其他还有更多,如find就不多说了。。。。这里只是冰山一角。。
6.编程语法
  看完上面的语法,有没有心动?那接下来看看matlab的m语言的一些基本语法。我们可以在命令行窗口做一些简单的测试,但并不适合于开放。当我们要完成一个完整的逻辑时,那就要用到m文件编辑器了。打开编辑器,界面如下,你就可以写了。。。这个开发环境也很强大,可以断点调试,分步执行。这是一篇总结性的文章,我身边也没有了matlab书籍,所以想到哪写到哪吧。
1.matlab中变量名大小写敏感的,官方的函数里面也没有所谓的命名规则,基本都是小写开头,习惯就好了
2.注意,如果一行语句结束,后面不加;号,就会直接在Command Window显示变量的值,加分号就只显示在WorkSpace了,在命令行窗口也是这样的,不信你可以试一下, a = 100; 和 b = 100 的区别
3.matlab中,注释的符号是 %
4.变量无需定义,你可以给它一个[]空值,在使用的时候再赋其他值。它的长度也不是固定的,你可以按你想象进行增加。
5.matlab的数据类型中,个人认为比较变态的是字符和元胞,元胞数组是一个大杂烩,可以容纳各种复杂的类型,而字符类型,踩过不少坑,每次都转不过弯来。这里分享一下。matlab拼接字符串路径或者数组,不是我们其他编程语言想象的那样哦。用 + 就可以解决。需要这样:
['ab' 'cde' num2str(2)] %注意中间有空格,结果:abcde2
6.虽然矩阵操作,很灵活,大部分的都可以直接一句话完成,但免不了还是要用循环的。matlab也有for,while语法。需要注意的是,每一层的for 或者while都要对应end 才行。
7.在matlab中,现在也支持面向对象编程,但我不会,使用Matlab暂时也只是用用函数,面向过程的编程啊。。。面向对象编程的使用如果大家有兴趣可以去找一下相关资料啊。matlab最常用的还是函数,和其他语言的方法类似。但是matlab的函数没有静态方法和实例方法之分,总的来说,都是静态的吧,直接调用。
编写函数使用的关键字是 function ,输入和输出参数可以是多个,例如 function [r1,r2,r3] = testfun(p1,p2,p3)
  这里有一个注意:函数是不能直接运行的,大家可以写一个m文件调用你写的函数 就可以了,这个有编程经验的应该都懂,我要说的是,在c#中调用matlab的函数的时候,必须是function才能够被编译和调用,非function是不支持的哦。
7.关于Matlab我想说的话
  虽然会Matlab做很多事情,但现在我已经完全脱离它了,刚开始很多不习惯,比如很多数学函数要自己写,自己去发掘,但通过慢慢积累,并发掘开源的资源,我使用了Math.NET组件来替代了它的数值计算部分,虽然语法没那么优雅,但是功能上没问题了。至于其他的功能组件,比如统计,数据挖掘等工具箱,也有相应的开源组件来完成,实在找不到的,自己根据算法来完成,其实也不难,所以在这个过程中,使用C#的能力也越来越强。
  这并不是说Matlab不好,Matlab目前最大的问题,从实际应用上来说,主要有几个确定:
1.大的不能再大的MCR运行时,曾几何时,.NET 几十M的.net环境,就让人受不了,更加不用说Matlab的MCR,300多M了。安装后超过1G。。
2.在与其他平台交互应用还不太灵活与方便,例如在C#中调用Matlab的m函数,虽然现在支持还不错,但效率和使用门槛还是有一定的差距,不能普及;
3.虽然Matlab在分布式计算,效率以及部署方面花了很大精力,也越来越好用,但是价格让人望而却步。。。有几个工具箱我都没找到破解版。。无法试用;这方面是一个硬伤吧,别说学习了,即使买了,招几个这样的人都是个难事。。。
4.Matlab的资源太少,目前主流的开源项目托管平台,Matlab项目寥寥无几,虽然官方有一个开源的交流论坛,但人气太低,而且也是英文的,没什么用。。加上国内的研究人员,各自为战,基本不分享一些写过的Matlab代码,所以后人前仆后继,每天都在写重复的代码。。。
  每一次安装系统的时候,总是莫名其妙的要把Matlab给安装上去,但貌似很少打开,这个月还打开了几次。。。希望不是终点,Matlab的确是一个好的工具。
最后说一下Matlab的帮助系统吧:在若干年前微软的MSDN还有离线版的时候,它应该是最好的帮助系统吧。但现在MSDN好像都不包括在VS的安装包里面了,离线版也没有多大的意义。但是Matlab一直在这样做,这也是它强大的原因之一。所以的东西都可以从帮助文档中得到。但前提你得会基本的英文,这也是一大硬伤吧,没有中文版,不过想想也可怕,这么多文章翻译为不同版本,工作量得多大。以前有论坛翻译这些文档中的函数,但好像被官方叫停了,版权原因。悲哀,人家给你免费普及做广告,居然这样。。。最后附上一张图,曾经摸爬打滚过的help系统:
阅读(...) 评论()查看: 426|回复: 2|关注: 0
matlab 中 w=0:1e14:10e15
是什么意思
如题,&&w=0:1e14:10e15&&是什么意思
关注者: 1
w是个向量,大小范围为[0-10e15],步长为1e14,将[0-10e15]分为n个数
w是个向量,大小范围为[0-10e15],步长为1e14,将[0-10e15]分为n个数
好的,多谢
站长推荐 /1
感谢柚籽大神的分享!
Powered by10天学会Matlab教程官网-国内最权威的Matlab视频教程
& | && | && | && | && | && | && | &
《一》资深培训讲师 零基础开始
《10天学会Matlab教程》是资深培训讲师精心录制的一套快速学习教程,从零基础开始讲解,循序渐进,让您轻松快速学会Matlab。
《二》三步教学法
本教程开创独家“看视频,做练习,问老师”三步教学法深受学员推崇。凡参加本课程的学员均可加入课后辅导交流群,学习过程中有问题可在线咨询辅导老师。
《三》实践与理论相结合
课程严格按照设计公司的标准流程进行分工协作,通过大量的案例实践,让学员熟练掌握Matlab软件的应用。学完全套教程不仅能满足您的工作之需,帮助学生轻松完成毕业设计,还能让您的职业生涯拥有更大的发展空间,提供更多的工作机会,助您早日成为业界精英。
10天学会Matlab课程目录
第一讲:Matlab软件介绍与安装
第二讲:Matlab桌面平台
第三讲:Matlab基础知识
第四讲:向量和矩阵
第五讲:Matlab数值计算
第六讲:Matlab符号运算
第七讲:符号表达式的极限
第八讲:图象图象处理
第九讲:特殊三维图像
第十讲:simulin交互式仿真析
第11讲:…………
10天学会Matlab教程
10天学会Matlab教程
加候老师QQ:免费赠送Matlab全系列软件和安装教程!
1.问:你们这个教程都包含什么内容呢?用什么设备存储视频教程?
答:全套教程包含从入门到学会的高清培训视频,配套电子讲义和笔记,学习过程中所需的软件、命令流、源文件和参考论文等。我们的教程统一用40G移动硬盘存储,方便学员学习,教程全面且详细,分为基础教程、进阶教程和应用教程。
2.问:你们教程有加密吗?
答:我们教程是没有加密的,可以在任何有光驱的电脑使用。
3.问:有哪些售后服务?在学习中有问题怎么办?
答:永久免费更新课程和终身技术辅导,学习中有问题联系在线辅导老师。
4.能不能货到付款?什么时候发货?
答:可以货到付款,只需要您在收货的时候给快递员298元。在您订购教程后,我们公司会马上安排快递员给您发货。
5.问:价格能不能优惠一些呢?
答:公司实行统一价格。不仅包含教程成本,快递费用,还提供长期售后指导,已经是最低价格了。
6.问:几天可以到货?用什么快递公司发货?
答:我们公司用顺丰快递给您发货,一般2天就可以收到。
7.问:质量不好怎么办或者移动硬盘坏了怎么办?
答:我们公司工作人员在发货之前都会对硬盘进行检测,对教程进行试播。如果是快递运输出现质量问题,请联系官网客服给您再发一套。
8.问:货送到的时候我可以拆开试播教里面的视频吗?
答:快递公司是不允许试播的,因为试播硬盘里面的教程要占用快递员工作时间。如果您有疑问,可以拨打顺丰官网电话400-811-1111查询。如果您一定要试播,请您考虑好之后再做决定。因为快递员不是我们公司的员工,还请您理解。
9.问:你们这套教程有书吗?
答:没有实体书的,相对于看书而言视频讲解更清楚直观,可以直接跟着老师一起操作。但是,我们光盘里包含了配套的课程笔记和电子讲义。
10.问:没有基础,没有学历,我能学会吗?
答:您的担心是完全没有必要的,《10天学会Matlab教程》的视频课程讲解通俗易懂,非常好学习,不会的您可以咨询老师。不需要您有多高的学历、或者是多么聪明的人才行。最重要的是您肯学习。另外任何时候都要相信自己,人与人其实差别不大,只要改变一下观念就好。
11.问:网上也可以找到一些关于Matlab教程,而且是免费的?
答:网上能公布出来的教程有些确实非常有用,能在网上搜索一些有价值的资料说明您是一个好学上进的人!但是,网上的教程大多不系统不完整,如果您不是一位Matlab高手,您很难找到您自己想要的教程,免费的往往是最贵的,也许您学了一两个项目设计就满足了,以为自己懂设计了,想一想天外有天,人外有人!如果不进行系统的学习,您是无法提升自己的,况且有些顶尖的技巧和方法、思维,是免费学不到的。不然那些培训机构还能赚钱吗?另外那会花掉您大量的时间和精力。免费好,但也害了您。MATLAB中X(end+1,:)=-10+20*rand(1,50)结果为多少?
Columns 1 through 14
Columns 15 through 28
Columns 29 through 42
Columns 43 through 50
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 matlab学好了有什么用 的文章

 

随机推荐