簡體   English   中英

倍頻程:負載問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM