User interface 将数据从工作区传递到函数
我创建了一个GUI并使用uiimport将数据集导入matlab工作区,我想将导入的数据传递给matlab中的另一个函数…如何将导入的数据集传递给另一个函数…我尝试了diz…但它无法选择diz…它无法选择matlab工作区中的数据…有什么想法吗User interface 将数据从工作区传递到函数,user-interface,matlab,workspace,User Interface,Matlab,Workspace,我创建了一个GUI并使用uiimport将数据集导入matlab工作区,我想将导入的数据传递给matlab中的另一个函数…如何将导入的数据集传递给另一个函数…我尝试了diz…但它无法选择diz…它无法选择matlab工作区中的数据…有什么想法吗 [file_input, pathname] = uigetfile( ... {'*.txt', 'Text (*.txt)'; ... '*.xls', 'Excel (*.xls)'; ... '*.*', 'All Files (*.*)'},
[file_input, pathname] = uigetfile( ...
{'*.txt', 'Text (*.txt)'; ...
'*.xls', 'Excel (*.xls)'; ...
'*.*', 'All Files (*.*)'}, ...
'Select files');
uiimport(file_input);
M = dlmread(file_input);
X = freed(M);
我认为您需要指定此语句的结果:
uiimport(file_input);
对于一个变量,如下所示
dataset = uiimport(file_input);
然后将其传递给下一个函数:
M = dlmread(dataset);
这是Matlab的一个非常基本的功能,这对我来说,您会发现阅读一些联机帮助和Matlab的一些文档很有价值。当你做到这一点时,你可能会找到更整洁、更快的方法
编辑:好吧,@Tim,如果其他一切都失败了。所以我做了,我以前的回答是不正确的。您需要传递给
dlmread
的是要读取的文件名。因此,您可以使用uiimport
或dlmread
读取文件,但不能同时使用这两种方法。您使用哪一种取决于您尝试执行的操作和输入文件的格式。所以,去RTFM,我也会这么做。如果您仍有问题,请更新您的问题并提供文件内容的详细信息。在脚本中,您有三种读取文件的方法。根据您的文件格式选择其中一个。但首先,我将结合文件名和路径:
file_input = fullfile(pathname,file_input);
我不会在脚本中使用UIIMPORT,因为用户可以更改读取数据的方式,变量名取决于文件名和用户
使用,您只能从文件中读取数字数据。您还可以使用跳过一些行或列
M = dlmread(file_input,'\t',1,1);
跳过左侧的第一行和一列。
也可以用Excel样式定义一个范围。有关更多详细信息,请参阅DLMREAD文档
传递给DLMREAD的文件名必须是字符串。不要传递文件句柄或任何数据。如果不是字符串,您将得到“文件名必须是字符串”。简单
从二进制文件读取数据。如果您真的必须这样做,请参阅文档
还有许多其他函数可以从文件中读取数据。如果您仍然有问题,请向我们展示您的文件格式示例,以便我们建议阅读该文件的最佳方式。Matlab文档编写得非常好,应该能够帮助您澄清问题。如果你不想阅读,你也可以看很多视频教程中的一个,比如这一个:???在55文件名处使用==>dlmread时出错必须是字符串。Datz我得到了什么我试着用dlmread