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

如题所述

第1个回答  2019-05-04
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个参数。

相似回答
大家正在搜