Matlab中如何定义全局数组?

例如二维数组,我用globalc(4,5)结果显式:Error:Unbalancedormisusedparenthesesorbrackets.... 例如二维数组,我用
global c(4,5)
结果显式:
Error: Unbalanced or misused parentheses or brackets.
展开
 我来答
shine戚七七
2015-09-20 · TA获得超过4.7万个赞
知道大有可为答主
回答量:2万
采纳率:75%
帮助的人:2574万
展开全部
matlab 里定义全局变量,常量
1. oop
matlab R2008a开始支持面向对象了。在类定义中可以定义些类常属性,就是可以定义常量,如

[plain] view plaincopy
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)
wacs5
2010-09-03 · TA获得超过1.6万个赞
知道大有可为答主
回答量:3724
采纳率:82%
帮助的人:2745万
展开全部
直接用global c
就可以了。
不过主空间要声明一下,函数体内也要声明一下。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式