関数を実行するハイパーリンクの作成
特殊なキーワード matlab:
を使用して、その他の関数にコマンドを組み込めます。多くの場合、このキーワードを含む関数はハイパーリンクを表示し、このハイパーリンク テキストをクリックするとコマンドが実行されます。matlab:
構文をサポートする関数には、disp
、error
、fprintf
、help
および warning
があります。
matlab:
構文を使用して、1 つ以上の関数を実行するコマンド ウィンドウにハイパーリンクを作成します。たとえば、disp
を使用して以下のように「Hypotenuse」という単語を実行可能なハイパーリンクとして表示できます。
disp('<a href="matlab:a=3; b=4;c=hypot(a,b)">Hypotenuse</a>')
matlab:
に続く 3 つのコマンドが実行され、以下のようになります。c = 5
a
、b
および c
がベース ワークスペースに作成されるか、または再定義されます。disp
への引数は <a href>
HTML ハイパーリンクです。'<a href=
から </a>'
までのハイパーテキストのテキスト全体を 1 行に含めます。すなわち、長いテキストを改行の後に続けないでください。開く側の <
の後と閉じる側の >
の前にスペースは入力できません。a
と href
の間には、半角スペースが必要になります。
matlab:
構文は直接実行できません。つまり、以下のように入力した場合、
matlab:a=3; b=4;c=hypot(a,b)
??? matlab:a=3; b=4;c=hypot(a,b) | Error: The expression to the left of the equals sign is not a valid target for an assignment.
Web へのライブ ハイパーリンクを表示するには、matlab:
を使用する必要はありません。たとえば、外部 Web ページへリンクする場合、以下のようにして disp
を使用できます。
disp('<a href="http://en.wikipedia.org/wiki/Hypotenuse">Hypotenuse</a>')
matlab:
を使用して、以下のことを実行できます。
1 つの関数の実行
matlab:
を使用して、コマンド ウィンドウのハイパーリンクをクリックしたときに、指定したステートメントを実行することができます。たとえば、次のコマンド
disp('<a href="matlab:magic(4)">Generate magic square</a>')
を実行すると、コマンド ウィンドウにこのリンクが表示されます。
リンクをクリックすると MATLAB は magic(4)
を実行します。
複数の関数の実行
複数の関数を 1 つのリンクで実行できます。たとえば、次のコマンド
disp('<a href="matlab: x=0:1:8;y=sin(x);plot(x,y)">Plot x,y</a>')
を実行すると、コマンド ウィンドウにこのリンクが表示されます。
リンクをクリックすると MATLAB はこのコードを実行します。
x = 0:1:8; y = sin(x); plot(x,y)
ベース ワークスペースに x
を再定義します。
x = -2*pi:pi/16:2*pi;
ハイパーリンク Plot x,y
を再度クリックして、現在の値 x
を 0:1:8
に戻します。Plot x,y
をクリックしたときに matlab:
が実行するコードは、ベース ワークスペースに x
を定義します。
コマンド オプションの指定
オプションを提示するために、ファイル内で複数の matlab:
ステートメントが以下のように使用できます。
disp('<a href = "matlab:state = 0">Disable feature</a>') disp('<a href = "matlab:state = 1">Enable feature</a>')
コマンド ウィンドウにはクリックするリンクが表示されます。クリックしたリンクに応じて、MATLAB は state
を 0
または 1
に設定します。
特殊文字の追加
MATLAB は、たとえば大なり記号 (>
) などの特殊文字を含め、ほとんどのテキストを正しく解釈します。たとえば以下のステートメントは大なり記号 (>
) を含みます。
disp('<a href="matlab:str = ''Value > 0''">Positive</a>')
そして以下のハイパーリンクを生成します。
いくつかの記号は、正しく解釈されないため、記号に ASCII 値を使用する必要があります。たとえば、前のステートメントを実行する他の方法は、記号の代わりに ASCII 62 を使用することです。
disp('<a href="matlab:str=[''Value '' char(62) '' 0'']">Positive</a>')