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

更多相关文章
  • matlab中meshgrid函數的用法
    meshgrid用于从数组a和b产生网格.生成的网格矩阵A和B大小是相同的.它也可以是更高维的.这里的大小指的是,size()函数的大小,size()函数返回的是一个向量, 那么size(A) = size(B). [A,B]=Meshgrid(a,b)生成size(b)Xsize(a)大小的矩阵A
  • 问题来源:在阅读莱昂斯的<数字信号处理>第三章离散傅里叶变换时,试图验证实数偶对称信号的傅里叶变换实部为偶对称的且虚部为零.验证失敗.验证信号为矩形信号,结果显示虚部是不为零且最大幅值等于信号幅值. 错误原因:MATLAB中的fft函数默认其 N 点输入信号的时间序号为从 0 到 N-1 ...
  • matlab中subplot函數的功能
    转载自http://wenku.baidu.com/link?url=UkbSbQd3cxpT7sFrDw7_BO8zJDCUvPKrmsrbITk-7n7fP8g0Vhvq3QTC0DrwwrXfaHcCh_LuN27oppMcoaVD7_xrE_9SYFcGVstq7aZGKTe matlab中 ...
  • Matlab中plot函數參數解析
    功能 二维曲线绘图   语法 plot(Y) plot(X1,Y1,...) plot(X1,Y1,LineSpec,...) plot(...,'PropertyName',PropertyValue,...) plot(axes_handle,...) h = plot(...) hlines
  • 一.理论准备        matlab函数randn:产生均值为0,方差 σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵的函数.       用法:Y = randn(n),返回一个n*n的随机项的矩阵.如果n不是个数量,将返回错误信息.       Y = randn(m,n) 或 Y
  • 参考资料:http://cn.mathworks.com/help/matlab/ref/fread.html 注意:参考资料针对的Matlab版本号R2015a,我使用的是R2013b. Matlab幫助文件中给出了这几种用法 A = fread(fileID) A = fread(fileID, ...
  • MEX文件的调用极为方便,其调用方式与MATALAB的内建函数完全相同,只需要在命令窗口内输入对应的文件名称即可.    C语言MEX程序代码文件有计算子例程(Computational routine)和接口子程序
  • 卷积其实是图像处理中最基本的操作,我们常见的一些算法比如:均值模糊.高斯模糊.锐化.Sobel.拉普拉斯.prewitt边缘检测等等一些和领域相关的算法,都可以通过卷积算法实现.只不过由于这些算法的卷积矩阵的特殊性,一般不会直接实现它,而是通过一些优化的手段让计算量变小.但是有些情况下卷积矩阵的元素 ...
一周排行