错误使用 matlab.io.datastore.ImageDatastore/subsasgn (line 442) Labels 应为 元素数目 等于 363 的数组。 出错 lstmtest (line 3) imds_train.Labels = categorical(repelem(1:numel(imds_train.Files)/2, 2));
时间: 2024-03-04 19:52:28 浏览: 254
这个错误是因为你尝试将一个元素数目不等于363的数组赋值给ImageDatastore对象的Labels属性。根据错误信息,你的Labels属性应该是一个长度为363的数组。你可以检查一下你的代码,看看是否有错误,或者尝试手动将Labels属性赋值为长度为363的数组。如果你需要更多帮助,请提供更多上下文信息。
相关问题
错误使用 matlab.io.datastore.ImageDatastore/readall 输入参数太多。 出错 lstmtest (line 14) input_seq(:, i) = imds.readall(i:(i+seq_length-1));
这个错误提示是因为 `readall` 函数的输入参数不正确导致的。`readall` 函数用于从 `ImageDatastore` 中读取所有图像数据,它不需要输入索引值。你需要将 `readall` 函数的输入参数修改为 `imds`,如下所示:
```
input_seq = zeros(seq_length, size(imds.Files, 1) - seq_length);
for i=1:size(imds.Files, 1) - seq_length
input_seq(:, i) = imds.readall(); % 将输入参数修改为 imds
end
```
这样就可以正确读取 `ImageDatastore` 中的所有图像数据了。
fs = matlab.io.datastore.FileSet('E:\*.txt'); ds=tabularTextDatastore(fs,'VariableNamingRule','preserve','outputtype','table','DatetimeType','datetime','MultipleDelimitersAsOne',true,'Delimiter','') writeall(ds,'E:\output\','outputformat','xls','Delimiter','') 为什么系统提示: 错误使用 matlab.io.datastore.FileWritable/writeall 参数名称 Delimiter 无效。
这个错误提示是由于在调用 writeall 函数时使用了一个无效参数名称 'Delimiter'。在 MATLAB 中,writeall 函数没有名为 'Delimiter' 的参数。
writeall 函数用于将数据从 datastore 对象写入到文件中,具体写入的格式由 'outputformat' 参数指定。根据你的代码,你想将数据写入 Excel 文件,所以应该将 'outputformat' 参数设置为 'xls',而不是 'Delimiter'。
正确的代码应该是这样的:
```
writeall(ds, 'E:\output\', 'outputformat', 'xls');
```
这样就使用了正确的参数名称 'outputformat',将数据按照指定的格式写入到 Excel 文件中。请注意,在这个写入过程中,并不需要指定分隔符,因为 Excel 文件中的数据是以表格形式保存的,而不是以文本文件的形式。
阅读全文