在matlab中组合字符串和数字

Emm*_*mma 2 string matlab

假设我有一个温度值矩阵和一个与测量深度相对应的矢量,例如

depth = [1,4,8,11,15,16,20];
Temp = rand(1800,7);
Run Code Online (Sandbox Code Playgroud)

我想在Temp的第一行插入一行标题,其中每个标题代表测量的深度.我需要标题来描述temp,然后是深度,例如temp1,temp4,temp8,temp11 ......等等.

我正在考虑做一些事情,比如定义'temp',然后添加每列的相应深度,例如

varstarter = 'temp';
Run Code Online (Sandbox Code Playgroud)

然后使用像'regexp'这样的东西,但我不确定它是如何工作的.有什么建议?

arn*_*e.b 5

arrayfun(@(x) ['temp' int2str(x)],depth,'UniformOutput',false)
Run Code Online (Sandbox Code Playgroud)

这里,@(x) ['temp' int2str(x)]定义一个匿名函数,它将整数输入作为字符附加到给定的字符序列temp.arrayfun然后将此函数应用于第二个参数的每个元素,即depth.(由于arrayfun最常用于产生数字输出,例如每个函数应用一个数字,输出通常是一个矩阵,其大小至少在一个维度上等于第二个输入.'UniformOutput',false因此该选项告诉它这不是case这里(字符串的长度取决于每个输入的位数),输出需要是一个单元格数组.)

使用[ans; num2cell(Temp)];于标题和数值数据组合成一个单元阵列.