我需要选择名称以localhost
开头的MATLAB表的所有列。该表的格式如下:
'data'
有没有办法这样做?像sub. | age | gender | ... | ... | data1 | data2 | data3 | ... | data4 | ... |
答案 0 :(得分:2)
UIView
答案 1 :(得分:1)
A = rand(10,1);B=rand(10,1);data1=rand(10,1);data2=rand(10,1); %// data to fill the table
MyTable = table(A,B,data1,data2); %// create the table
VarNames = MyTable.Properties.VariableNames; %// get column names
DataCols = strfind(VarNames,'data'); %// find the cells containing 'data' in the name
kk=1; %// initialise counter
for ii = 1:numel(DataCols)
if DataCols{ii}==1
dataIdx(kk)=ii; %// if data exists, then store the index
kk = kk+1;
end
end
您可以使用MyTable.Properties.VariableNames
获取表格中变量名称的单元格数组。然后strfind
找到包含短语'data'
的所有单元格。然后我使用一个循环来检查每个单元格是否包含1
,即'data'
,或者不是cellfun
,尽管这也可以用cellfun
完成,但我对{{{{}}不太熟悉1}}让它发挥作用。