To workspace ブロックでの間引き設定

7 views (last 30 days)
To workspace ブロックの間引きの設定を、以下のように dt_out/dt = 10000 に設定したいのですが、「パラメータ 'decimation' に対する 'To workspace' 内の設定が無効です。」とのエラーで設定できません。ヘルプを見ると、間引きに指定するパラメータは文字ベクトル型なので、整数型ではなく文字ベクトル型も試しましたが指定できません。なぜですか。
dt = 1e-6; % s
dt_out= 1e-2; % s,
mabiki = int16(dt_out/dt);
mabiki_str = num2str(mabiki);
  2 Comments
Atsushi Ueno
Atsushi Ueno on 21 Nov 2021
To Workspaceのパラメータ「間引き」の説明にも「型: 文字ベクトル」と書いてありました

Sign in to comment.

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 21 Nov 2021
>ヘルプを見ると、間引きに指定するパラメータは文字ベクトル型なので、整数型ではなく文字ベクトル型も試しましたが指定できません。なぜですか。
今回は"mabiki"の型がint16型なので受け付けられませんでした。これをdouble型にすると動作しました。
dt = 1e-6; % s
dt_out= 1e-2; % s,
mabiki = dt_out/dt; % またはround(dt_out/dt);やdouble(int16(dt_out/dt));等の形
mabiki_str = num2str(mabiki);
「文字ベクトル型」は「プログラムでの使用」における型の事で、具体的には下記の様に設定します。
set_param('untitled/To Workspace','Decimation','10000'); % または
set_param('untitled/To Workspace','Decimation',mabiki_str);
  1 Comment
Hikari Shirakata
Hikari Shirakata on 21 Nov 2021
ご回答ありがとうございました。整数しか取りえないパラメータなので int 型を指定するのだと勘違いしていましたが、double 型でいいのですね。また、文字ベクトルとして指定しなければならないのは、simulink モデル外部のプログラムから指定する場合のみであること、理解いたしました。

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!