2012-04-28 4 views
0

こんにちは、matlabに大きな問題があります。私は関数を持っており、時には制御ASCII文字を返します。これらの制御asciiの存在をどうやって確認するのですか?このmatlabで互換性のない型の割り当てを検出する方法は?

d = out.autoc 

dは、時には代わりに、実際のdouble値のASCII文字を制御受け取るよう

私のコードが見えます。誰かがこのような互換性のない課題を捉える方法を知っていますか?

答えて

0

これはうまくいくはずですが、除外する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 
0

dの値が文字列ではなく2倍であることを確認したい場合は、あなたはこのようにそれを確認することができます。

if ~isnumeric(d) || ~isdouble(d) 
    fprintf('d is not of class double\n'); 
end 

しかし、あなたはout.autocは、二重である場合にのみ、あなたがこれを行うことができdout.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 
関連する問題