MATLAB,即使我在imresize中使用了错误的代码,但它会被执行
在MATLAB中使用imresize时,我使用了双三次函数作为一种方法 这是代码MATLAB,即使我在imresize中使用了错误的代码,但它会被执行,matlab,image-processing,bicubic,Matlab,Image Processing,Bicubic,在MATLAB中使用imresize时,我使用了双三次函数作为一种方法 这是代码 a = imresize (image, 1/3, 'bicubic'); b = imresize (a, 3, 'bicubic'); 它工作得很好 但我想知道我是否犯了错误,改变了方法 a = imresize (image, 1/3, 'bic'); b = imresize (a, 3, 'bic'); 是我干的 但是代码被执行了,结果是一样的 如果我使用“bic”,不会出现错误吗 因为这样做有效,我
a = imresize (image, 1/3, 'bicubic');
b = imresize (a, 3, 'bicubic');
它工作得很好
但我想知道我是否犯了错误,改变了方法
a = imresize (image, 1/3, 'bic');
b = imresize (a, 3, 'bic');
是我干的
但是代码被执行了,结果是一样的
如果我使用“bic”,不会出现错误吗
因为这样做有效,我怀疑我的实验数据是正确的
为什么它运行正常
谢谢。基于matlab文档是此函数的默认值。它们可能会检查传递的值是否是预定义值之一。如果不是这种情况,则应用双三次默认值。基于matlab文档的默认值是此函数的默认值。它们可能会检查传递的值是否是预定义值之一。如果不是这种情况,则应用默认值,即双三次。正如@AnderBiguri所建议的,Mathworks的某些人以这样一种方式执行此任务,您可以输入方法的开头。如果您阅读了
imresize
的代码,您可以在第445行(RS2017b)找到以下功能:
如果第一个字符唯一地标识该方法(不区分大小写),则验证该方法。所以“b”是无效的(因为你有“双线性”和“双三次”),但“bic”是有效的,所以“n”(表示“最近的”)也是有效的。正如@AnderBiguri所建议的,Mathworks的某些人以这样一种方式完成这项工作,你可以输入方法的开头。如果您阅读了
imresize
的代码,您可以在第445行(RS2017b)找到以下功能:
如果第一个字符唯一地标识该方法(不区分大小写),则验证该方法。所以“b”是无效的(因为你有“双线性”和“双三次”),但“bic”是有效的,所以“n”(表示“最近的”)也是有效的。因为Mathworks的人想让你的生活更轻松,因为Mathworks的人想让你的生活更轻松easier@ONION接受最能解决你问题的答案总比感谢好。请阅读:@洋葱接受最能解决你问题的答案比感谢要好。请阅读:
function tf = isMethodString(in)
% abbreviated for sake of clarity
tf = sum(strncmpi(in, valid_method_strings, numel(in));