matlab 批量运算命名变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab 批量运算命名变量相关的知识,希望对你有一定的参考价值。

matlab 有1:300个变量a1,a2,a3.....
现在需要对这300个变量做一个批量相同的运算
类似data1=a1(:);,data2=a2(:);.......
输出的变量data也需要批量命名:data1,data2,data3,.......

私以为可以使用eval函数,但能力有限只能做到对其中一个变量进行批量重命名,无法对两个变量都进行批量重命名,麻烦各位大佬指点。

参考技术A . 默认情况下,M函数文件中定义及使用的变量都是局部变量只在本函数的工作区内有效,一旦退出该函数,即为无效变量,所以程序如果写成函数不用担心会混。 2.命令行或M命令文件中定义和使用的变量都是全局变量,退出命令行后仍有效,如果怕混可以再程序的开头加上 clear 命令。 参考技术B 比如说在E:\new下有一系列txt文件,文件名符合matlab变量名的命名规则,并且没有temp.txt文件,每个文件有两列,以空格分割,第一列是字符串,第二列是浮点数字,要读取第二列的浮点数字为数组并以文件名为变量名。

file=dir('E:\new\*.txt');
for n=1:length(file)
temp=dlmread(['E:\new\',file(n).name],' ',0,1);
eval([file(n).name(1:end-4),'=temp;'])
end
参考技术C

用 eval 和 num2str 命令结合使用。

e.g.

for n = 1:300
    eval(['f=a',num2str(n)]);
    f = f(:);
    eval(['data',num2str(n),'=f']);
end

本回答被提问者采纳

MATLAB学习—MATLAB基本操作

【MATLAB学习】—MATLAB基本操作(一)

一、 学习计划


界面

二、四则运算

三、练习







四、变量


1、A 和a是不一样的数值
2、变量的开头不可以是数字




五、变量的命名规则


六、MATLAB数据类型


七、元胞数组

MATLAB索引是从1开始的

八、eye()函数

  • MATLAB中eye()函数返回的是单位矩阵。
  • eye(N),返回N*N大小的单位矩阵;
  • eye(M,N)、eye([M,N]),返回M*N的单位矩阵;
  • eye(size(A))返回和矩阵A一样大小的单位矩阵;
  • eye无参数时表示标量1.

九、魔方矩阵magic函数

  • n阶魔方阵由1,2,3…,n共n2个整数组成,且每行、每列以及主、副对角线上各n个元素之和都相等。
  • n阶魔方阵每行每列元素的和为(1+2+3+…+n2) / n= (n+n3)/2。
  • Matlab中 magic(n) 只产生一个特定的魔方阵,实际上当n大于2时可能有多个魔方阵存在。



十、结构体

以上是关于matlab 批量运算命名变量的主要内容,如果未能解决你的问题,请参考以下文章

matlab如何批量修改变量

matlab 变量批量赋值

matlab能不能批量定义变量为class?

MATLAB的符号运算变量如何创建?

matlab中如何自动给变量命名?

MATLAB学习—MATLAB基本操作