whay I'm getting this error when I use eval function to make it dynamic:
dp=500;flow='Q1',d=16/1000;try_num=1;,.....
load(eval(['D:\45deg_light_sheet_dp' num2str(dp) '_' num2str(flow) '_pipeID' num2str(d*1000) 'mm\try' num2str(try_num) '\loc_vel_ID' num2str(d*1000) 'mm_thresh' num2str(thresh_pln1) '_' num2str(flow) '_dp' num2str(dp) '_pln1_try' num2str(try_num) '_between two planes x1=' num2str(Xl_pln1) '-x2=' num2str(Xr_pln1) '_45deg_lightsheet_bin_new_name_variables.mat']));
Error: Invalid use of operator.

1 Kommentar

Why are you using EVAL()? it serves absolutely no purpose in your code.
Note that to make your code more robust, you should LOAD() into an output variable:
S = load(..);

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Steven Lord
Steven Lord am 21 Dez. 2022

1 Stimme

There is absolutely no need to use eval here. You're building a file name, not building code to evaluate.
dp=500;
flow='Q1';
d=16/1000;
try_num=1;
thresh_pln1 = 42; % You omitted this
Xl_pln1 = 999; % and this
Xr_pln1 = 314159; % this too
filename = ['D:\45deg_light_sheet_dp' num2str(dp) '_' num2str(flow) '_pipeID' num2str(d*1000) 'mm\try' num2str(try_num) '\loc_vel_ID' num2str(d*1000) 'mm_thresh' num2str(thresh_pln1) '_' num2str(flow) '_dp' num2str(dp) '_pln1_try' num2str(try_num) '_between two planes x1=' num2str(Xl_pln1) '-x2=' num2str(Xr_pln1) '_45deg_lightsheet_bin_new_name_variables.mat']
filename = 'D:\45deg_light_sheet_dp500_Q1_pipeID16mm\try1\loc_vel_ID16mm_thresh42_Q1_dp500_pln1_try1_between two planes x1=999-x2=314159_45deg_lightsheet_bin_new_name_variables.mat'
You could use this filename by using the functional form of load, as load(filename).

Weitere Antworten (0)

Kategorien

Mehr zu Programming Utilities finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

am 21 Dez. 2022

Kommentiert:

am 21 Dez. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by