Error in Using interp1

4 vues (au cours des 30 derniers jours)
ugurcan sahin
ugurcan sahin le 29 Mai 2016
Hello everyone i have an array named 'x' and trying to interpolate it but i am getting an error as "Interpolation requires at least two sample points in each dimension." Here is my code;
x_1 = interp1(0:duration*44100,X,0:1:duration*44100,'linear');
I need to resize x array to (duration * 44100). Any help would be great. Thanks.
  2 commentaires
Geoff Hayes
Geoff Hayes le 29 Mai 2016
ugurcan - what can you tell us about duration and X? It would be interesting to know what duration is so that we can determine the range of
0:duration*44100
and how many elements are in X.
ugurcan sahin
ugurcan sahin le 29 Mai 2016
Modifié(e) : Walter Roberson le 29 Mai 2016
duration is an input which is max 10, for x it is better to show my code
function generate_sound(sigma, rho, beta, vector, duration)
[duration,newvector] = ode45(@lor2,[0,10*duration],vector);
x_0 = newvector(:,1);
y_0 = newvector(:,2);
z_0 = newvector(:,3);
function empty = lor2(duration,vector)
empty = zeros(3,1);
empty(1) = -sigma*vector(1) + sigma*vector(2);
empty(2) = rho*vector(1) - vector(2) - vector(1)*vector(3);
empty(3) = -beta*vector(3) + vector(1)*vector(2);
end
X = x_0;

Connectez-vous pour commenter.

Réponses (2)

Walter Roberson
Walter Roberson le 29 Mai 2016
That code does not show an interp1 ?
If the duration being interpolated over is the output of the ode45 call, then note that it is a vector, not a scalar.
Your X is going to be a column vector: it could make a difference to interp1 to transpose it to be a row vector.

Image Analyst
Image Analyst le 30 Mai 2016
You vectors are wrong, especially the first arg to interp1(). This works:
duration = 2;
X = audioread('guitartune.wav'); % Read sample data.
% Define how you want to resample it
resamplingVector = 1 : (duration * 44100);
% Now to the interpolation.
x_1 = interp1(1:length(X), X, resamplingVector,'linear');

Catégories

En savoir plus sur Interpolation dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by