使用eval函数将超大矩阵的列向量赋值到多个变量中

matlab>eval函数的应用之一

CSDN有很多介绍eval函数使用的文章但我觉得这位https://blog.csdn.net/dujiahei/article/details/80961529
写得最容易懂,只需要三行代码能免去很多重复的工作。

clear
clc
%要创造多个变量分别保存矩阵的每一列数据
A=[1:6;1:6;1:6];
%一般方法我们要做的是:
%a1=A(:,1);
%a2=A(:,2);
%...
%然而如果矩阵列数实在太多,我们很难一一赋值
%这就有了eval函数

for i=1:6;
    eval(['a',num2str(i),'=A(:,i)']);
end

我觉得很重要的是你应该先把你要重复执行的命令写下来,然后在eval([])里照葫芦画瓢就行,注意引号的位置、数量,还有哪里应该加num2str(i)。
基本上就是
‘变量名’,num2str(i)
这个才是完整的变量名,a1\a2\a3…

甚至可以用来保存多个文件,有一篇代码里写了如何用eval把matlab的数据保存到多个excel文件中去

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值