• ベストアンサー

線形補完について

添付画像のようなグラフデータのデータの線間を補正する場合、どのような方式が誤差なく求められますでしょうか? 条件としては、 横軸のデータは等間隔で0から始まり、255点数があります。 縦軸は可変間隔でその範囲は0から255です。 点間に9点補完して増やし、2550点にしたいと考えております。 (速度的誤差的に問題がなければ点間を100点増やすかもしれません) スプライン曲線や凸関数というものを使えばよいのかなとぼんやりですが認識しています。 参考になるホームページ、書籍、プログラムコードなどがあればご教示いただけませんでしょうか? 以上よろしくお願いいたします。

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

  • ベストアンサー
  • FT56F001
  • ベストアンサー率59% (355/599)
回答No.4

まず,元のデータをグラフに描いて,部分ごとに大きく拡大し,どのくらい誤差を含んで暴れているか, それに対して,どこまで精度を出したいか/出せそうかを考えてください。 (1) 元のデータの誤差は小さそうだ。誤差はないと思って,元のデータ各点の上を通り,それらをつなぐ曲線を引く。 (2) 元のデータは,整数値に丸めたことによる量子化ノイズを含む。さらにランダムな測定ノイズも含む。 これらを除去して,元のデータ以上に精度がある近似曲線を引きたい。 すなわち,元のデータ点ひとつひとつの上を通るのではなく,それらを平均的に通る曲線を引きたい。 (1)なら比較的簡単です。(2)になると,ノイズを取り除く何らかの手続きが必要です。 (2)をやるとなると,例えば, 8~16点毎(?)くらいの区間に区切って最小二乗法で多項式近似する。ただし隣接区間となめらかにつながる条件をつける。 といった方法になろうかと思います。

uno326
質問者

補足

なるほど・・・ 量子化ノイズについてはサンプリングを細かくすることで対処しようと思います。 ランダムな測定ノイズについては何か特性がないか検討してみます。 問題が整理できてきたと思います。ありがとうございますー

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

その他の回答 (4)

回答No.5

元のデータ(縦軸,横軸)は数値データの表として与えられているのでしょうか? ⇒ yes その表には何桁の精度がありますか? ⇒ 元のデータは、2元で0~255までの256区分 ひょっとして0から255の整数値ですか? ⇒ yes  ~~~~~~~~~~~~~~~~~~~~~~~ その(x、y)の256組の元データを、各組の間に9組のデータを補間/補完するというのは、あえて、元データの数倍も虚偽データを追加することではないですか。 データを補間/補完すれば、補間/補完しただけ誤差を大幅に増加することになると思います。   元の(x、y)の256組の元データが、何かの現象の測定値であることが確かならば、その現象の理論をベースに測定値以外の部分を補完/補間したり、測定値そのものも誤差を含むものとして補正するようなこともあるかもしれませんが、そのような方法は一般論はないと思います。   仮に(xが経過時間とし、yが電圧値)とし、それを256点で示したものとしても、この測定タイミング以外では、瞬時値が突発しているか、あるいは正弦波が重畳しているか、あるいは示されたグラフの線間を単に3次スプライン曲線でスムージングしたものに似ているかは、まったくわかりません。  ~~~~~~~~~~~~~~~~~~~~~~~~ 合理性もないのに、データを補間する理由がわかりません。 例示されているグラフは十分にスムーズなので、補間が必要と思いません。

uno326
質問者

補足

すみません。例示のグラフはあくまでも例で実際はノイズが存在します。 たとえば、3次スプライン曲線で保管するにしてもランダムな測定ノイズを取り除くような処理をしたものに行わなければ正確とは言えないという風に理解しました。 ランダムな測定ノイズの特性を関数かできないか調べてみます。 その上でここにあがった線間補正の方法をためしてみようと思います。

全文を見る
すると、全ての回答が全文表示されます。
  • FT56F001
  • ベストアンサー率59% (355/599)
回答No.3

元のデータ(縦軸,横軸)は数値データの表として与えられているのでしょうか? その表には何桁の精度がありますか? ひょっとして0から255の整数値ですか? (そうだとすると,量子化誤差を取り除く工夫が必要になります) グラフを拡大して見たとき,きれいに滑らかに増加していますか? それとも,微小なランダムノイズを拾っていますか?

uno326
質問者

補足

はい、0から255の整数値です。 はい、微小なランダムノイズを拾う場合も想定しています。条件としての指定漏れでした、失礼いたしました。

全文を見る
すると、全ての回答が全文表示されます。
  • FT56F001
  • ベストアンサー率59% (355/599)
回答No.2

どの程度の精度が必要かによります。 横軸に255点もの点があるなら,単純に隣接2点間を直線補間する, すなわち255点を折れ線で結んだとしても,カクカク折れ曲がった変なグラフにはならないでしょう。 隣接する数点から,スプライン補間などすれば,より精度は上がりますが, そこまでしなくてよいような気がします。

uno326
質問者

補足

計算に時間がかかったとしても、可能な限り高精度のデータを求めています。 よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。
  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.1

こういうのとか? http://www.cannula.jp/hokan.html その点列の理想的な曲線というのは関数で与えられているのでしょうか?なにで補間するのがいいのかというのはそのデータを扱う世界で文献として発表されていないのでしょうか?縦軸と横軸の関係から線形関係に変換できるなら線形で補間するのが簡単だと思います。

