Use variable as placeholder in a path

23 views (last 30 days)
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."

Accepted Answer

VBBV
VBBV on 8 Feb 2023
Edited: VBBV on 8 Feb 2023
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

More Answers (1)

Image Analyst
Image Analyst on 8 Feb 2023
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:

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!