| MATLAB Function Reference |    | 
執行一個含有MATLAB指令的字串(Execute a string containing a MATLAB expression)
Syntax
eval(expression) eval(expression,catch_expr) [a1,a2,a3,...] = eval(function(b1,b2,b3,...))
Description
eval(expression)
 執行含有合法MATLAB指令的字串 expression。 
你也可以用中括號(square brackets)把子字串組合成 expression。如下所示:
expression = [string1,int2str(var),string2,...]
eval(expression,catch_expr)
 執行 expression ,若執行時發生錯誤,則執行 catch_expr 
。而 lasterr 函式可在 expression 發生錯誤時接收到錯誤訊息。當 expression 
是從子字串組合而成時,這將會十分有用。若不是因為組合子字串產生的錯誤,可用 try...catch 來控制程式碼的流程來檢查。
[a1,a2,a3,...] = eval(function(b1,b2,b3,...))
 執行引數為 b1,b2,b3,..., 的 function 
並回傳指定的輸出結果。
Remarks
我們建議使用 eval 輸出引數,而較不建議將輸出引數擺在 expression 
中。下面的第一行語法中,MATLAB解析器(parser)並不會嚴格檢查 expression,所以可能產生錯誤和其他難以預料的情況。
eval('[a1,a2,a3,...] = function(var)')      % 不建議使用
[a1,a2,a3,...] = eval('function(var)')      % 建議使用
Examples
for n = 1:12
      magic_str = ['M',int2str(n),' = magic(n)'];
      eval(magic_str)
end
下列的 showdemo 函式執行由使用者所選擇的程式展示(that runs a MATLAB demo selected by the user)。若發生錯誤,將會顯示錯誤訊息。
function showdemo(demos)
errstring = 'Error running demo: ';
n = input('Select a demo number: ');
eval(demos(n,:),'[errstring demos(n,:)]')
% ----- end of file showdemo.m -----
D = ['odedemo'; 'quademo'; 'fitdemo'];
showdemo(D)
Select a demo number: 2
ans =
Error running demo: quademo
下列範例對一個3維陣列執行 size 函式,回傳值 d1, d2, d3 
為陣列的維度。
A = magic(4);
A(:,:,2) = A';
[d1,d2,d3] = eval('size(A)')
d1 =
     4
d2 =
     4
d3 =
     2
See Also
assignin, catch, evalin, feval, lasterr, try
|   | etreeplot | evalc |  |