help eval 將看到matlab自帶的說明
eval Execute string with MATLAB expression. eval(s), where s is a string, caus
es MATLAB to execute the string as an expression or statement.
翻譯一下,就是說eval函數的功能是將字符串轉換為matlab可執行語句。通俗而言,比如
你輸入
a=’b=1’;
會在workspace里看見生成了變量a,a的類型是字符串,字符串的內容是b=1
然后你輸入eval(a)
就會看見變量里生成了變量b,b是一個1乘1的double型矩陣,元素的值為1
也就是說,執行eval(a)相當於執行a的內容,相當於執行b=1
如果說for語句可以將數字進行循環,那么eval結合for語句后,則大大提高其循環范圍,
比如你要載入一些數據,m1.mat,m2.mat等等一直到m100.mat
普通青年可能會這樣寫程序
load m1.mat
load m2.mat
然后一直寫100行,這顯然太笨了!但普通的for語句又無法完成
於是eval函數結合for語句就體現出其價值了
for i=1:100
eval([‘load ’ num2str(i) ‘.mat’])
end
只需要三行!
除此之外,eval還廣泛用於人機交互,因為matlab的gui中,get命令得到的str格式的字符
串,通常,會通過str2num將字符串轉換為數字,供后續處理。而如果讀入的str字符串是
cos,sin之類的指令呢?那么就需要結合eval函數,將字符串轉換為指令
---------------------
作者:ncst
來源:CSDN
原文:https://blog.csdn.net/sinat_32547403/article/details/53256463
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!