Después de dibujar líneas de contorno usando contourf(X, Y, Z, 5) en matlab, ¿cómo calcular el área menor que un cierto valor (o el área entre dos líneas de contorno)?
[c h]=contourf(X, Y, Z, 5); Guarde el ch devuelto al extraer %.
hc=get(h, 'Children'); % Obtiene el objeto de relleno de contorno
n = longitud (HC);
v = zero( n); , 1);
s = cero (n, 1);
Para i=1:n
x=get(hc(i), ' xdata '); % i-ésimo objeto relleno x datos
y=get(hc(i), ' y datos '); =longitud(x);
s(i)=suma((x([2:l,1]) - x).*(y([2:l,1]) +y) )/2; % Calcula el área del I-ésimo objeto relleno
v(i)=get(hc(i),' datos de usuario '); -ésimo objeto Valor válido
Fin
[v m n]=unique(v);%Buscar objetos con el mismo valor
s=accumarray(n, s );% Deletrea sus áreas juntas
v representa la isolínea de igual valor.
s significa que el área encerrada por el contorno es mayor que este isovalor.
Creo que finalmente quieres encontrar el área entre dos valores iguales.
Así, puedes encontrar el área mayor que un determinado valor y el área menor que un determinado valor.
Para las pocas oraciones devueltas por el propio matlab, es relativamente sencillo encontrar el área mayor que un cierto valor equivalente.