code for computing area by varying the value of y in matrix?

1 次查看(过去 30 天)
For computation of area the value of y1,y2 and y3 are coming from three different same dimension matrix and so I want to compute area of using this code for same matrix dimension as y1, y2 and y3?
x=[7.8 8.25 8.55];
y=[0.96 0.99 0.94];
p=polyfit(x,y,2);
t=linspace(x(1),x(3));
yhat=polyval(p,t);
a1=trapz(t,yhat);
How can I improve code for all 3*3 matrix of given y1,y2 and y3, result will be area a1 of 3*3 matrix.

回答(1 个)

Roger Stafford
Roger Stafford 2013-5-14
This general formula in terms of x1, x2, x3, y1, y2, and y3 gives the exact area under your 'polyfit' curve without the trapezoidal approximation errors introduced by 'trapz'. That is, it is the exact integral from x = x1 to x = x3 of the unique quadratic function which passes through all three points (x1,y1), (x2,y2), and (x3,y3).
a = (x3-x1)*((y1+y2+y3)/3+((x3-x2)*(y2-y1)/(x2-x1)-(x2-x1)*(y3-y2)/(x3-x2))/6);
  4 个评论
RS
RS 2013-5-18
The value of x1, x2, x3 are coming from different matrices how can I read?
RS
RS 2013-5-26
How can I read value of several x point from different matrix which are from different matrix?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Numerical Integration and Differentiation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by