integrating equations obtained from polyfit

6 ビュー (過去 30 日間)
davood
davood 2014 年 1 月 14 日
コメント済み: Bjorn Gustavsson 2014 年 1 月 15 日
Hello,
I have an equation to integrate:
exp(thata(x)-1)*y_f(x)
But I used polyfit to get the theta and the y_f, so i have two vectors. but I want the equation version of the fit, so that I can put it on the integral equation. how can i use those two vectors to be able to compute that integral?
If someone knows how to do this, I'd appreciate the help!
thank you

採用された回答

Bjorn Gustavsson
Bjorn Gustavsson 2014 年 1 月 15 日
Well, either you can hope that your function exp(theta(x)-1)*f(x) has an explicit integral (which might be a stretch) and build yourself a symbolic version of the function and then try the integration-power of the symbolic toolbox. Or you could go with matlabs quadrature functions:
quadgk(@(x) exp(polyval(theta_p,x)-1).*polyval(f,x),0,x_star)
That should work provided your function isn't too obscure.
HTH
  2 件のコメント
davood
davood 2014 年 1 月 15 日
thank you so much. i checked, it seems that my function does not have an explicit integral. using quadgk is great, but it gives me:
(the value of the integral at x_star)-(the value of the integral at 0)
but i only need the value of the integral at x_star. can i do anything about it?
Bjorn Gustavsson
Bjorn Gustavsson 2014 年 1 月 15 日
I don't know how to calculate a unique value of an integral at one point only, primitive functions typically have a constant-of-integration, for example f(x) = x^2 -> F(x) = x^3/3 + C. Maybe something is missing in your problem description?

サインインしてコメントする。

その他の回答 (1 件)

Mischa Kim
Mischa Kim 2014 年 1 月 14 日
編集済み: Mischa Kim 2014 年 1 月 14 日
trapz(x, exp(theta_x - 1).*y_fx)
where theta_x and y_fx are your two vectors.
  2 件のコメント
davood
davood 2014 年 1 月 15 日
Hi, thank you so much for the help. I'm still a little confused, though! i want to integrate that equation and then find it's value at x_star, where x_star is a constant. it seems that using trapz computes the integral numerically and does not result in an equation, which then i can find it's value at x_star. do you know how can i do this?
Mischa Kim
Mischa Kim 2014 年 1 月 15 日
OK, but that's really a different question from the one you asked. In general, there is no way to "come up" with a reliable symbolic equation based on numeric data points. And you need a symbolic equation to be able to evaluate it at a certain x_star value.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeNumerical Integration and Differentiation についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by