matlab中eval函數的用法


最進看大牛程序有一段

 

eval(['temp(:,:,ori) = bg_r' num2str(r) '{' num2str(ori) '};']);

 

 

eval函數是以字符串的形式運行代碼

下面是matlab官方的注釋:

eval(expression) evaluates the MATLAB code in the string expression. If you use eval within an anonymous function, nested function, or function that contains a nested function, the evaluated expression cannot create a variable.
 

其中一個好處就是假如我要對a1,a2,a3,a4,……,a100分別賦予1,2,3,……,100。這時eval就發揮作用了。

 for i=1:100
     eval(['a' num2str(i) '=' num2str(i)]);
 end

當然還有其他例子,比如批量存數據或圖片文件等等。

那么開始提到的例子也就好解釋了。

注意eval中的中括號在兩個以上字符串出現時一定要有,起連接作用。

如:
input:[‘hello’ ‘world’]

output:helloworld


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM