Octave:负载问题

时间:2015-03-17 13:29:09

标签: matlab load octave

我目前正在Octave中执行一个程序,我希望用户能够插入他想要加载的文件。有问题的文件是.mat文件,并加载

  

load(“filename.mat”)

我正在考虑做这样的事情:

  

file = input(“什么是文件名:”)

     

加载(“文件”)

但这没效果......

有人有任何提示吗?

2 个答案:

答案 0 :(得分:2)

这可能是因为您需要输入用单引号括起来的文件名:'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)

提示符如下所示:

enter image description here

您可以像这样获取asnwer:

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)

希望有所帮助!

答案 1 :(得分:1)

我使用了Benoit_11的方法,但改为输入,因为inputdlg似乎不适用于Octave。

  

明确

     

CLC

     

name = input('输入文件名,不带文件扩展名:',' s')

     

filename = strcat(name,' .mat')

     

S = load(filename)