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

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

 Accepted Answer

Kojiro Saito
Kojiro Saito on 25 Aug 2021

1 vote

手順5では、例の一番下にあるモーダル減衰行列の計算で定義されたローカル関数computeModalDampingMatrixを使いますので、この関数が定義されていないとエラーになってしまいます。
関数の定義はMATLABドキュメント「function」にあるように、R2016b以降ではコマンドウィンドウではなくスクリプト(またはライブスクリプト)に記述する必要があります。
一番簡単なのは、ドキュメントの例をそのままライブスクリプトとして開くことです。
openExample('sm/ExcavatorDipperArmAsFlexibleBodyExample')
これを実行するとExcavatorDipperArmAsFlexibleBodyExample.mlxというファイルが作成され、computeModalDampingMatrix関数が末尾に記述されています。
後はライブスクリプト上で実行を進めば手順5も問題なく実行できます。

4 Comments

Akio Tsukamoto
Akio Tsukamoto on 27 Aug 2021
ご回答ありがとうございます.送っていただいたものをスクリプトで開いたものはうまくいったのですが,実行して作成したファイルに自分で使用したいstlデータを入れて送っていただいたコードの1行目を書き換えて実行してみたのですが,添付の写真のようなエラーが発生してしまいました.2つ目の画像の100行目がエラーしてしまっているようです.自分で可とう体モデルを作成したい場合コードのどの部分を書き換えれば良いでしょうか?ステップ1のstlファイル名とステップ2のインターフェイス座標系以外に変更すべき点があれば教えていただきたいです.よろしくお願いいたします.
Akio Tsukamoto
Akio Tsukamoto on 27 Aug 2021
いま調べてみたところ差し替えた自分のstlデータが100行目のコードの条件を満たしていないためエラーが出ているようです.この条件を満たすように変更するためにはどこを変更すれば良いでしょうか?
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)

Products

Release

R2021a

Tags

Community Treasure Hunt

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

Start Hunting!