查看单个帖子
旧 2019-12-10, 20:41   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 将数据从工作区传递到函数

我创建了一个GUI并使用uiimport将数据集导入到matlab工作区中,我想将此导入的数据传递给matlab中的另一个函数...如何将导入的数据集传递给另一个函数...。我尝试做diz。 ..但是它不能选择diz ....它没有选择matlab工作区上的数据。...任何想法吗?

[file_input, pathname] = uigetfile( ... {'*.txt', 'Text (*.txt)'; ... '*.xls', 'Excel (*.xls)'; ... '*.*', 'All Files (*.*)'}, ... 'Select files'); uiimport(file_input); M = dlmread(file_input); X = freed(M);

回答:

在脚本中,您可以通过三种方式读取文件。根据您的文件格式选择一个。但是首先我将文件名和路径结合起来:

file_input = fullfile(pathname,file_input); 我不会在脚本中使用UIIMPORT,因为用户可以更改读取数据的方式,并且变量名取决于文件名和用户。

使用DLMREAD,您只能从文件中读取数字数据。您也可以使用以下命令跳过一些行或列

M = dlmread(file_input,'\t',1,1); 跳过左侧的第一行和一列。或者,您可以使用Excel样式定义范围。有关更多详细信息,请参见DLMREAD文档。

您传递给DLMREAD的文件名必须是字符串。不要传递文件句柄或任何数据。如果不是字符串,您将得到“文件名必须是字符串”。简单。

FREAD从二进制文件读取数据。如果确实需要,请参阅文档。

还有许多其他功能可以从文件中读取数据。如果仍然有问题,请向我们展示您的文件格式示例,以便我们为您提供最佳的阅读方法。



更多&回答...
poster 当前离线   回复时引用此帖