我是靠谱客的博主 背后煎蛋,最近开发中收集的这篇文章主要介绍matlab 里定义全局变量,常量,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

有时候一个常数在很多文件里都要用到,但是写数值既不直观又麻烦,数值谁记得住啊。在C/C++里可以用宏定义或者全局常量,matlab也有方法实现。

1. oop

matlab R2008a开始支持面向对象了。在类定义中可以定义些类常属性,就是可以定义常量,如

classdef MyConstants
    properties (Constant = true)
        SECONDS_PER_HOUR = 60*60;
        DISTANCE_TO_MOON_KM = 384403;
    end
end

这些常量可以在其他文件里直接使用,当然 需要在同一目录。从这个角度来说这是个绝佳的方案。但是,不足之处就是读取速度很慢,比调用函数什么的慢很多,具体多少忘了。主要是oop支持不好。所以在循环多的话要慎重使用,可以赋值给个局部变量。

还有就是一个文件只能定义一个类,会造成文件太多。


2. global

global 类型的全局变量是可以修改的,不是常量。在其他文件或终端里使用之前需要先声明,这点不如类方便。


3. mat文件

把常量保存到mat文件,然后在最开始load这个文件,将会导入里面的变量到workspace。这些变量也不是常量,可以修改。(importdata只导入数据,变量要另设)

检查是否已经导入:global myvar; isempty(myvar)


参考文献:

最后

以上就是背后煎蛋为你收集整理的matlab 里定义全局变量,常量的全部内容,希望文章能够帮你解决matlab 里定义全局变量,常量所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部