[英]Octave: Problems with load
我目前正在Octave中做一个程序,希望用户能够插入他要加载的文件。 有问题的文件是.mat文件,并与
加载(“ filename.mat”)
我正在考虑做这样的事情:
file = input(“文件名是什么:”)
加载(“文件”)
但这没用...
有人提示吗?
可能是因为您需要输入用单引号引起来的文件名:'filename'。 (注意:我使用MATLAB,但在Octave中应该可以正常使用)。
或者,您可以使用inputdlg
请求用户输入。 它可以为您提供很大的灵活性,因为您可以在提示中添加字段,例如文件扩展名或其他。
这是一个简单的示例:
clear
clc
prompt = {'Enter file name'};
dlg_title = 'Input';
num_lines = 1;
def = {'Dummy file'};
answer = inputdlg(prompt,dlg_title,num_lines,def)
提示如下:
您可以像这样获取请求:
name = answer{1};
最后添加扩展名以加载.mat文件:
filename = strcat(name,'.mat')
S = load(filename)
只需使用文件扩展名即可:
prompt = {'Enter file name'; 'Enter file extension'};
dlg_title = 'Input';
num_lines = 1;
def = {'Dummy file'; '.mat'};
answer = inputdlg(prompt,dlg_title,num_lines,def)
name = answer{1};
extension = answer{2};
filename = strcat(name,extension)
S = load(filename)
希望有帮助!
我使用了Benoit_11的方法,但是将其更改为input,因为inputdlg似乎在Octave中不起作用。
明确
c
name = input('输入文件名,不带文件扩展名:','s')
文件名= strcat(name,'。mat')
S =负载(文件名)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.