バージョン:Matlab 2009a
randsrc()関数を使用して、サイズ<1x116286>のベクトルを生成しています。同じサイズでuint8タイプのマトリックスに再度追加しているので、次のようにしています-
l=typecast(randsrc(1,v(2)),'uint8');
ここで、Matlabは、返される要素のベクトルを[-1,1]ではなく[240,63,0]に変更し、サイズは<1x930288uint8>になりました。これはdoubleとuint8のサイズが異なるために予想されますが、型キャスト後に同じサイズと値のベクトルが必要です。
PS:サイズ<1x116286>のマトリックス上のすべての値から「1」を減算または加算したいと思います。これを行う他のきちんとした方法はありますか?