
MATLAB
grey_csdn
这个作者很懒,什么都没留下…
展开
-
MATLAB实现目录遍历
欢迎路过的YUAN类朋友相互交流,以下是我的联系方式:Email:greyzhang@126.com微信:grey0612之前工作中需要实现目录遍历的时候一直依赖于Python的OS模块,后来发现了Perl中的find。在使用MATLAB的时候,如果需要用到目录遍历进行某些处理的时候一般也是借助于这两种工具。今天终于发现,MATLAB也有相应的功能。说起来,MATLAB的功能集原创 2016-12-25 19:34:39 · 3220 阅读 · 1 评论 -
MATLAB面向对象编程类和对象的创建
在此之前对面向对象编程了解不多,更不用说MATLAB面向对象编程。不过,在第一份工作的经历中还是遇到过一点使用,只是那时候我还不是很清楚。那一次使用是为了实现Simulink中模型的使用。 今天简单做一个类的构建以及对象的创建。首先实现一个类的定义,代码如下:classdef Person properties name; age;原创 2017-05-16 08:27:34 · 12018 阅读 · 1 评论 -
MATLAB面向对象编程命名空间的使用
命名空间可以理解为专门的内存分区,在MATLAB面向对象编程中,命名空间通常通过包文件夹来实现。包文件夹是以+开头的,简称为包。 创建以下包结构:├─+Pack1│ MyClassA.m│ MyClassB.m│└─+Pack2 MyClassA.m MyClassB.m Pack1中文件中的代码分别如原创 2017-05-18 01:50:19 · 957 阅读 · 0 评论 -
MATLAB面向对象编程import使用
类似于Python以及Java,针对模块库或者包中的内容可以通过import指令进行模块或者功能的导入。这样,可以在一定程度上简化代码,提高可读性。 例如之前在博客中实现的包管理例程,进行一个常用类的导入,可以通过以下方式: 这样,如果直接使用MyClassA即可实现调用Pack1中的类。此时如果要使用Pack2中的类,依然需要指明包。 如果有原创 2017-05-18 23:19:43 · 2170 阅读 · 0 评论 -
MATLAB面向对象编程import导入信息冲突问题
MATLAB中使用import导入信息的时候有时候会遇到一点混乱现象。比如,当我们尝试导入的两个包中存在同名但是内容并不相同的类时,两者肯定是会产生冲突的。那么,导入的类到底以哪个稳准呢? 在之前搭建的包测试环境上做一下测试如下: 从上面的结果看,最终MyClassA是按照Pack1中的类来执行的。而Pack导入要在Pack2之前。由此可见,这种导入过程中并原创 2017-05-18 23:29:47 · 522 阅读 · 0 评论 -
MATLAB面向对象编程import导入信息冲突解决方案
在使用MATLAB面向对象编程的包管理import导入时,如果出现导入的两个包中存在相同的类时就会出现我们期待之外的软件行为。因为,MATLAB的导入遵循的是“先入为主”的生效方式,也就是说后面的导入时无效的。然而,我们在新的一次导入结束后通常希望使用的都是新导入的类。这样,如果不使用合适的处理方式我们的设计目的就无法达成。 在MATLAB包管理import导入的时候,为了避免类似导原创 2017-05-18 23:37:43 · 907 阅读 · 0 评论 -
MATLAB面向对象编程属性初始化方法
在MATLAB面向对象编程的类构建中,属性的初始化一般有两种方法:一种是使用构造函数,另一种则是在定义属性的时候初始化。 使用构造函数的例子:classdef DemoClass properties age; hight; end methods function obj = DemoClass原创 2017-05-19 00:38:46 · 5219 阅读 · 0 评论 -
MATLAB面向对象编程get与set方法实现
在MATLAB面向对象编程中,set与get分别是重新定义参数设置以及查询功能的方法,类似于Java中类似的功能。在实现方式上,有一点区别差异。另外,在实现方式上,暂时没有发现MATLAB可以直接像eclipse中编辑Java代码那样生成默认的方法。 写一个简单的例子演示set与get功能,创建以下类:classdef GetSetDemo properties原创 2017-05-19 01:18:12 · 3641 阅读 · 1 评论 -
MATLAB面向对象编程中类的默认优先级
通过简单的测试,我自己总结出来的默认规则是:在MATLAB面向对象编程的类使用中,如果出现同名的方法,那么在调用的过程中MATLAB会采用先入为主的方式来判断其优先级。 通过一个例子简单示范说明,首先定义两个类classA和classB,具体的代码如下:classA:classdef classA properties a; end原创 2017-05-21 23:54:43 · 774 阅读 · 0 评论 -
使用PolySpace进行模型的检测
使用PolySpace进行代码检测的方法比较基础,其实这个工具也可以用于模型的检测。道理也很容易讲得通,既然可以进行模型的代码生成,那么肯定也就可以对生成的代码进行检测。 先进性代码生成,然后把代码拷贝出来,最后进行代码的分析。这是我以前的做法,倒是也没有太大的问题。不过,后来发现其实还可以更简单一点,那就是利用产品之间已经提供的接口。 比如有如下的模型:原创 2017-08-07 21:11:11 · 12305 阅读 · 0 评论 -
Simulink解析带有系数和偏移量的CAN报文信息
这部分功能我关注的很少,我用到的CAN协议中的因子都是在消息传完之后自己增加。这样,我用到的Simulink仅仅是一个最简单的翻译功能。 有一阵子我觉得带有factor和bias的信号使用Simulink实现就是第一个定标的实现,后来我发现无论我怎么进行定标信息的修正始终出现数据类型的不匹配。直到有一天,随手拽了一个强制数据类型转换的模块实现了代码生成。从代码中,我发现其实定标信息原创 2017-08-02 23:52:29 · 4982 阅读 · 3 评论 -
使用MATLAB加载csv格式数据
类似于文本数据的加载,MATLAB支持直接加载csv格式的数据。假如有以下数据:加载过程如下:>> B = load('data.csv')B = 1 5 3 6 2 4 3 1 4 1 5 9>> BB =原创 2017-05-05 08:35:34 · 9911 阅读 · 0 评论 -
使用MATLAB加载文本数据
体验了pandas数据加载的便捷性之后,突然间发现MATLAB原来也有类似的便捷功能。比如,文本文件data.txt中有如下数据:加载操作如下:>> A = load('data.txt')A = 1 5 3 6 2 4 1 3 5 7 9 8原创 2017-05-05 08:26:28 · 1393 阅读 · 0 评论 -
MATLAB面向对象编程指定类的优先级
前面总结了使用类的时候类的默认优先级,接下来总结练习一下指定类的优先级。 把之前用过的代码修改如下:classA.mclassdef classA properties a; end methods function obj = classA(value) obj.a = value;原创 2017-05-22 22:42:01 · 663 阅读 · 0 评论 -
通过CMD启动MATLAB的同时运行M脚本
欢迎路过的YUAN类朋友相互交流,以下是我的联系方式:Email:greyzhang@126.com微信:grey0612之前写过一个这个知识点的总结,当时有点疑惑,不知道为什么我测试的时候有时候可以有时候不行。今天终于发现了我之前一直忽略的一个细节,MATLAB中M脚本可以当做一个命令来使用,但是使用的时候是不带有后缀名称的。而MATLAB的命令参数中,-r选项是用于启动的时候运行命原创 2016-12-28 22:27:35 · 7470 阅读 · 0 评论 -
使用MATLAB和Python迭代求解黄金分割
欢迎路过的YUAN类朋友相互交流,以下是我的联系方式:Email:greyzhang@126.com微信:grey0612虽说可能使用Python写几段小代码测试一下算法,但是我现在学习的确实是MATLAB的教程。是Mooler老爷子的书籍,MATLAB编程体验。第一个话题是迭代,这在学习Python的时候也是一个比较重要的话题。书中的例子是用MATLAB来实现黄金分割的求原创 2017-01-02 15:05:01 · 1321 阅读 · 0 评论 -
斐波那契数列知识小结
欢迎路过的YUAN类朋友相互交流,以下是我的联系方式:Email:greyzhang@126.com微信:grey0612之前学习Python的时候第一次认真学习了一下斐波那契数列,也是我第一次认真研究了一下编程语言的基础知识。今天依然从Python入手吧,先把之前完成的斐波那契数列函数实现一下。代码如下: 1 #!/usr/bin/python 2 3原创 2017-01-02 22:44:47 · 2059 阅读 · 0 评论 -
mexw32文件删除异常处理
欢迎路过的YUAN类朋友相互交流,以下是我的联系方式:Email:greyzhang@126.com微信:grey0612说起来这个问题其实困扰了我很久,直到现在我也没有弄明白为什么会这样,为什么我瞎试出来的这个方法有效。如果真等哪天我能够说的清楚,我想那个时候我对Windows下的PC程序编译以及运行机理了解的比较透彻了。简单的现象描述:在使用MATLAB的时候,我时常会原创 2017-01-04 22:53:14 · 1383 阅读 · 0 评论 -
CMD启动MATLAB并执行脚本小结
欢迎路过的YUAN类朋友相互交流,以下是我的联系方式:Email:greyzhang@126.com微信:grey0612关于这部分功能实现的掌握已经是前一段时间的事情了,今天再总结一下最近使用过程中的一点其他的收获。顺便再记录一个测试的例子,就当作知识的温习了。1,在C:\Users\grey\workspace\MATLAB\test下放一个测试脚本my_test.m,原创 2017-01-04 23:33:38 · 11160 阅读 · 0 评论 -
Mac中使用MATLAB进行simulink代码生成
说起来这仅仅算是一点点尝试,多年前我尝试在Ubuntu Linux试用了一下MATLAB感觉体验不是很好,后来我确定Windows平台是学习使用MATLAB的最佳平台。至于Linux和Mac,只能是作其他的考虑使用。不过,那时候我还没有Mac。前阵子在微博上看到了学生党们都已经在Mac上使用MATLAB,最近在MathWorks的官网上看到的图片中也看到了在Mac上运行着的MATLAB,于是想原创 2017-02-19 15:37:49 · 2221 阅读 · 0 评论 -
批量修改mat文件中MATLAB mpt数据对象属性
终于还是开始着手好好学习一下MATLAB了!先前工作中这个东西经常用,但是很多时候很多功能的使用全都是凭借试探找到的解决方案。一旦找到了解决方案,基本上也就是在方案的基础上使用,也很少去做一下总结或者是深层次的考虑。或许正是这个原因,每次我处理mat文件的时候总是感觉到头痛,好多东西跟我预想的一直不一致。 最近一段时间简单学习了Java,接触了面向对象的理念。在理解面向对象的模型时原创 2017-03-01 22:53:06 · 4109 阅读 · 0 评论 -
MATLAB的cd函数与cd命令
最初使用MATLAB的时候发现cd可以像Linux的shell命令一样使用,恰好cd又是我会的不多的几个shell命令之一。于是,用得到的时候就各种cd,如果不成功就简单修改摸索一下。那时候我确实是没有看过help,更没有去查比较详细的help文档。不过,后来,我发现很多MATLAB中的命令是命令的同时也是函数。 慢慢地,使用函数的频率是要多余命令多一些。本来这个没有优劣之分,何况原创 2017-03-29 20:20:16 · 41033 阅读 · 0 评论 -
MATLAB函数参数兼容性提升
使用MATLAB的时候有时候会遇到把文件名称作为参数的时候,不过,通常情况下MATLAB的命令或者函数访问文件的时候需要给出一个带有扩展名的文件名称或者带有完整路径与扩展名的文件名称作为参数。 通常,这种情况自己是十分清楚的,因此使用的时候一般不会有什么问题。不过,如果把程序提供给其他人用的时候出问题的可能性就比较大了。 而一个比较简单的方式就是对文件的扩展名进行一原创 2017-03-30 22:48:21 · 663 阅读 · 0 评论 -
numpy中的数组运算与MATLAB中相似功能的对比
矩阵运算在一定程度上是为了加速计算过程,而矩阵的元素一致性能够让算法的实现更为容易。通过矩阵运算可以让很多原本需要通过循环才能够完成的运算能够在单步的运算中完成。 几个测试如下:In [26]: data =[[1,5,3],[6,2,4]] In [27]: dataOut[27]: [[1, 5,3], [6, 2, 4]] In [28]: arr1原创 2017-03-31 00:43:35 · 1624 阅读 · 0 评论 -
MATLAB中限值模块的使用
限值模块的功能很简单,把输入的信号输出限制在指定的范围内。但是有一个特殊的用法,那就是限值的最大值和最小值相同的时候。如果这样设置,那么输出将会是一个恒定值。 简单的示例子如下: 设置的参数如下: 输出结果如下: 如果设置修改,限值改成相同的数值0.7,输出的结果如下:原创 2017-10-24 18:55:01 · 3855 阅读 · 0 评论