Red de conocimiento del abogados - Conocimiento de la marca - 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)?

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)?

[X Y Z]=Peak; %Genere un gráfico de distribución gaussiana bidimensional para reemplazar sus datos.

[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.