我有一个编辑框中的2个值,我想按下按钮时将它们写在txt文件中
function Masaedit_Callback(hObject, eventdata, handles)
% hObject handle to Masaedit (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
function Arias_Callback(hObject, eventdata, handles)
% hObject handle to Arias (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
function pushbutton7_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA
m=str2double(get(handles.Masaedit, 'string'));
assignin('base','m',m)
A=str2double(get(handles.Arias, 'string'));
assignin('base','A',A)
twovalues = fopen('twovalues.txt','w');
fprintf(twovalues,'%6d\t%3d',m,A);
fclose(twovalues);
但我想将它们保存为:
m=value;
A=value;
保存值后,我想在以下函数中加载文本文件:
function xypr=twovalues (m,A)
CD=1;
load ('twovalues.txt',m,A)
ad=(-1/2)*((CD*A)/m);
end
但这似乎有点棘手,我不知道应该如何进行转换,因为对于A,m =我需要将它们作为字符串加载,结果我应该使用像str2double这样的东西。
答案 0 :(得分:-2)
我实际上是根据你的问题做了一个快速的YouTube视频,所以如果你想观察你可以(我在那里进一步深入,但它意味着更一般):
否则,简短的回答是,这取决于您是否需要在matlab之外提供的数据。你的方法是将这两者混合在一起 - 通常你应该使用save命令将其设置为不能在matlab外部访问(save('filename.mat','m','A')和load('filename.mat') ,'m','A'))或使用列标题写入csv(例如,使用包含可变量的表的可写和可读表)。请注意,出于答案的目的,csv是一种文本格式。当然可以像你描述的那样使用fprintf,但这确实是最难的方法。我希望有所帮助!
编辑:我在您的问题中注意到您的部分问题与文本框的字符串vs双重性质有关。我建议的方法将在你转换为double后切入。除非你使用输出为double的gui元素,否则没有方法可以解决这个问题。