MATLAB 面向对象编程 小结2
类的组合 类的组合通过在组合类的构造函数中直接调用子类的构造函数,并将生成的对象作为组合类的成员加入到 properties 中。 类的继承 在 MATLAB 中,父类叫做超类。子类继承超类首先需要声明继承。 接着需要在构造函数中用@调用超类的构造函数来创造子类的成员与方法。 classdef A < B methods function obj = A(~) obj@B(~); end end end MATLAB 性能优化 内存角度 MATLAB 中基本单元是矩阵(向量),在内存中是连续存储的,类似于数组。但是 MATLAB 是列优先级的。 为了节约分配内存的开销,应该提前分配好矩阵的空间,并同时声明好所存储的变量的类型。例如: a = zeros(500, 100, 'single'); 还要一些其他的注意事项: 避免创建临时的数据副本。避免创建临时的数据副本,使用嵌套函数来传递参数。 因为 MATLAB 有类似常量池的概念。即常量数据右值一旦生成就一直保存在内存中。观察以下代码: a = 1; b = a; MATLAB 不会创建一个新的 b 变量,而是让 b 数值句柄指向 1 的内存空间。此时进行下列操作: b = 2; 此时会创建一个新的常量为 2,并让 b 指向这个新的内存空间。而 a 依然指向 1 的变量空间。 定期回收内存。把大数据、大变量保存到文件中,并使用 matfile 函数去访问 mat 文件中的变量,而不必将文件全部加载到内存中;使用 pack 函数对 MATLAB 的内存空间进行整理。 向量化运算 老生常谈了,少用for循环,多用内置函数。...