我有两个相同大小的向量,我想制作第三个相同大小的向量,但第三个向量的值是积分的。
我在origin中做到了这一点,而且非常简单,但我需要在matlab中做到这一点。我将发布示例:
A B C(integrated B over A)
0 0 0
0,041 1812,282 37,15178
0,129 2186,023 213,0772
0,25 2318,906 485,62541
0,407 2141,382 835,75801
0,553 1969,284 1135,83663
0,618 1926,069 1262,4356
0,857 2149,071 1749,41483
1,034 2302,972 2143,42064
1,071 2115,559 2225,16346
1,136 2173,948 2364,57244
1,198 2301,871 2503,32283
1,262 975,241 2608,19041
1,343 0 2647,68767
Matlab 迄今为止的工作:
我试过了
C=trapz(B,A)
并得到结果
C =
-2.6481e+03
最后一个数据点没问题,但我需要一个数据向量。请参阅原始集成中的示例。
问题是: 如何将 B 对 A 进行积分并获得积分值向量?
C = cumtrapz(A,B)
会的。
data = [
0 0 0
0.041 1812.282 37.15178
0.129 2186.023 213.0772
0.25 2318.906 485.62541
0.407 2141.382 835.75801
0.553 1969.284 1135.83663
0.618 1926.069 1262.4356
0.857 2149.071 1749.41483
1.034 2302.972 2143.42064
1.071 2115.559 2225.16346
1.136 2173.948 2364.57244
1.198 2301.871 2503.32283
1.262 975.241 2608.19041
1.343 0 2647.68767]
A = data(:,1);
B = data(:,2);
C = cumtrapz(A,B)
返回:
C =
0
37.1517810000000
213.077201000000
485.625405500000
835.758013500000
1135.83663150000
1262.43560400000
1749.41483400000
2143.42063950000
2225.16346300000
2364.57244050000
2503.32282950000
2608.19041350000
2647.68767400000