嗨,matlab 有一个大问题。我有一个函数,它有时会返回控制 ascii 字符。我如何检查这些控件 ascii 的存在?
我的代码看起来像这样
d = out.autoc
d 有时接收控制 ascii 字符而不是实际的双精度值。有人知道如何捕捉这种不兼容的任务吗?
嗨,matlab 有一个大问题。我有一个函数,它有时会返回控制 ascii 字符。我如何检查这些控件 ascii 的存在?
我的代码看起来像这样
d = out.autoc
d 有时接收控制 ascii 字符而不是实际的双精度值。有人知道如何捕捉这种不兼容的任务吗?
如果要检查的值d
是双精度,而不是字符串。你可以这样检查:
if ~isnumeric(d) || ~isdouble(d)
fprintf('d is not of class double\n');
end
但是,如果您想将 to 的值分配out.autoc
给d
only ifout.autoc
是 double,您可以这样做:
if isnumeric(out.autoc) && isequal(class(out.autoc), 'double')
d = out.autoc;
else
fprintf('out.autoc is not of class double, no assignment made.\n');
end
我认为这应该可行,但您可能需要仔细检查要排除的 ASCII 代码。
%here I load Ctrl-C
s = sprintf('%s', 3);
code = bin2dec(dec2bin(s,8));
if code < 32
fprintf('ignore');
else
fprintf('do somsething');
end