1

我已经在这里待了 3 个小时——所以我需要帮助。

我在 MATLAB 的 GUIDE 上有一个按钮,用于加载文本文件以将 2 列数据存储为xy.

所以x = [12, 12, 23];

文本文件 A 是:

  12 23
  12 32
  23 32

GUI GUIDE 中的代码位于pushbuttonload_file 下,如下所示:

filename = uigetfile('*.txt')
loaddata = fullfile(pathname,filename)
load(loaddata)
A = filename(:,1)
B = filename(:,2)
handles.input1 = A;
handles.input2 = B;
axes(handles.axes1)
plot(handles.input1,handles,imput2)
4

2 回答 2

1

首先,您可能想发布错误消息以确保我报告了正确的问题,但我可以立即看到一个问题:

行:

A = filename(:,1)
B = filename(:,2)

仅检索命名文件的字符串,而不是实际数据。因此,首先,您必须知道正在加载的数据的名称,然后将加载行更改为:

data = load(loaddata,'-ascii')

现在:

A = data(:,1)
B = data(:,2)
于 2012-09-02T01:39:56.847 回答
1

load将加载一个文本文件,但除非您明确指定输出,否则它不会将内容分配给任何内容。

%# load xy data from file
xy = load(loaddata,'-ascii')
%# assign columns to A and B, respectively
%# (why not x,y)?
A = xy(:,1)
B = xy(:,2)

-ascii加载选项不是必需的,但可以保证文件以文本形式加载,并帮助您稍后记住数据应该是文本文件。

于 2012-09-02T01:52:00.167 回答