String 在Matlab中将空格分隔的数字列表导入/转换为数组列表
我是Matlab新手,我想将带有空格分隔数字的列(源代码是Excel文件)转换为数组列表 在第一步中,我想创建一个数组列表,如下所示:String 在Matlab中将空格分隔的数字列表导入/转换为数组列表,string,excel,matlab,vector,String,Excel,Matlab,Vector,我是Matlab新手,我想将带有空格分隔数字的列(源代码是Excel文件)转换为数组列表 在第一步中,我想创建一个数组列表,如下所示: [~,~,RAW] = xlsread('list.xls'); list = cellfun(@str2double, cellfun(@strsplit, RAW, 'uni', 0), 'uni', 0).'; 然后我想像这样转换列表: [~,~,RAW] = xlsread('list.xls'); list = cellfun(@str2doub
[~,~,RAW] = xlsread('list.xls');
list = cellfun(@str2double, cellfun(@strsplit, RAW, 'uni', 0), 'uni', 0).';
然后我想像这样转换列表:
[~,~,RAW] = xlsread('list.xls');
list = cellfun(@str2double, cellfun(@strsplit, RAW, 'uni', 0), 'uni', 0).';
此转换的正确命令是什么
我知道这是一个简单的问题,但我找不到类似的问题。首先使用阅读原始文本。文本将作为单元格数组读入,其中每行文本都放置在一个单元格中。一旦您这样做了,就需要将字符串按空格分割,以创建每行额外的单元格数组,然后将这些单元格输入到创建数字数组的函数中。您可以结合使用and。假设您的Excel文件名为list.xls
,请执行以下操作:
[~,~,RAW] = xlsread('list.xls');
list = cellfun(@str2double, cellfun(@strsplit, RAW, 'uni', 0), 'uni', 0).';
列表
包含所需的输出。我也转换了结果,因为这是你想要的。我创建了一个Excel文件,其方式与您在帖子中提到的方式相同。这是我运行代码时得到的结果。首先,我将展示列表的外观,然后我们将检查实际内容:
>> list
list =
[1x4 double] [1x5 double] [1x6 double]
>> celldisp(list)
list{1} =
5405 5414 5420 9999
list{2} =
5405 5414 5430 5341 9999
list{3} =
5405 5419 5419 5419 5412 9999
以下是MATLAB变量编辑器的外观:
定义向量列表。你是说细胞阵列吗?你的具体意见是什么?二维字符数组,还是带换行符的单个字符串?请熟悉MATLAB的内置数据结构:主要是数组和单元格。你的部分问题表明你对这个问题不是很清楚。此外,首先检查如何从excel导入数据;这可能已经指导您或限制您的选择。