2017-10-17 6 views
1

Je comprends comment diviser un intervalle donné en 'N' sous-intervalles égaux.Comment puis-je diviser un intervalle en longueurs de type chirp croissant/décroissant (MatlabR2014b)?

min_range=a; 
max_range=b; 
intervalcount=N; 
x = (b-a)/N; 
y=min_range:x:max_range 

Mais comment puis-je obtenir des intervalles de «N» de longueur variable. J'ai trouvé un poste connexe How to divide time interval into parts of varying length? mais cette solution est pour le cas de séquence répétitive de longueur d'intervalle.

Je suis à la recherche d'une solution qui retourne mieux 'N' partitions de plus en plus longues pour une gamme donnée i-e longueur (interval_x) Longueur < (interval_ (x + 1)). Les sous-intervalles résultants seront chirp -comme

Répondre

1

Votre exigence que chaque intervalle doit être plus grand que le dernier fait un peu ouvert, car il y a un certain nombre de façons différentes pour satisfaire cette contrainte. Une option consiste à faire en sorte que chaque intervalle soit un incrément fixe plus grand que le dernier (c'est-à-dire que l'intervalle est la largeur w, l'intervalle deux est la largeur 2*w, etc.). Voici un moyen facile d'accomplir ceci avec cumsum:

v = cumsum(0:N); 
y = a+(b-a).*v./v(end);