¿Cómo generar una nube de puntos con datos acústicos en MATLAB? : Solucionado

Download PDF

Eventualmente se requiere generar nubes de puntos con datos acústicos posicionados en el espacios de manera aleatoria, en particular con distribuciones normales. En el siguiente script se genera una matriz con la data acústica y esta se inserta en otra matriz de mayor tamaño (esto esta explicado en otro post: ¿Cómo integrar una matriz de datos acústicos dentro de otra matriz en matlab? )

clear
clc
close all
% www.ingenieriaacustica.cl
% leonardoparada@gmail.com

%A = randi([1 10],10,10);

n = 100;
%%
nx_aux_1 = 2*randn(n,1);

if min(nx_aux_1) < 0
nx_aux_2     = nx_aux_1 - min(nx_aux_1);
end
nx = floor(nx_aux_2 + 1);

ny_aux_1 = 2*randn(n,1);

if min(ny_aux_1) < 0
ny_aux_2     = ny_aux_1 - min(ny_aux_1);
end
ny = floor(ny_aux_2 + 1);

nube = [nx ny];

[pnube qnube] = size(nube);

A = repmat(NaN,max(nube(:,1)),max(nube(:,2)))

for k = 1:pnube
    A(nube(k,1),nube(k,2)) = 1;
end
figure()
imagesc(A)
title(['matriz de datos acusticos aleatorios'])
axis ij
colorbar
 

B = repmat(NaN,20,30);

[pA qA] = size(A);
[pB qB] = size(B);

centro_B = [floor(pB/2)-floor(pA/2),floor(qB/2)-floor(qA/2)];
 
for j=1:qA
for k=1:pA
    B(k+centro_B(1) ,j+centro_B(2)) = A(k,j)
end
end

figure()
imagesc(B)
title(['matriz de datos acusticos integrados en otra matriz'])
axis ij
colorbar
The following two tabs change content below.

LEONARDO PARADA VALENCIA

INGENIERO ACÚSTICO Estudiante Magister en Gestión Ambiental Desarrollador de contenidos multimedia en www.ingenieriaacustica.cl EXPERTO EN RUIDO AMBIENTAL/OCUPACIONAL - PROTOCOLOS AMBIENTALES APLICADOS EN CHILE: DS38/11 Y PREXOR. EXPERTO EN DISEÑO SONORO Y MÚSICA PARA VIDEOJUEGOS