MATLAB中一些代码行的解释

时间:2016-08-15 12:34:02

标签: matlab

我希望有人向我解释这些代码行。值得一提的是,此代码是显示功能的一部分。

if isa(obj,'PhArea')
    disp(t)
elseif isequal(get(0,'FormatSpacing'),'compact')
    disp([inputname(1) '='];
    disp(t);
else%that is format loose
    disp(' ')
    disp([inputname(1) ' =']);
    disp(' ');
    disp(t)
end

1 个答案:

答案 0 :(得分:0)

此代码仅确定如何显示变量t的值,具体取决于t的类型以及当前format设置。

% If this is a PhArea instance
if isa(t, 'PhArea)
    % Then just display it
    disp(t)

% If the user has enabled compact formatting (format compact)
elseif isequal(get(0, 'formatspacing'), 'compact')

    % Display the variable's name and an equal sign (no spaces)
    disp([inputname(1), '='])

    % Display the variable itself
    disp(t)

% Otherwise
else
    % Display an empty line
    disp(' ')

    % Display the variable's name and an equal sign (with space)
    disp([inputname(1), ' ='])

    % Display an empty line
    disp(' ')

    % Display the variable
    disp(t)
end

<强>更新

以下行是最棘手的。

isequal(get(0, 'formatspacing'), 'compact')

这样做会检索当前的format spacing0是图形root object,用于存储适用于给定MATLAB会话的信息。当用户指定他们想要使用'compact'格式间距时,此配置将存储在根对象中。

format loose
get(0, 'formatspacing')
%   loose

format compact
get(0, 'formatspacing')
%   compact

因此,通过将当前设置检索为字符串,您可以将其(使用isequal)与'compact'进行比较,以查看用户是否要使用紧凑格式间距。