matlab coding to s-function level 2 coding.
1 回表示 (過去 30 日間)
古いコメントを表示
Hi,
Using Matlab, i can initialize the particle filter like this:
for i = 1 : N
xhatplus(:,i) = xhat + sqrt(P) * [randn; randn; randn];
end
Now, i want to use simulink s-function level 2. how should i coding it?
function DoPostPropSetup(block)
block.Dwork(3).Name = 'xhatplus';
block.Dwork(3).Dimensions = N*3;
block.Dwork(3).DatatypeID = 0;
block.Dwork(3).Complexity = 'Real';
block.Dwork(3).UsedAsDiscState = true;
function InitializeConditions(block)
block.Dwork(3).Data = ??
Any advise? Thanks.
2 件のコメント
採用された回答
Kaustubha Govind
2012 年 2 月 3 日
Oops, just realized that you are asking about the InitializeConditions function, and not Update or Outputs. The initial condition of your state depends on the dynamics of your system or application - it's hard for us to tell what it should be. The only thing that I can say is that it needs to be of size 3000. For example, for zero-initial condition, you can say:
block.Dwork(3).Data = zeros(3, N);
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Audio Processing Algorithm Design についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!