matlab循环调用不同变量名变量(不同矩阵名)
问题描述:用循环时常用到调用不同的文件名变量用字符串作为变量名: eval()变量名转化为字符串: inputname()数字变换成字符: num2str()%小例子:使用for循环调用不同变量名变量load('X.mat');load('Y.mat');A1 = X;A2 = Y;for i = 1:2N =eval(['A',num2str(i)]);end以下再找解决问题时一个博主写的比较好
问题描述:用循环时常用到调用不同的文件名变量
用字符串作为变量名: eval()
变量名转化为字符串: inputname()
数字变换成字符: num2str()
%小例子:使用for循环调用不同变量名变量
load('X.mat');
load('Y.mat');
A1 = X;
A2 = Y;
for i = 1:2
N = eval(['A',num2str(i)]);
end
以下再找解决问题时一个博主写的比较好的点,如果有需要可以去看一下
原文链接:https://blog.csdn.net/humanking7/article/details/80628757
3. 情况2: 变量名转化为字符串-inputname()
定义一个数值类型变量 numberA = 123;。
现在我需要输出这个变量名,也就是字符串'numberA'
这需要自己写一个函数getVarName(),该函数的输入为要被转化的变量,输出为一个字符串,即就是该变量的变量名。
函数代码( getVarName.m文件 )
%% 将变量的变量名转换为字符串
function [ str_varName ] = getVarName( var )
str_varName = sprintf('%s', inputname(1));
end
测试代码:
numberA = 123;
str_varName = getVarName(numberA);
disp(['变量的名字为: ' ,str_varName])
class(str_varName)
Matlab里面对其进行了解释,这个需求虽然小众,但还是有用的,比如我要把所有的变量和输入打印到文件中(将变量逆向转化为m文件,有时用m文件比mat文件更容易查询数据的问题
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)