我是靠谱客的博主 美好麦片,最近开发中收集的这篇文章主要介绍matlab eval函数用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

eval(‘expression’):执行文本中的表达式
例如eval(‘y=1’),执行的为y=1,这一表达式,就是把y赋值为1。
之前看到在eval里用到int2str,或num2str这样的函数,例如

for n=1:10
	eval(['A',int2str(n),'=rand(10)']);
end

执行的就是建立了十个随机10x10的矩阵A1到A10,即An=rand(10),因为rand(10)后面没有加分号,所以每次循环都会把结果显示在命令行。

eval经常会用在带序列名称的变量和带序列名称的文件中。帮助文件中可以看到并不推荐使用eval这一函数,而应该用其他方法代替。

例如
1.带序列名称的变量
建立元胞数组

A = cell(10,1);
for n = 1:10
    A{n} = rand(10);
end

也是建立十个10x10的随机矩阵,通过花括号A{n}可以查询每个矩阵的具体数值。

2.带序列名称的文件
利用eval将数据写入excel

clear all;clc
A = cell(10,1);
for n = 1:10
    A{n} = rand(10);
    eval(['xlswrite(''myfile',int2str(n),'.xlsx'',A{n})'])
end

上面程序将生产的10个10x10随机矩阵分别写入myfile1,,,myfile10这十个xlsx文件中。

利用sprintf可以代替上述代码

clear all;clc
num=10;
for n=1:num
    randomdata=rand(10);
    currentfile=sprintf('myfile%d.xlsx',n);
    xlswrite(currentfile,randomdata)
end

来源
https://ww2.mathworks.cn/help/matlab/matlab_prog/string-evaluation.html?searchHighlight=eval&s_tid=doc_srchtitle

最后

以上就是美好麦片为你收集整理的matlab eval函数用法的全部内容,希望文章能够帮你解决matlab eval函数用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部