• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ダイアログベースの3次Spline補間のプログラム)

ダイアログベースの3次Spline補間のプログラム

このQ&Aのポイント
  • Visual C++ 2008 Express Editionを使用して、ダイアログベースの3次Spline補間のプログラムを作成しています。
  • 各節点間を等分割することはできましたが、各区間を同一刻み幅で算出する方法がわかりません。
  • プログラムの一部を示していますが、dnの配列に入ってくる分割数の値に違いがあることがわかります。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

intに変換する際の浮動小数点の誤差切捨てが発生しているのでしょう for(i=0;i<num-1;i++){   dn[i]=(int)Math::Round( (xn[i+1]-xn[i])/dX), 0 );   n +=dn[i]; } といった具合で丸めてみましょう

yf491224
質問者

お礼

早速の回答ありがとうございます。 試してみます^^

yf491224
質問者

補足

あれから、ソ-スコードをいわれたとおり、修正したら無事できました。  小数点のところで、誤差が出ていたなんて思いもよらなかったです。 本当にありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A