こんにちは、matlab に大きな問題があります。関数があり、制御ASCII文字を返すことがあります。これらのコントロール ascii の存在を確認するにはどうすればよいですか?
私のコードは次のようになります
d = out.autoc
d は、実際の double 値ではなく、制御 ASCII 文字を受け取ることがあります。誰かがそのような互換性のない割り当てをキャッチする方法を知っていますか?
こんにちは、matlab に大きな問題があります。関数があり、制御ASCII文字を返すことがあります。これらのコントロール ascii の存在を確認するにはどうすればよいですか?
私のコードは次のようになります
d = out.autoc
d は、実際の double 値ではなく、制御 ASCII 文字を受け取ることがあります。誰かがそのような互換性のない割り当てをキャッチする方法を知っていますか?
d
の値が文字列ではなく double であることを確認したい場合。次の方法で確認できます。
if ~isnumeric(d) || ~isdouble(d)
fprintf('d is not of class double\n');
end
out.autoc
ただし、 が double の場合にd
のみの値を代入したい場合out.autoc
は、次のようにできます。
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