Use variable as placeholder in a path

10 次查看(过去 30 天)
I am trying to use a variable as a placeholder in a path but I keep getting an error.
data = dlmread(['/Users/reubs/Documents/Data/PO1/' cell2mat(filenames(trialnumber))],'',1,0);
I want to rewrite this as
path1 = '/Users/reubenaddison/Documents/Data/PO1/';
data = dlmread([fullfile(path1) cell2mat(filenames(trialnumber))],'',1;0);
but I get
"Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters."

采纳的回答

VBBV
VBBV 2023-2-8
编辑:VBBV 2023-2-8
path1 = '/Users/reubenaddison/Documents/Data/PO1/';
data = dlmread(fullfile(path1, num2str(cell2mat(filenames(trialnumber)))),'',1,0);
% ^ convert num to str in fullfile ^^ use a , in place of ;
Matlab recommends to use readmatrix than using dlmread. Read dlmread

更多回答(1 个)

Image Analyst
Image Analyst 2023-2-8
Try this:
folder = '/Users/reubenaddison/Documents/Data/PO1/';
fullFileName = fullfile(folder, filenames{trialnumber}) % Use braces!
data = dlmread(fullFileName);
See the FAQ to learn when to use parentheses, braces, and brackets:

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

产品


版本

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by