JAN*_*JAN 5 variables matlab global
我有一个histShape.m带函数的文件histShape,还有一些其他函数.
代码的一般视图是:
%
function [outputImage] = histShape(srcimg, destimg)
PIXELS = 255 + 1;
....
....
end
%
function [outputImage] = normalizeAndAccumulate(inputImage)
PIXELS = 255 + 1;
....
....
end
%
function [pixels] = getNormalizedHistogram(histogram , inputImage)
PIXELS = 255 + 1;
....
....
end
Run Code Online (Sandbox Code Playgroud)
我可以使用,global x y z; 但我正在寻找一种不同的方式.
我想将变量声明PIXELS为全局变量,我该怎么做?
问候
din*_*elk 11
您可以使用以下关键字访问MATLAB函数内的全局变量global:
function my_super_function(my_super_input)
global globalvar;
% ... use globalvar
end
Run Code Online (Sandbox Code Playgroud)
您通常会使用相同的关键字在函数外的脚本中声明全局变量:
% My super script
global globalvar;
globalvar = 'I am awesome because I am global';
my_super_function(a_nonglobal_input);
Run Code Online (Sandbox Code Playgroud)
但是,这不是绝对必要的.只要全局变量的名称在函数之间是一致的,您就可以通过global globalvar;在您编写的任何函数中定义来共享同一个变量.
您需要做的就是global PIXELS;在每个函数的开头定义(在为其赋值之前).
请参阅此处的官方文档.