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

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

 채택된 답변

Kojiro Saito
Kojiro Saito 2021년 8월 25일

1 개 추천

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

댓글 수: 4

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

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

추가 답변 (0개)

카테고리

제품

릴리스

R2021a

태그

질문:

2021년 8월 25일

댓글:

2021년 8월 31일

Community Treasure Hunt

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

Start Hunting!