インデックスが配列要素数(1)を超えています。

37 views (last 30 days)
尾﨑 健祐
尾﨑 健祐 on 2 Aug 2020
Answered: Kojiro Saito on 3 Aug 2020
>> s=tf('s')
インデックスが配列要素数(1)を超えています。
このエラーの意味がわかりません。MATLAB2020を使用しています。

Answers (1)

Kojiro Saito
Kojiro Saito on 3 Aug 2020
おそらくtfはstruct(構造体配列)でしょうか。1行1列の構造体のようなので、tf(1)はリターンが返ってきますが、それより大きな数字を入れると要素数を超えるという上記のエラーが起きてしまいます。「's'」を入れるとdouble('s')の値115と解釈されてしまい、tfの115の要素数にアクセスしてしまうため、このようなことが起きてしまいます。
要素の値を取得するには、struct名.フィールド名か、struct名.('フィールド名')を使います。
s = tf.s;
または
s = tf.('s');

Categories

Find more on 構造体 in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!