How to generate different filename with each iteration of code?
1 次查看(过去 30 天)
显示 更早的评论
I am using the following synetex of matlab code
saveas(f, path + var + method + '.png');
where var and method are changing in each iteration. I mean there are two methods and two vars as follows
I wish to generate four png files with the combination of methods and vars using following code.
path = 'C:\chahar\';
methods = {'OLS', 'RF'};
dependent_vars = {'act_y_ha', 'act_per_ha'};
for m = 1:length(methods)
method = methods(m);
for jj = 1:numel(dependent_vars)
var = dependent_vars{jj};
% Save the figure
saveas(f, path + method + var + '.png');
end
end
Please suggest me how to fix the error as follows
Arrays have incompatible sizes for this operation.
saveas(f, path + var + method + '.png');
Related documentation
0 个评论
回答(1 个)
Voss
2024-3-7
编辑:Voss
2024-3-7
mypath = "C:\"; % string (with double quotes)
methods = {'OLS', 'RF'};
dependent_vars = {'act_y_ha', 'act_per_ha'};
% string concatenation
filenames = mypath + dependent_vars.' + methods + '.png'
3 个评论
Voss
2024-3-7
编辑:Voss
2024-3-7
mypath = "C:\chahar\"; % string (with double quotes)
methods = {'OLS', 'RF'};
dependent_vars = {'act_y_ha', 'act_per_ha'};
% string concatenation
filenames = mypath + dependent_vars.' + methods + '.png';
for m = 1:length(methods)
for jj = 1:numel(dependent_vars)
% Save the figure
saveas(f, filenames(jj,m));
end
end
Voss
2024-3-8
编辑:Voss
2024-3-8
Or, if you prefer:
mypath = 'C:\chahar\'; % character vector (with single quotes)
methods = {'OLS', 'RF'};
dependent_vars = {'act_y_ha', 'act_per_ha'};
for m = 1:length(methods)
method = methods{m};
for jj = 1:numel(dependent_vars)
var = dependent_vars{jj};
% Save the figure
saveas(f, [mypath,method,var,'.png']); % character vector concatenation
end
end
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!