matlab拟合的曲线如何求积分面积?

如题所述

S=(L2的曲线积分-L1的曲线积分)
三次样条插值和复化辛普森公式计算:
例如
x0=[0.9 1.3 1.7 2.1 2.6 3 3.2 3.3 3.5 4.0 4.6 5.0 5.5 6.0 6.3 6.6 7.0 7.3 7.8 8.1 8.4 8.8 9.3 9.6 10.0 10.2 10.6 10.8 11.1 11.5 11.7 12.0 12.5 12.9 13.6 14.0 14.5 15.1 15.6 16.1 16.7 17.0 17.5 17.6 17.8];

y1=[6.5 6.0 5.6 5.6 5.0 4.5 4.2 4.1 4.1 3.9 3.6 3.0 3.4 3.5 3.5 3.5 3.4 3.1 3.2 3.4 3.3 3.3 3.8 3.2 2.8 2.5 2.2 2.4 2.6 2.0 2.6 2.9 2.9 3.4 1.5 1.1 1.0 0.7 1.9 1.8 2.2 2.6 2.6 2.7 3.0]; %已知节点(x0,y1)

y2=[6.5 7.3 7.2 7.3 7.7 7.3 7.6 9.9 10.1 10.5 10.2 9.8 9.7 8.8 8.6 8.2 7.7 7.5 7.7 8.2 8.9 8.2 9.7 9.7 9.7 10.0 10.1 10.4 10.3 10.3 10.5 10.5 10.4 10.2 9.6 9.7 8.9 7.9 7.6 5.9 5.8 3.4 3.3 3.2 3.0]; %已知节点(x0,y2)

h=0.1; %产生插值点的步长

x=0.9:h:17.8; %产生插值点x

y01=interp1(x0,y1,x); %计算L1的分段线性插值

y02=interp1(x0,y2,x); %计算L2的分段线性插值

plot(x,y01,'k',x,y02,'r') %分段线性插值作图

z1=trapz(y01)*h %用梯形公式计算L1 的积分
>> y021=[y02(2:2:k-1)];

>> s021=sum(y021);

>> y022=[y02(3:2:k-1)];

>> s022=sum(y022);

>> z2=(y02(1)+y02(k)+4*s021+2*s022)*h/3 %用辛普森公式计算L2的积分
S=(z2-z1) %代入面积推导公式

>> x0=0:1:24;
y0=[0 0 1.01 1.18 0 1.39 1.97 1.33 2.08 1.22 1.09 0 1.01 0 0.9 1.18 1.13 1.05 1.58 0.94 0 0 1.18 1.01 0.9];
h=0.1; %产生插值点的步长
x=0:h:24; %产生插值点x
y01=interp1(x0,y0,x); %计算L1的分段线性插值
plot(x,y01,'k') %分段线性插值作图
z1=trapz(y01)*h %用梯形公式计算L1 的积分

z1 =

21.7000

样条插值
x0=0:1:24;
y0=[0 0 1.01 1.18 0 1.39 1.97 1.33 2.08 1.22 1.09 0 1.01 0 0.9 1.18 1.13 1.05 1.58 0.94 0 0 1.18 1.01 0.9];
h=0.1; %产生插值点的步长
x=0:h:24; %产生插值点x
y01=spline(x0,y0,x); %计算L1样条插值
plot(x,y01,'k') %分段线性插值作图
z1=trapz(y01)*h %用梯形公式计算L1 的积分

z1 =

21.5442
温馨提示:内容为网友见解,仅供参考
无其他回答

matlab拟合的曲线如何求积分面积?
x=0.9:h:17.8; %产生插值点x y01=interp1(x0,y1,x); %计算L1的分段线性插值 y02=interp1(x0,y2,x); %计算L2的分段线性插值 plot(x,y01,'k',x,y02,'r') %分段线性插值作图 z1=trapz(y01)*h %用梯形公式计算L1 的积分 >> y021=[y02(2:2:k-1)];>>...

怎样用matlab对曲线进行积分
如果你是由仪器测得的曲线数据,要看你的采样频率是否高,如果足够高的话,积分实际上就是各个采样点的和,如果采样频率不高,可以先根据采样点进行曲线拟合或多段曲线拟合,再分别对拟合后的曲线方程求积分

如何使用matlab进行拟合、求导、求定积分
1、拟合 根据X、Y1、Y2三个向量,做出其散点图,判断散点图的曲线趋势,自定义拟合函数,使用lsqcurvefit拟合函数,求出其拟合系数,得到 A函数:y1=fa(x)B函数:y2=fb(x)2、求导 使用diff函数,分别对A函数和B函数求导 Dy1=diff(fa,1)Dy2=diff(fb,1)Dy=Dy1-Dy2 3、定积分 使用integral...

matlab中怎么对由两个一维数组绘出的曲线求积分
可以先用ployfit将数据拟合成一个多项式,然后再对这个多项式求积分。不过你这个图形很难用多项式进行拟合,所以该方法虽然简单,但在这不可取。自己编写图形积分m函数。这种方法适合用于数据点很密集的情况,即用两个函数值的平均值代替小矩形的高,在乘以矩形的宽就行。这里给个算法流程。1)n=length(x...

用matlab拟合工具箱拟合函数后,如何求这个函数的积分?
复制拟合结果(拟合函数及系数),写成完整的表达式,然后用int()函数计算积分。函数使用格式 int('f(x)') 求不定积分 int('f(x)',a,b) 求定积分

请教:matlab做拟合曲线,及该曲线的积分曲线和求导曲线!跪求,急!_百...
用curve fitting tool对数据求拟合曲线,然后用符号演算求曲线积分和导数 求得拟合曲线为:a1 = 244.7 ;b1 = 0.002618 ;c1 = 1.046 ;a2 = 264.4 ;b2 = 0.007853 ;c2 = 0.6281 ;a3 = 121.9 ;b3 = 0.01312 ;c3 = 0.6719 ;fx = a1*...

matlab如何求出图形面积?
你可以把数据按横坐标分段,对每一小块做convhull,然后把每一小块的面积累加起来。这样相对简单,凹包算法比较麻烦

matlab拟合离散点曲线
4、拟合得到椭圆参数后,面积S=πab直接计算,主轴和X轴的夹角为拟合得到的数据,而关于椭圆的X最大值对应的X,Y坐标的计算,可以把点取密集一些,直接求最大值,也可以对X求导数,然后解X'=0得到对应的t,再计算X、Y。 参考代码12345678910111213141516171819202122232425262728293031323334353637383940function ...

matlab中怎么拟合函数的曲线?
在MATLAB中拟合函数曲线,可以使用MATLAB软件提供的曲线拟合函数命令,例如线性拟合函数regress()。下面是使用MATLAB进行函数曲线拟合的一般步骤:准备数据。需要注意的是,具体的拟合函数和命令可能会因为不同的MATLAB版本而有所不同。此外,还可以使用其他的MATLAB函数和工具进行函数曲线拟合,例如多项式拟合、非...

matlab拟合曲线并输出公式是什么?
要是多项式拟合的就用p是拟合的结果 f=poly2sym(p)f=3*x^5+5*x^4+x^2+12 要是用lsqcurvefit,就在用subs把结果带入函数就好了。在拟合工具箱里面选择需要拟合的目标函数形式,输出就是那个目标函数的待定参数。例如,如果选择和3次多项式ax^3+bx^2+cx+d,则输出a,b,c,d这4个参数。

相似回答