• ベストアンサー

凸凹曲線グラフをスムージングしてデータに落とす方法

こんにちは。 曲線グラフをスムージングしてデータに落とす方法を模索しています。 実験データのグラフが凸凹で見づらく、それをスムージングして綺麗にしたいです。 視覚化だけならExcelでできそうなのですが、もう一歩踏み込んでスムージング後のグラフをデータ化したいのです。なぜなら解析を行いたいからです。 一々、スムージングしたグラフを見ながら、データを打ち込むのはやってられません。 C言語やC++でプログラムを組んでできるものなのでしょうか。参考urlなどありますか。他にいい方法がありましたらどうぞご教授ください。

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

  • ベストアンサー
  • ki073
  • ベストアンサー率77% (491/634)
回答No.1

スムージングはどのような関数でやられていますか? 多項式の最小二乗法ではなく、スプラインでエイヤッと合わせる程度であればRが便利です。 # テストデータの作成 x=seq(0,10,0.1) y=(x-3)*(x-8)*(x+1)+runif(101)*40 # グラフ化 plot(x,y, pch=20) # スプライン補間 sp=smooth.spline(x,y) predict_sp=predict(sp, x) # 補間データを重ね書き lines(predict_sp) predict_spにはxの点の値が入っています。xを任意の点(ベクトル)とすることで欲しい点の値が得られます。 他にも多項式での最小二乗法などもできます。 参考 http://d.hatena.ne.jp/hoxo_m/20110408/p1 http://logics-of-blue.com/平滑化スプラインと加法モデル/

ryoryoryory
質問者

お礼

御回答ありがとうございます!!!! めちゃめちゃ有益な情報です!!! Rというソフトは知りませんでしたので、とても参考になりました。 Ki073のような方がいらっしゃって、助かります。質問してよかったです。 ファン登録させていただきました。 学生なのでこういう手法の練習をしています。 Urlの情報もとても興味深いです。統計についても勉強となります。 もし、またわからないことがあれば、どうぞ宜しくお願いいたします。

関連するQ&A

  • 学習曲線・経験曲線って?

    学習曲線とか、経験曲線っていう曲線があるのですが、 どういうものなのでしょう?  原理とか算出方法、グラフ描写方法等ご存知の方がありましたら、おしえてください。 参照できるURL等だけでも、お願い致します。         

  • エクセルでグラフが書きたいです。

    プログラミングC言語初心者です。 6000回ほど計算する、あるプログラミングを作りました。そしてその結果をresult.txtというファイルに出力したのですが、このデータを使ってエクセルでグラフを描く方法が分からず困っています。ちなみにX:時間でY:温度です。単純な2次曲線になると思うのですが。どのようにしたら良いのか教えてください、お願いいたします。

  • エクセルの散布図 近似曲線の最大値を知る方法(ウインドウズXP だと思うんですが・・・)

    実験データをエクセルに打ち込み 二つの要素を縦横軸にとった散布図をグラフウィザードで作成しました。 そしてその近似曲線を、次数6に設定し、表示しました。 そこで作成した近似曲線は、式に表せば六次式。 データの系列数はかなり多く、いちいち最大値を計算していては効率が悪いです。 現在、このグラフを縦横に伸ばして補助線・目盛り線の間隔を細かくし、だいたいの値を読む作業をしています。 しかしこれも非効率的かつ正確な値を読めているとも言い難いと感じます。 この方法でも値を求められなくはないと思いますが、もっと効率良く正確に曲線の最大値を知る方法はないでしょうか。 パソコンなのだから、(XY軸で)グラフの最大値とその時のXの値をポンと出す方法が、あっても良いと思うのです。 『散布図』『グラフウィザード』『近似曲線の最大値』などで検索してみましたが、どうも私の目には目的の方法は見つけられず、質問しました。

  • ガウシアンフィッティングのアルゴリズム

    c言語等を用いて実験データの解析を行おうと思っています。 データの形式は(x・・・時間軸、y・・・値)の列になっていて、 これをグラフにすると、パルス状の波形が連続する形になっています。 求めたい情報は、各パルス波形の山に対応する時刻の羅列 なのですが、現在ではガウス曲線近似機能のついたグラフソフトで、 一個一個手作業で求めています。 これを、解析プログラムを作って自動化しようと思っているのですが、 ガウス曲線(鋭い立ち上がりの)に近い部分を自動的に検出する方法、 また、フィッティングを数値計算的に行う方法がわかりません。 このようなアルゴリズムを考える上で参考になるようなHPや文献を ご存知の方がいらっしゃれば、教えていただきたいと思っています。

  • エクセルでグラフの作成

    グラフを作る時に二つのデータを同じグラフ上に出すことはできないでしょうか?たとえば、A列とB列で1データ、C列とD列で1データがあるときに、それぞれ別のグラフで曲線をかくことはできるのですが、その曲線を比較したいので、ひとつのグラフ上に2つの曲線を出すといったようなことです。

  • グラフの曲率から、想定値を求める方法について

    現在ある実験のデータをグラフ化(放物線)しているのですが、その曲線がある時期からは平行になる予定でいますが、 期間短縮の関係で、その曲線(曲率)から、その平行時の値を算定したいのですが、そのような計算の仕方があると聞いたもので、よろしければここで教えていただければと思います。 分かりずらい説明で大変申し訳ありませんが、よろしくお願いします。

  • エクセルの近似曲線で

    エクセルで近似曲線を引きたいのですが、データの中に明らかに誤ったデータがあります。その点を無視して近似線を引くことはできないのでしょうか?普通に引くとすべての点を含めた近似になってしまうので、困っています。その誤ったデータは実験結果としてグラフ上には残しておきたいので消すことはできません。 書きかたがあるのであれば教えてください、お願いします。

  • Excelで作ったグラフで

    実験をして得られたデータからグラフを作ったとして、例えば温度とエネルギーの関係を表す曲線が得られたとします。 その曲線には極値があり、その極値の温度とエネルギーを求めたいのですがどうすればいいのでしょうか? また極値の値を縦軸・横軸に表示させたいのですがどうすればいいのでしょうか?ご回答よろしくお願いします。

  • Excelグラフの利用方法

    Excel2013を使い、近似曲線を作成しました。 この近似曲線の曲線データをグラフ上にプロットしたいのですが、 その方法について、ご教示、宜しくお願い致します。

  • CADデータをイラレに取り込むと曲線が狂ってしまう

    皆様のお力をお貸しいただけないでしょうか。 AutoCAD2009を使いdxf形式で保存したデータをIllustratorCSで開くと、 CADで3次関数のグラフのように描いたはずの曲線が、 バネを伸ばしたような形状の曲線で表示されてしまい困っています。 元の形状を保ちながらIllustratorに取り込む方法はないものでしょうか。 よろしくお願いします。