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

조회 수: 4 (최근 30일)
Hikari Shirakata
Hikari Shirakata 2021년 11월 21일
댓글: Hikari Shirakata 2021년 11월 21일
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
Atsushi Ueno
Atsushi Ueno 2021년 11월 21일
편집: Atsushi Ueno 2021년 11월 21일
どうやってもだめですね。回避策としてコマンドラインで設定できる事を確認したので、試してみては如何でしょうか?untitledは拡張子を除くモデル名、/以下はモデル内のTo Workspaceブロックに至るパスです。
set_param('untitled/To Workspace','Decimation','10000'); % または
set_param('untitled/To Workspace','Decimation',mabiki_str);
>ヘルプを見ると、間引きに指定するパラメータは文字ベクトル型なので、
そんな事書いてないぞ?と思いましたが、コンフィギュレーションパラメータに同じ名前の設定項目があり「コマンドライン情報:パラメーター: Decimation:型: 文字ベクトル」との記述がある事に気付きました。
本質問の原因を含め謎が多いので引き続き調べて、原因が分かったら回答として報告致します。
Atsushi Ueno
Atsushi Ueno 2021년 11월 21일
To Workspaceのパラメータ「間引き」の説明にも「型: 文字ベクトル」と書いてありました

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

채택된 답변

Atsushi Ueno
Atsushi Ueno 2021년 11월 21일
>ヘルプを見ると、間引きに指定するパラメータは文字ベクトル型なので、整数型ではなく文字ベクトル型も試しましたが指定できません。なぜですか。
今回は"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
Hikari Shirakata
Hikari Shirakata 2021년 11월 21일
ご回答ありがとうございました。整数しか取りえないパラメータなので int 型を指定するのだと勘違いしていましたが、double 型でいいのですね。また、文字ベクトルとして指定しなければならないのは、simulink モデル外部のプログラムから指定する場合のみであること、理解いたしました。

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 信号属性とインデックス付け에 대해 자세히 알아보기

태그

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!