2014-10-31 2 views
2

Вот участок с 2-х тенденций на нем:интеграции между кривыми

enter image description here

Я хочу найти площадь под черной кривой (черные линии являются частью одного тренда), но выше синяя кривая.

%w = wavelength array, Tf = filter Transmission, Ts = spectrum Transmission 
figure 
plot(w,Tf,'b') 
hold on 
plot(w,Ts,'k') 
+1

Я бы сказал спонтанно: 'дТ = макс (Tf, Ts) -Tf; 'Для quadratur вы можете использовать, например, trapez then: 'area = sum (diff (w). * (dT (1: end-1) + dT (2: end)))/2;' – matheburg

+0

@matheburg Мой мозг жарится сегодня. У вас было решение, но 'trapz' делает вторую половину. :) – chappjc

+0

@chappjc в 'trapz.m' вы, вероятно, найдете линию, очень похожую на мою: P – matheburg

ответ

0

Выберите часть черной линии (Ts), которая находится выше синей линии (Tf) и интеграции (trapz):

d = max(Ts-Tf,0); % or max(Tf,Ts)-Tf; % thanks, matheburg! 
trapz(w,d) 
+0

На самом деле это не место, оно также должно зависеть от 'w' (см. Мой комментарий выше). – matheburg

+0

@matheburg True! Ответили слишком поспешно. Как насчет использования 'trapz'? Это работает? – chappjc

+0

Должно быть одинаково ...;) – matheburg