MATLAB Answers

curve fitting toolboxで近似した関数の出力

6 views (last 30 days)
信行 平井
信行 平井 on 23 Sep 2020
Commented: 信行 平井 on 24 Sep 2020
curve fitting toolboxを使って点列を読み込み、関数近似を行って、関数を外部に出力したいです。
読み込み、関数近似まではできるのですが、関数(あるいは関数の係数)を外部に出力する方法がわからず困っています。
どなたかご存じの方、お教えいただけると助かります。

  0 Comments

Sign in to comment.

Accepted Answer

michio
michio on 24 Sep 2020
外部に出力するというのはどういうイメージでしょうか?
近似した関数というと例えば
load hahn1
f = fit( temp, thermex, 'rat23' )
whos f
Name Size Bytes Class Attributes
f 1x1 1924 cfit
で作られる f というオブジェクトを連想しておりますが、これを外部というと例えば係数情報を確認したいということでしょうか?もう少し具体的に記載いただけますと助かります。よろしくお願いいたします。

  2 Comments

信行 平井
信行 平井 on 24 Sep 2020
> これを外部というと例えば係数情報を確認したいということでしょうか?
例として、curve fitting toolboxにて、『正弦波の和:項数4』で近似した場合に、
以下のような近似式・係数が表示されます。
係数の確認や、手動でのコピー&ペーストなどは下記の添付画像の部分で可能かと思いますが、これらの式や係数を、excelなどに、(整理して)まとめて出力したい、という意味です。
よろしくお願いします。
michio
michio on 24 Sep 2020
例えば
>> methods(f)
クラス cfit に対するメソッド:
argnames coeffnames dependnames fitoptions integrate numcoeffs probnames type
category coeffvalues differentiate formula islinear plot probvalues
cfit confint feval indepnames numargs predint setoptions
>> coeffvalues(f)
ans =
1.0e+06 *
0.2424 -5.8376 0.0618 0.0103 0.7789 2.1332
>> formula(f)
ans =
'(p1*x^2 + p2*x + p3) /
(x^3 + q1*x^2 + q2*x + q3)'
などで、係数を数値配列として、そして数式を文字列として取り出せますが、まとめて Excel に書き出せばできそうでしょうか?

Sign in to comment.

More Answers (1)

信行 平井
信行 平井 on 24 Sep 2020
ご回答ありがとうございます。
添付画像はcurve fitting toolboxのUIですが、こちらのUI上からはできないでしょうか?

  2 Comments

michio
michio on 24 Sep 2020
そうですね。残念ながら GUI 上ではできない作業ですので、いったんワークスペースにモデルを保存する必要があります。
信行 平井
信行 平井 on 24 Sep 2020
ありがとうございます。
UIからはできないとのこと、承知いたしました。
まずは教えていただいた方法を試みてみます。
試行の際、また不明点などお聞きするかもしれませんが、
ご都合よろしければまた知恵をお貸しいただけると助かります。

Sign in to comment.

Products


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!