ドキュメンテーション センター

  • 評価版
  • 製品アップデート

目次

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Web アプリケーションからの MATLAB 関数の呼び出し

この例では、MATLAB® アプリケーションをオートメーション サーバーとして使用して Web ページを作成する方法を示します。この例はローカル システムから実行してください。Web サーバーからは配布できません。ASP.NET を使用した別の例を見るには、テクニカル サポート ソリューション 1–3JJZWN を参照してください。

COM をサポートしていればどの言語からでも MATLAB をオートメーション サーバーとして起動することができるため、Web アプリケーションには VBScript と JavaScript が使用できます。これは簡単な例ですが、MATLAB にコマンドを渡し、MATLAB ワークスペースにデータを書き込んだり、ワークスペースからデータを取得する手法を示しています。関連する関数については、「サーバーとのデータ交換」を参照してください。

この例では VBScript と HTML 形式を組み合わせて、ユーザーによる MATLAB プロット タイプのプルダウンメニューからの選択、ボタンのクリック、MATLAB Figure ウィンドウにおけるプロットの作成を可能にするインターフェイスを作成します。これを実現するために、HTML ファイルには以下のようなコードが含まれます。

  • VBScript で MATLAB をオートメーション サーバーとして起動する。

  • HTML ページのボタンをクリックすると、VBScript が以下を実行します。

    1. 選択されたプロット タイプを決定します。

    2. 選択されたタイプのプロットを作成するコマンド文字列を作成します。

    3. 選択されたプロットのタイプを説明する文字列を作成します。これは変数内で MATLAB ベース ワークスペースに渡されます。

    4. MATLAB コマンドを実行します。

    5. MATLAB ワークスペースから説明用の文字列を取得します。

    6. HTML ページのテキスト ボックスを更新します。

以下に、この例を作成する HTML の例を示します。

<HTML>
<HEAD>
<TITLE>Example of calling MATLAB from VBScript</TITLE>
</HEAD>
<BODY>
<FONT FACE = "Arial, Helvetica, Geneva" SIZE = "+1" COLOR = "maroon">
Example of calling MATLAB from VBScript
</FONT>
<FONT FACE = "Arial, Helvetica, Geneva" SIZE = "-1">

<!-- %%%%%%%%%%%%%%%%%%%% BEGIN SCRIPT %%%%%%%%%%%%%%%%%%%% -->
<SCRIPT LANGUAGE="VBScript">
<!-- Invoke MATLAB as a COM Automation server upon loading page
' Initialize global variables
Dim MatLab	'COM Automation server variable
Dim MLcmd	'string to send to MATLAB for execution
' Invoke COM Automation server
Set MatLab = CreateObject("Matlab.Application")
' End initialization script -->	
</SCRIPT>

<!-- %%%%%%%%%%%%%%%%%%%% END SCRIPT %%%%%%%%%%%%%%%%%%%% -->
<!-- Create form to contain controls -->
<FORM NAME="Form">
<!-- Create pulldown menu to select which plot to view -->
<P>Select type of plot:
<SELECT NAME=plot_choice>
	<OPTION SELECTED VALUE=first>Line</OPTION>
	<OPTION VALUE=second>Peaks</OPTION>
	<OPTION VALUE=third>Logo</OPTION>
</SELECT>
<!-- Create button to create plot and fill text area -->
<P>Create figure:
<INPUT TYPE="button" NAME="plot_but" VALUE="Plot">

<!-- %%%%%%%%%%%%%%%%%%%% BEGIN SCRIPT %%%%%%%%%%%%%%%%%%%% -->
<SCRIPT FOR="plot_but" EVENT="onClick" LANGUAGE="VBScript">
<!-- Start script 
Dim plot_choice
Dim text_str  	'string to display in text area
Dim form_var	'form object variable
Set form_var = Document.Form
plot_choice = form_var.plot_choice.value
' Condition MATLAB command to execute based on plot choice
If plot_choice = "first"	Then
   MLcmd = "figure; plot(1:10);" 
   text_str = "Simple line plot of 1 to 10"
   Call MatLab.PutCharArray("text","base",text_str)
Elseif plot_choice = "second" Then
   MLcmd = "figure; mesh(peaks);" 
   text_str = "Mesh plot of peaks"
   Call MatLab.PutCharArray("text","base",text_str)
Elseif plot_choice = "third" Then
   MLcmd = "figure; logo;" 
   text_str = "MATLAB logo"
   Call MatLab.PutCharArray("text","base",text_str)
End If
' Execute command in MATLAB
MatLab.execute(MLcmd)
' Get variable from MATLAB into VBScript
Call MatLab.GetWorkspaceData("text","base","text_str")
' Update text area	
form_var.plottext.value = text_str
' End script -->
</SCRIPT>

<!-- %%%%%%%%%%%%%%%%%%%% END SCRIPT %%%%%%%%%%%%%%%%%%%% -->
<!-- Create text area to show text -->
<P><TEXTAREA NAME="plottext" ROWS="1" COLS="50" 
CONTENTEDITABLE="false"></TEXTAREA> 
</FONT>
</FORM>
</BODY>
</HTML>
この情報は役に立ちましたか?