関数を作りたいのです。方法や参考となるサイトを教えてください。

考え:波形は複数の波形の合成でできている。ならば、あるイメージの波形(例えば「3つの山(順番に高くなる)の後はしばらく平坦で、次に小さな谷があり、また平坦で」これが繰り返されるような波形)を何か与えます。その与えたイメージに多少近似する(少し似ている程度でよい)合成関数をどう策定するのか
この考えを進めていくのに参考になるようなサイトがあったらお教えください。
サイトでなくても、ある種のアプリケーションでそうしたこともできるものがあるなら、教えてください。
最初に与えるイメージは、手書き画像、線画、軌跡などどれでもかまいません

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2006/08/15 08:47:46
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答7件)

id:imo758 No.1

回答回数121ベストアンサー獲得回数19

ポイント37pt

失礼を申し上げるようですが、質問内容が不明瞭かと思われます。

http://ja.wikipedia.org/wiki/%E9%96%A2%E6%95%B0_%28%E6%95%B0...

Wikipedia - 関数 (数学)

集合論的立場に立つ現代数学では、ディリクレのように関数を対応規則 f のことであると解釈する。

ですから、全てのxに対するyの値を記した巨大な表も、関数(を表したもの)と言えるのです。

「『3つの山(順番に高くなる)の後はしばらく平坦で、次に小さな谷があり、また平坦』が繰り返されるような波形」という例ですが、まず繰り返しでxの値を区切り、その中で「最初の山、真ん中の山、最大の山、しばらく平坦な部分、小さな谷、また平坦」の六つの部分に分割して関数を定義することもできます。

===========================

hathiさんの求めているものを想像しながら回答するに、恐らく

■1.何を以って(多項式、三角関数、指数関数など。また定義域にどういうものが使えるか)

■2.何を近似し(周期関数、非周期関数など)

■3.何で近似を評価するか

を明確にすることが、質問をする上で不可欠でしょう。

例えば■1.三角関数で■2.周期関数を■3.近似度をL2空間で評価する場合は

http://ja.wikipedia.org/wiki/%E3%83%95%E3%83%BC%E3%83%AA%E3%...

フーリエ級数となります。

=============================

他には、Excelのような近似機能のある表計算ソフトを用いて、イメージをデーター列で与えておいて、ソフト固有の近似機能を用いて計算させる方法があります。ただこの場合も■1.~■3.は選択する必要があります。

また具体的な方法は表計算ソフトのヘルプを近似で検索して下さい。或いは

http://www.ics.kagoshima-u.ac.jp/edu/katuyoukiso/excel/excel...

http://szksrv.isc.chubu.ac.jp/lms/lms7.html

が参考になるかと思います。

id:hathi

ありがとうございます。 ご指摘はもっともです。

近似と言ったために、厳格なことになってしまったのですが、何かの関数で一見似たパターンを描けるものを得たいということです。

3山平原川平原という断面図を手書きでなく関数で描きたい、あるいは脈波に似たような波形を描くというのが希望です。

 http://www.omron.co.jp/press/2005/h0901.html

欲しい曲線を区間に分け、適当に区切って、該当区間に似た撒布図ができるようにデータを作り、EXCELグラフで近似線追加してータを作り、式を得る。

その区間毎の式を、Baku7770さんが教えてくださった、スプライン関数で……… ということになるのでしょうか。

ちょっと大変そうなので、………

何か方法がないものかと、お願いしている次第です。

2006/08/10 14:59:07
id:Baku7770 No.2

回答回数2832ベストアンサー獲得回数181

ポイント37pt

 文系の方ですか?一体何をされたいのかが判らないのですが。

 実験データを補間したいならスプライン関数しかないでしょう。波形が既知なら区分を調整することでいい波形を作れます。

 で、近似関数が知で、そのパラメータを求めたいのならSALSを使うのが理系の大学では一般的です。

参考までに

id:hathi

そうです、きっとこの示されている方法が良いのだとは思うのですが………

ご推察の通り文系ですが、

したいことは、imo758さんの回答に返事として加えました。

2006/08/10 14:59:05
id:zussy No.3

回答回数30ベストアンサー獲得回数1

ポイント23pt

Grapesオススメしておきます。

http://www.osaka-kyoiku.ac.jp/~tomodak/grapes/index.html

id:hathi

まだ使い方がわかりませんが、グラフを画くとか、式を視覚化するもののようです。

ある関数を決めたときの確認用途で使うのに

便利そうだと思います。

ありがとうございました。

2006/08/10 14:59:00
id:Kumappus No.4

回答回数3784ベストアンサー獲得回数185

ポイント37pt

波形は複数の波形の合成でできている。

…ので、フーリエ変換を使って正弦波の合成として表現する…というのが一番手っ取り早いと思いますが…。

例えば

http://www.geocities.co.jp/AnimalPark-Shiro/1620/

http://homepage2.nifty.com/kirislab/chap5_mri/fourierConv.ht...

(hathiさんの過去質問見てるとボルツマン定数の話とか出てるんで「これぐらい知ってるよ、なめてんのか!」と思われたらすみません…)

例えば波形をグラフ用紙に書いて通過した点の座標を拾って

http://www.vector.co.jp/soft/win95/edu/se136950.html

こういうので処理すれば結果が出ます。

id:hathi

やりたいことのイメージはhttp://www.vector.co.jp/soft/win95/edu/se136950.html]

近いと思います。

このソフトの出力をどのように見て使うのか………

誠に情けないですが

勉強してから 考えます

2006/08/10 14:58:57
id:KazuhisaNagata No.5

回答回数87ベストアンサー獲得回数4

ポイント28pt

それはフーリエの変換そのものですね。

Wikipediaのフーリエ変換に概略が、このページにも概略が図付きで載ってます。また、大学の(数学では)解析学の教科書や(物理で)物理数学や波動・振動と名前がついている教科書を読めば詳しいことが載っています。

この回答で参考になりますでしょうか?

id:hathi

ありがとうございます。

今回、グラフを作る関数を即物的に求めていたので、(ごめんなさい)

勉強はパスしています。

2006/08/10 14:58:54
id:apr-25 No.6

回答回数200ベストアンサー獲得回数3

ポイント18pt

http://www.cam.hi-ho.ne.jp/kai-home01/

フラクタルによって描画してみては?

上記URLでフラクタルの描画ソフトのダウンロード等もできます。

id:hathi

ありがとうございます。

今回の目的とはやや違うようなので………

2006/08/10 14:58:53
id:Baku7770 No.7

回答回数2832ベストアンサー獲得回数181

ポイント17pt

 

 状況がまだ不明なので、「ファイナル・アンサー」ではありません。

 そういったことでしたら、スプライン関数で充分と考えます。

 

 例えば、Excelで使いたいのであれば、シェアウェアはあると推測しています。このサイトはダウンロードできませんが、スプライン関数は私が知った時点で1978年頃ですから、書籍なり、シェアウェアなり見つかると考えます。

id:hathi

皆さんに お礼

ご協力ありがとうございました。

スプライン関数の扱いは、まだわかっていません。

現時点では目的としていたスムーズな線を描く方法はわかりません。

しかし元々目的としていたのは『ある規則性(特殊な変動をする)+ランダムなノイズ』のデータの創成だったので、区間を適当に区切りながら、(それぞれの規則性+ノイズ)を時系列につなげることで、達成することにしました。

試したところ、ノイズのウエートが大きければ、区間接続の接点の不都合は気にならない程度になるので、これでやることにしました。

2006/08/15 08:42:56

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません