MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   将数据从工作区传递到函数 (https://www.labfans.com/bbs/showthread.php?t=23353)

poster 2019-12-10 20:41

将数据从工作区传递到函数
 
我创建了一个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);

[B]回答:[/B]

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

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

使用[URL="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/dlmread.html"]DLMREAD,[/URL]您只能从文件中读取数字数据。您也可以使用以下命令跳过一些行或列

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

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

[URL="http://www.mathworks.com/access/helpdesk/help/techdoc/ref/fread.html"]FREAD[/URL]从二进制文件读取数据。如果确实需要,请参阅文档。

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



[url=https://stackoverflow.com/questions/2707794]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 05:11

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.