我正在研究一个MATLAB代码,我发现了这个代码:
GLOBAL = eye(4,4);
什么是GLOBAL
?它是一个全局变量吗?文档说明全局变量以这种方式声明:
global x1 = 4;
GLOBAL
和global
之间有什么区别?
答案 0 :(得分:3)
GLOBAL = eye(4,4);
确实使GLOBAL
成为变量。这不是太糟糕,因为MATLAB区分大小写,但当然不是很清楚。您找到的文档版本为global
小写。我建议不要将变量命名为与内置函数相同,例如如果您计算总和,请不要将其称为sum
,而是Summed
或其他内容;不要拨打平均mean
,而是Avg
等。
答案 1 :(得分:2)
我写了一个小脚本,突出了差异:
clear all;
global x1;
x1 = 4;
GLOBAL = eye(4,4);
whos
正如您在工作区中看到的那样x1
是一个全局变量,而GLOBAL
则不是:
Name Size Bytes Class Attributes
GLOBAL 4x4 128 double
x1 1x1 8 double global
修改:您甚至可以在全球范围内声明GLOBAL
:global GLOBAL
然后导致:
Name Size Bytes Class Attributes
GLOBAL 4x4 128 double global
x1 1x1 8 double global