opts = detectImportOptions('Book_A.xlsx'); %opts.Sheet = 'Sheet1'; opts.SelectedVariableNames = [3:18]; opts.DataRange = '2:790'; opts =TextImportOptions('OutputType','double'); % opts.OutPutType = 'double'; M=readmatrix('Book_A.xlsx',opts); 我的这段代码中读取出来的数据类型为啥是cell
时间: 2024-01-06 22:03:43 浏览: 169
1_题目.docx
非常抱歉之前的回答有误。在你的中,使用了 `detectOptions` 函数来检测导入选并创建一个 `opts` 对象。然,你通过设置 `opts` 对象一些属性,如 `SelectedVariableNames 和 `DataRange` 来指定入选项。接下,你创建了一个 `TextImportOptions` 对象,并将其赋值给 `opts`。然后,你 `readmatrix` 函数来取数据并存储 `M` 中。
然而,问题出在这里:在创建 `TextImportOptions` 对象时你使用了 `'OutputType'` 参数,但是正确的参数名应该是 `'Type'`。所以正确的代码应该是这样的:
```matlab
opts = detectImportOptions('Book_A.xlsx');
opts.SelectedVariableNames = [3:18];
opts.DataRange = '2:790';
opts = setvartype(opts,'double');
M = readmatrix('Book_A.xlsx', opts);
```
在以上代码中,我们使用 `setvartype` 函数将 `opts` 对象的变量类型设置为 `'double'`。然后,我们使用修正后的 `opts` 对象来调用 `readmatrix` 函数,以读取数据并将其存储在 `M` 中。
这样修改后,读取出来的数据类型应该是 double 类型而不是 cell 类型。再次对之前的误导表示歉意,并感谢你的指正。
阅读全文