uno326
質問者

補足

URLありがとうございます。 理想的な曲線の関数は与えられておりません。 もしかすると文献があるのかもしれませんが探し方が悪いのと、数学的な知識が乏しくわかるところから手をつけていこうと思っています。 少しづつですが自分で調べながら理想的な方法を模索しています。 ここでの質問だけで答えが見つかるとは思っていませんが識者の方のアイデアをお借りできればと考えております。他力本願ですみませんm(_ _)m

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

関連するQ&A

  • エクセルのグラフの読み取りについて

    例えばエクセルで横軸を1、5、10・・・50と5間隔で取り、それぞれの値を縦軸にプロットした曲線グラフを作ったとします。 この場合x=4やx=7の時等実際にデータがない数値の時のyの値をグラフから読み取るのにいい方法はないでしょうか?今のところ、グラフ目盛りを小さくして拡大して目で見ていくしかないのですが。近似曲線を引いて値を代入するだけだと、誤差がかなり出てしまいますし。 どなたか教えてください。

  • エクセルのグラフの作り方で質問です!

    今度発表があるので、データまとめにエクセルを使っています。 そこで分からない点があったので質問致します。 点グラフで数値の推移を表すグラフを作りたいのですが、表グラフでまとめた数値通りの横軸のデータに対して縦軸のデータ数値が来てほしい場合はどのようにすればよいのでしょうか? 図も付けましたが、例えば、横軸が日付、縦軸にある数値を入れたグラフを作るに当たり、点グラフを作りますと、横軸の日付が省略(設定での~日間設定)どおりに出て来てしまうのです。日付は規則正しい間隔のデータではないため、毎日続くときもあれば、2週間次のデータだったりなので、1/1はこの数値、1/2はこの数値1/17はこの数値という風に表すことは可能なのでしょうか? 自分のあまりのエクセルへのセンスの無さと説明不良を御容赦下さい。

  • シンプソンの法則について

    数値積分において代表的な方法として台形積分とシンプソンの法則の2つがあります。 実際に、両者の結果を比較しています。(ある閉区間の積分) 離散点の間隔をどんどん小さくすると、精度が向上するのですが、 ある程度小さくなると、 間隔を小さくする→精度が上がる の法則が成り立たなくなります。 横軸に離散点の数、縦軸に誤差のグラフをとると、 誤差が振動してしまいます。 ところが、同じ条件で台形積分をすると、 振動せずに誤差は小さくなりつづけます。 これは丸め誤差の影響か?と考えているのですが、そうなのでしょうか?

  • エクセルのグラフ作成について

    エクセルでグラフを作っています。 作っているグラフは縦軸「応力」、横軸「ひずみ」のグラフなのですが、問題は近似曲線が描けないことです。 横軸の「ひずみ」には「行き」「戻り」の二つの系列があります。 その二つで、プロットの形は変えたいので系列を同じにすることはできません。 しかし、描きたいのは「行き」「戻り」を合わせた近似曲線です。 「行き」「戻り」で別々に近似曲線を描くことはできるのですが、 合わせた近似曲線を描くことができません。 使っているソフトはOffice XP professionalです。 説明不足な点があったら補足しますのでよろしくお願いいたします。

  • エクセルでグラフを作る

    エクセルでグラフを作っているのですが、 方法がわからず、困っていることがあります。 簡単に言うと、 横軸が1,2,4,5・・・・の時の 縦軸の値はわかっているのですが、 横軸が3の時の縦軸の値がわからないので 入力しないままでグラフを作成すると、 横軸が1,2,4,5・・・・が等間隔で並びます。 これをなんとかして、横軸に3を含ませて、 その時の縦軸の値を周りの値から予想させて グラフを作りたいのですが、それはできませんか? 表をいじくらなければ、それはできないのでしょうか?

  • Microsoft Excelの分散グラフについて

    Microsoft Excelの分散グラフでは中間点を滑らかな曲線で繋ぐことができますが、どのようにして描いているのでしょうか。横軸の任意の値における縦軸の値を求めたいのですがどうのようにすれば可能なのでしょうか。 あわせて、作図用のオートシェイプの自由曲線はどのようにしてえがいているのでしょうか。

  • Excelグラフの軸

    エクセルでグラフをつくろうとしています。 添付した画像を見ていただきたいのですが、 縦軸はD列、横軸はC列の値にしたいと思っています。 縦軸はいいのですが、 横軸で、値と、グラフの間隔がおかしくなってしまいます。 例えば、一番右の1と0.62の幅と左の0と0.02の幅が同じになってしまいます。 これはどのようにすればきちんとした間隔にすることができるのでしょうか。 教えてください。よろしくお願いいたします。

  • RC回路の直流特性について

    可変抵抗器で抵抗値を変化させるとなぜコンデンサの両端電圧が描く曲線が変化するのですか?(これにはグラフがあって横軸に時間t、縦軸に電圧)回路ではどんなことが起こっていますか? 予想では抵抗を上げることで電圧が上がり半減期の時間が伸びるということなのではないでしょうか?

  • エクセルのグラフ

    エクセルのグラフを縦軸・横軸のデータで1つ作った後、そのグラフにもう一つの縦軸・横軸のデータのグラフを追加したいときはどうすればよいでのしょうか? 意味がわかりづらくてすみません。

  • Excelで作ったグラフで

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