2016-08-15 5 views
-2

私は誰かに私にこれらのコード行を説明して欲しいです。このコードは表示機能の一部であることは重要です。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 
+0

あなたの質問にコードを投稿し、スクリーンショットを添付しないでください。 – Suever

+0

@Suever完了しました – chsafouane

+0

コードを実行するのが最も良い方法です。デバッガを見てください。http://se.mathworks.com/help/matlab/debugging-code.html – patrik

答えて

0

このコードは単にtの種類、ならびに現在format設定に応じて可変tの値を表示する方法を決定します。

% 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 spacingを取得します。 0は、グラフィックroot objectであり、特定のMATLABセッションに適用される情報を格納するために使用されます。ユーザーが'compact'形式のスペースを使用するように指定すると、この構成はルートオブジェクト内に格納されます。

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

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

だから文字列として現在の設定を取得することによって、あなたは、ユーザーが間隔やないコンパクトな形式を使用したいかどうかを確認するために'compact'に(isequalを使用して)それを比較することができます。

+0

ありがとうございます。この行を私に少し説明してもらえますか?isequal(get(0、 'formatspacing')、 'compact')。私は0がそこにあるのを知らない@Suever – chsafouane

+0

@ChSafouane説明を追加 – Suever

+0

ありがとう^ ^ – chsafouane

関連する問題