У меня есть следующая функция, последним аргументом которой является имя текстового файла:
function [property_without_headers]=gslib_file_to_matlab_var(nModel,nCell,gslib_file_name) % must enter the last argument, gslib_file_name, in single quotes as its treated as a string
if nargin<3, % making third argument optional (code to be executed even when only 2 arguments are provided)
gslib_file_name=input('Enter the gslib file name: ','s');
end
if length(gslib_file_name)<4 || ~strcmpi(gslib_file_name(end-3:end),'.dat'),
gslib_file_name=[gslib_file_name '.dat']; % string concatenation
end
%% Reading directly from the .dat files generated from SGEMS and making the data of file as a variable
property_gslib_format=textread(gslib_file_name,'%f\t','headerlines',nModel+2);
property_without_headers=reshape(property_gslib_format,nModel,nCell)';
Прямо сейчас, по общему мнению, последний аргумент функции, который нужно ввести, числовой. Как мне сделать так, чтобы пользователю было более понятно, что последний аргумент, имя текстового файла, который нужно ввести, должен быть в строковом формате, то есть в одинарных кавычках? Если я определю последний аргумент функции например, после этого я получаю ошибку Неожиданное выражение MATLAB. :
[property_without_headers]=gslib_file_to_matlab_var(nModel,nCell,'gslib_file_name')