首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从用户派生的源提取文本文件

从用户派生的源提取文本文件
EN

Stack Overflow用户
提问于 2019-12-06 04:23:14
回答 1查看 27关注 0票数 0

我正在用matlab编写代码。我有两个名为EXP1和EXP2的文件夹,每个文件夹中都有4个子文件夹,标记为1-4。我有一个代码,它将每个路径添加到matlab,这可能有助于可视化:

代码语言:javascript
复制
clear
%add complete paths to every template file you will be using
addpath('C:\Users\Administrator\Dropbox (*******)\******* Team Folder\Matlab\RFID chip reader\EXPT1\1',...
    'C:\Users\Administrator\Dropbox (*******)\******* Team Folder\Matlab\RFID chip reader\EXPT1\2',...
    'C:\Users\Administrator\Dropbox (*******)\******* Team Folder\Matlab\RFID chip reader\EXPT1\3',...
    'C:\Users\Administrator\Dropbox (*******)\******* Team Folder\Matlab\RFID chip reader\EXPT1\4',...
    'C:\Users\Administrator\Dropbox (*******)\******* Team Folder\Matlab\RFID chip reader\EXPT2\1',...
    'C:\Users\Administrator\Dropbox (*******)\******* Team Folder\Matlab\RFID chip reader\EXPT2\2',...
    'C:\Users\Administrator\Dropbox (*******)\******* Team Folder\Matlab\RFID chip reader\EXPT2\3',...
    'C:\Users\Administrator\Dropbox (*******)\******* Team Folder\Matlab\RFID chip reader\EXPT2\4');

每个文本文件都被命名为EXP(n)_SQ( m )_Template,EXP文件夹编号替换为n,子文件夹替换为m。我希望用户能够为实验和小队输入特定的数字,并将该文件用于脚本的其余部分。这就是我所拥有的:

代码语言:javascript
复制
clear
%add complete paths to every template file you will be using
addpath('C:\Users\Administrator\Dropbox (*******)\******* Team Folder\Matlab\RFID chip reader\EXPT1\1',...
    'C:\Users\Administrator\Dropbox (*******)\******* Team Folder\Matlab\RFID chip reader\EXPT1\2',...
    'C:\Users\Administrator\Dropbox (*******)\******* Team Folder\Matlab\RFID chip reader\EXPT1\3',...
    'C:\Users\Administrator\Dropbox (*******)\******* Team Folder\Matlab\RFID chip reader\EXPT1\4',...
    'C:\Users\Administrator\Dropbox (*******)\******* Team Folder\Matlab\RFID chip reader\EXPT2\1',...
    'C:\Users\Administrator\Dropbox (*******)\******* Team Folder\Matlab\RFID chip reader\EXPT2\2',...
    'C:\Users\Administrator\Dropbox (*******)\******* Team Folder\Matlab\RFID chip reader\EXPT2\3',...
    'C:\Users\Administrator\Dropbox (*******)\******* Team Folder\Matlab\RFID chip reader\EXPT2\4');
user_input_exp = input('Enter Experiment Number: ', 's');
user_input_squad = input('Enter Squad Number: ', 's');
Mac_Templ = importdata('EXP(user_input_exp)_SQ(user_input_squad)_Template.txt');

我得到了这个错误:

代码语言:javascript
复制
Error using importdata (line 139)
Unable to open file.
Error in test_editing (line 17)
Mac_Templ = importdata('EXP(user_input_exp)_SQ(user_input_squad)_Template.txt');

如果我去掉文件名两边的'‘,我得到的错误是下划线:

代码语言:javascript
复制
Error: File: test_editing.m Line: 17 Column: 43
Invalid text character. Check for unsupported symbol, invisible character, or pasting of
non-ASCII characters.

任何帮助都是非常感谢的。

运行MATLAB r2019b。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-06 05:13:15

您必须使用sprintf或其他一些字符串格式化解决方案。input函数将返回一个字符串,您可以使用该字符串构成文件名:

代码语言:javascript
复制
Mac_Templ = importdata(sprintf('EXP%s_SQ%s_Template.txt', user_input_exp, user_input_squad)); 

另一种可能性是连接字符向量:

代码语言:javascript
复制
Mac_Templ = importdata(['EXP' user_input_exp '_SQ' user_input_squad '_Template.txt']); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59202767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档