필터 지우기
필터 지우기

Simulink上の​バスオブジェクトのバ​イトサイズを確認する​方法を教えてください

조회 수: 2 (최근 30일)
tnksral
tnksral 2017년 9월 29일
댓글: Kei Otsuka 2017년 9월 29일
バスオブジェクトの各要素のサイズを数え上げる以外に、 Simulink上のバスオブジェクトのバイトサイズを確認する方法があれば教えてください。
  댓글 수: 1
Kei Otsuka
Kei Otsuka 2017년 9월 29일
バスオブジェクトの各要素のデータ型からBit数を求め、それらの総和を取る形になると思いますが、その方法では何か問題がありますでしょうか?
数える作業を自動化したい、ということでしたら方法はあると思います。
例えば、myBusという名前のバスオブジェクトがあり、3つの要素を持つとします。 3要素のデータ型がそれぞれ
  1. uint8
  2. fixdt(0,23,0)
  3. fixdt(1,16,0)
であった場合、以下のスクリプトを実行することでトータルのバスBit幅が算出できます。
bitw = 0;
for i = 1:size(myBus.Elements, 1)
type = myBus.Elements(i).DataType;
a = strsplit(type,',')
if size(a, 2) == 1 %fixdtではない場合
b = regexp(a,'\d*','Match');
for ii= 1:length(b)
num(ii,1)=str2double(b{ii}(end));
end
bitw = bitw + num;
else
bitw = bitw + str2num(a{2});
end
end

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 マルチコア プロセッサ ターゲット에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!