Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 在matlab中将字符串作为变量连接?_String_Matlab_For Loop - Fatal编程技术网

String 在matlab中将字符串作为变量连接?

String 在matlab中将字符串作为变量连接?,string,matlab,for-loop,String,Matlab,For Loop,我将数据集存储到几个变量中,比如:p1_5、p1_7、p1_9……p1_19,我想计算每个数据集的std()。现在,如何在matlab中的for循环中实现它?如何将“p1_uu”连接到n,但仍将其作为变量而不是字符串 for n = 5:2:19 std(p1_??); end 您可以为此使用eval: for n = 5:2:19 eval(['std(p1_', num2str(n), ')']); end 但是你应该考虑重构你的代码而不必这样做。您能否将所有的p

我将数据集存储到几个变量中,比如:p1_5、p1_7、p1_9……p1_19,我想计算每个数据集的std()。现在,如何在matlab中的for循环中实现它?如何将“p1_uu”连接到n,但仍将其作为变量而不是字符串

for n = 5:2:19
    std(p1_??);  
end

您可以为此使用
eval

for n = 5:2:19
    eval(['std(p1_', num2str(n), ')']);  
end

<>但是你应该考虑重构你的代码而不必这样做。您能否将所有的
p1
存储在3D矩阵或单元阵列中?

您可以使用
eval
进行以下操作:

for n = 5:2:19
    eval(['std(p1_', num2str(n), ')']);  
end

<>但是你应该考虑重构你的代码而不必这样做。您可以将所有的
p1
存储在3D矩阵或单元阵列中吗?

您可以将它们存储在单元阵列中。更好的是,如果它们具有相同的维度,则将它们堆叠在矩阵中。

您可以将它们放置在单元格数组中。更好的是,如果它们的尺寸相同,将它们堆叠在一个矩阵中。

我强烈建议您重新构造数据,这样您就不必像Dan在回答中建议的那样使用
eval
命令。我强烈建议您重新构造数据,这样您就不必像Dan在回答中建议的那样使用
eval
命令。