
こんにちは。
タイトルの件についてです。
業務で複数の(x,y)のサンプルから、任意のxについてのyを求めています。
具体的には、(1.5 , 3), (2.4 , 5.6) , (7.4 , 6.8).......
のようなサンプルから、x=6.5のときy=?を求めています。
このxyについて、全体を直線の一次式と捉えて、
任意のxについて当てはまる、y=ax+bの式を作成し、
任意のxに対応するyの値を近似的に求める……としているなら、簡単なのですが、
実務上はそうしていません。
上記の例でいえば、例えばx=1.8のときの値を求めるに際して、
①x=1.8は、採取されたサンプルのうち、1.5≦x≦2.4の区間に属することを確認。
②1.5≦x≦2.4の区間については、(5.6-3)/(2.4-1.5)が一次式の傾き。
③3+(1.8-1.5)*(5.6-3)/(2.4-1.5)でx=1.8のときのyを求める。
これが、x=4であれば、2.4≦x≦7.4の区間について、同様のことをしています。
ざっくり言えば、サンプルの値を活かして、折線での線形補間を行っています。
(一次スプライン補間という言い方をするのでしょうか?)
現在、「任意のx」について、それがどの区間に属するかを確認し、
上記の計算を、計算式で行っています。
非常に煩雑です。
これを、xとyのサンプルデータだけ並べたら、
自動的に線形補間された折線のグラフを描画してくれ、
なおかつそのグラフをもとに任意のxについてのyを求めてくれるような、
エクセル関数はないでしょうか?
詳しい方、教えていただければ有りがたいです。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
y=ax+b とした場合、xの値によってa,bを任意に決定して、yを求めたいということですようね?
このような場合、ユーザ定義関数を作成すると便利です。
次の例では、=y(x値のセル) のように、普通の関数と同様に使用することができます。
具体的な実装方法は、以下の通りです。
まず、xの値によってa,bを求めるためのパラメータシートを作成します。
【parameterシート】
A列 B列 C列
1)0 1 3
2)1 2 3
3)1.5 3 3
4)2.5 4 3
A列がxに対する範囲となります。
上記の例では・・・
0≦x<1→1行目が採用
1≦x<1.5→2行目が採用
1.5≦x<2.5→3行目が採用
2.5≦x→4行目が採用
・・・といった具合です。(該当行の値以上、次の行の値未満となります)
B列→aの値、C列→bの値です。
ユーザ定義関数は、以下の通りです。
実際は、a,bの他にも必要なパラメータがありそうですが、それは任意に追加してください。
Function y(x As Double) As Double
Dim a As Variant
Dim b As Variant
Dim I As Long
'xの値で、パラメータシートのA列を検索し、採用すべき行を取得します。
I = WorksheetFunction.Match(x, Sheets("parameter").Range("A:A"), 1)
a = Sheets("parameter").Cells(I, "B")
b = Sheets("parameter").Cells(I, "C")
y = a * x + b
End Function
No.1
- 回答日時:
自分は「散布図」に「近似曲線」を描かせてその「補完式」を表示させ、
その補完式を別のセルに入力してxに対するyの値を求めます。
面倒ですけど、自分にはそのやり方しか分かりません。
・・・
以前、実測した値にばらつきがあることが分かっているデータを元に検量線を近似曲線で示して、
それを元に補正値を決めるなんていう、ちょっと面倒な校正業務をやっていました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 統計学 確率統計の問題です。 3 2022/04/07 04:39
- 数学 3次元実ベクトル空間において, 平面 P:x-y+z+1=0 と直線 L:2(x-1)=-y=-z 3 2022/10/29 14:39
- 統計学 t検定について教えてください 2 2023/02/23 16:35
- 化学 吸光度から検量線、含量の求め方を教えてください。 2 2022/08/11 00:28
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- 宇宙科学・天文学・天気 銀河のハビタブルゾーンを確率的セルオートマトンという数値的にシミュレーションした結果、「群島」の様な 2 2023/06/06 23:10
- Excel(エクセル) エクセルの大きなシートでグラフを見つける 4 2022/07/28 10:07
- 数学 数学?算数の問題です どのような解答になりますか? 2 2022/04/22 04:46
- 数学 数学の問題で法線ベクトルについて 5 2022/11/13 12:45
- 数学 線形代数学の問題です! Vは 4 次元ベクトル空間とし線形変換 f ∶ V→ V のある基底 v1, 1 2022/06/12 09:25
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelが遅くて困っています。
-
エクセル 表の人数を計算したい...
-
エクセルのマクロの組み方に詳...
-
エクセルデータの集計&分析を...
-
エクセルのマクロで上のセルの...
-
エクセルのセルで整数のみ選択...
-
名前(平仮名)を数字に変換する...
-
半角の引用符 “ ” の打ち方
-
キーボードで英数字の半角と全...
-
エクセルで空白を無視して一番...
-
エクセルの挿入図形で文字が隠...
-
半角英数で「¥」を入力したい...
-
Ctrlを押していないのに常に押...
-
キーボードの感度が良すぎて困...
-
全角で入力してください。 ...
-
「“」と「”」について
-
Ctrl+Cだけがなぜか使えません…。
-
EscがHelpに化ける
-
ダイヤログのキーボードでのチ...
-
.wmaの音楽ファイルを .mp3に変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで、条件をつけて人数...
-
エクセルのセルで整数のみ選択...
-
エクセルの一覧からカードを作...
-
エクセル 表の人数を計算したい...
-
エクセル集計ひと月を4週に分...
-
エクセルの範囲指定について
-
excel VBA コピーした行を、指...
-
エクセルで複数行に渡ったセル...
-
A3やB4のA,Bって何かの略ですか?
-
別シートへの転記の構文について
-
エクセルマクロでの消費税計算...
-
エクセルVBAで値だけをコピーペ...
-
エクセルで参加者一覧表から参...
-
AdvancedFilterを使って値のみ...
-
とびとびの大量セルを選択した...
-
エクセルで一次線形補間する方法
-
エクセルで住所一覧から都道府...
-
エクセルでテキストからコピペ...
-
VBAマクロを使って給料明細を作...
-
EXCELでコード別の数量・金額を...
おすすめ情報