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

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

채택된 답변

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

카테고리

Help CenterFile Exchange에서 ボディ에 대해 자세히 알아보기

태그

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!