假设我有一个温度值矩阵和一个与测量深度相对应的矢量,例如
depth = [1,4,8,11,15,16,20];
Temp = rand(1800,7);
我想在Temp的第一行插入一行标题,其中每个标题代表测量的深度。我需要标题来描述temp,然后是深度,例如temp1,temp4,temp8,temp11 ......等等。
我正在考虑做一些事情,比如定义'temp',然后添加每列的相应深度,例如:
varstarter = 'temp';
然后使用像'regexp'这样的东西但是我不确定它是如何工作的。 有什么建议吗?
答案 0 :(得分:5)
arrayfun(@(x) ['temp' int2str(x)],depth,'UniformOutput',false)
这里,@(x) ['temp' int2str(x)]
定义了一个匿名函数,它将整数输入作为字符附加到给定的字符序列temp
。然后arrayfun
将此函数应用于第二个参数的每个元素,即depth
。 (由于arrayfun最常用于产生数字输出,例如每个函数应用一个数字,输出通常是一个矩阵,其大小至少在一个维度上等于第二个输入。'UniformOutput',false
选项因此告诉它这不是这种情况(字符串的长度取决于每个输入的位数),输出需要是一个单元格数组。)
使用[ans; num2cell(Temp)];
将标题和数字数据合并到一个单元格数组中。
答案 1 :(得分:3)