可とう体としての掘削機ディッパー アームのモデル化

5 views (last 30 days)
Akio Tsukamoto
Akio Tsukamoto on 25 Aug 2021
Commented: Akio Tsukamoto on 31 Aug 2021
上記のMATLAB の可とう体としての掘削機ディッパーアームのモデル化の指示にしたがってコマンド入力していくと,手順5のところで関数または変数 'computeModalDampingMatrix' が認識されません,とエラーが出てしまいます.以前も同じ質問をさせていただいたときにスタッフの方にこれを参考にしてくださいと言われたものでもエラーが出てしまいました.モーダル減衰行列の計算のコードを先に打ち込んだ方がいいのかと思い試してみたのですが,function C = computeModalDampingMatrix(dampingRatio,K,M)このコンテキストでは関数定義がサポートされません。関数はコード ファイル内でローカル関数または入れ子関数としてのみ作成できます,とエラーが出てしまいました.手順5からどのような手順でコマンド入力していけばよろしいでしょうか?教えていただけると幸いです.

Accepted Answer

Kojiro Saito
Kojiro Saito on 25 Aug 2021
手順5では、例の一番下にあるモーダル減衰行列の計算で定義されたローカル関数computeModalDampingMatrixを使いますので、この関数が定義されていないとエラーになってしまいます。
関数の定義はMATLABドキュメント「function」にあるように、R2016b以降ではコマンドウィンドウではなくスクリプト(またはライブスクリプト)に記述する必要があります。
一番簡単なのは、ドキュメントの例をそのままライブスクリプトとして開くことです。
openExample('sm/ExcavatorDipperArmAsFlexibleBodyExample')
これを実行するとExcavatorDipperArmAsFlexibleBodyExample.mlxというファイルが作成され、computeModalDampingMatrix関数が末尾に記述されています。
後はライブスクリプト上で実行を進めば手順5も問題なく実行できます。
  4 Comments
Kojiro Saito
Kojiro Saito on 27 Aug 2021
該当部分の2行に「%」を付けてコメントアウトしたらいかがでしょうか。
%assert(all(abs(d(1:6))/abs(d(7)) < 1e-9),'Error due to "zero" eigenvalues.');
%d(1:6) = 0;
Akio Tsukamoto
Akio Tsukamoto on 31 Aug 2021
ご回答ありがとうございます.お返事が遅くなり申し訳ございません.
コメントアウトしたらエラーせず実行することが出来ました.

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!