各位大佬好,我有20个数组,分别是DOY_01,DOY_02, DOY_03.... DOY_20, 他们都是100x1的double数组,比如DOY_01:1
2
4
6
10
....
我想把DOY_01,DOY_02, DOY_03... 分别当做索引idx,提取数组A、B、C... 的值,所以写了这样一个函数
for i =1:20
a=A(strcat('DOY_', num2str('i','%02d')));
end
但是我这样构造出来的是字符串'DOY_n', 而不是double数组 DOY_n, 请问我该怎么构造 DOY_n?

 Respuesta aceptada

锦利国际开户【微8785092】
锦利国际开户【微8785092】 el 17 de Mayo de 2023

0 votos

这种情况一般需要用 eval函数(超链接,自己点进去看) 处理。非常不直观,非常麻烦且容易出错。
解决的源头是,你一开始的DOY_01,DOY_02这堆数组就不应该这样命名,而应该作为DOY这个高维数组的第一列、第二列…这样后面调用时直接用DOY( 1, : )调用第一列就行了,直观得多。

Más respuestas (0)

Categorías

Más información sobre 运算符和基本运算 en Centro de ayuda y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!