MATLAB Answers

yt12030
1

MatlabFunc​tionBlock内​の計算、変数の桁数確​保

Asked by yt12030
on 1 Sep 2017
Latest activity Commented on by Yoko
on 11 Sep 2017
MatlabFunctionブロックに以下の入力,A・B・vを入れます.
A = 0.03138 B = 4.903 v = 12.5
出力xを以下のよう記述しています. x = 1-v^2*A/B
この計算結果が0になってしまいます.Excel等で計算すると-2.54946*10^-5と微量の値を持っており,プログラムの中で桁落ちが起きていることまではわかりました.
しかし,どう処理させれば桁落ちが発生しないかがわかりません. vpa関数などはMatlabFunctionブロックでは使用できないようです.
また,これを利用していくつかの計算を行わせるため,できればMatlabFunctionブロックを使いたいです.

  0 Comments

Sign in to comment.

2 Answers

Yoko
Answer by Yoko
on 1 Sep 2017
 Accepted Answer

R2017a で確認したところ、下記の画像のとおり、MATLAB Function の出力結果が、-2.549*10^-5 と表示されていました。 同じ方法で確認して、0が出る場合は、確認方法など教えてください。

  0 Comments

Sign in to comment.


yt12030
Answer by yt12030
on 11 Sep 2017

一度MatlabFunctionブロックを削除し,再度配置して内容を記述したところうまく行きました. 消す前のブロックに同じ内容を記述しても0となっていたため,原因はよくわかりませんが,治りました. ありがとうございました.

  1 Comment

Yoko
on 11 Sep 2017
うまくいったようで、よかったです!

Sign in to comment.