当前位置:首页 » 《随便一记》 » 正文

matlab eval 函数的使用

18 人参与  2023年04月06日 14:52  分类 : 《随便一记》  评论

点击全文阅读


文章目录

前言一、eval函数二、代码示例总结


前言

很多时候在用matlab进行编程的时候,我们需要给多个变量命名和赋值,如果用手一个一个的去敲,多少会感到无聊且枯燥,而且还显得不专业。利用for循环和eval函数即可实现多变量的命名和赋值。


一、eval函数

在matlab帮助文档中,对eval函数的描述如下:

使用语法:

eval(expression)

[output1,...outputN]=eval(expression)

其中expression为要实现的代码。

光看matlab的帮助文档可能对eval函数的实际使用的帮助不是很大,实际上,eval函数可以理解为直接在matlab命令行中运行括号里的matlab语句。以下我将结合代码实例来帮助大家理解。

二、代码实例

代码如下(示例):

clc;clear;%% 造初始数据m=10;n=4;Sig=zeros(m,n);for i=1:n    S_tem=linspace(1,10*i,m)';    Sig(:,i)=S_tem;end%% 利用for循环和eval函数来给多变量命名和赋值for i=1:n    eval(['S_',num2str(i),'=','Sig(:,i)',';']);end

代码运行结果如下:

 

由此,即可实现多变量的命名和赋值。同时也可以利用eval函数来运行函数,

代码如下(接上):

%% 进行傅里叶变换for i=1:n    eval(['S',num2str(i),'_fft','=','fft','(','S_',num2str(i),')',';']);end

代码运行结果如下:

 利用for循环和eval函数也可以实现批量出图:

代码如下(接上): 

%% 出图figure,plot(1:m,S_1)hold onfor i=2:n        eval(['plot','(','1:m',',','S_',num2str(i),')'])end

代码运行结果如下:

 

 

总结

这里我只是简单地描述了matlab中eval函数的使用,利用for循环和eval函数的结合,可以实现批量处理,关于这一点,还是非常方便的。

因为本人也是初学者,有些描述的不好的地方,或者各位有什么意见和建议,欢迎大家在评论区留言,一起学习。


点击全文阅读


本文链接:http://zhangshiyu.com/post/58635.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1