How to remove values from a data set to make it a specific length?

3 vues (au cours des 30 derniers jours)
Alfredo Scigliani
Alfredo Scigliani le 20 Avr 2022
Commenté : Dyuman Joshi le 30 Oct 2023
I will explain myself better:
If I have
xdata = [ 1 2 3 4 5 6 7 8 ]
ydata = [ 1 2 3 4 5 6 ]
if I want to plot(xdata,ydata) it will say that the vectors must be the same length and I cannot plot it. Instead of going to my specific data set and manually deleting values, I would like xdata to have the same length as ydata. Somehow deleting those values, making them = [ ], so that both of them have the same length.
  3 commentaires
Voss
Voss le 30 Oct 2023
xdata = [ 1 2 3 4 5 6 7 8 ];
ydata = [ 1 2 3 4 5 6 ];
% n is the minimum of {number of elements in xdata, number of elements in ydata}
n = min(numel(xdata),numel(ydata));
xdata_new = xdata(1:n);
ydata_new = ydata(1:n);
Dyuman Joshi
Dyuman Joshi le 30 Oct 2023
@Suuz Schouten, if you go through Voss's answer below, you will find the logic (and implementation as well) for that.

Connectez-vous pour commenter.

Réponse acceptée

Voss
Voss le 20 Avr 2022
If that's what you want to do
xdata = [ 1 2 3 4 5 6 7 8 ];
ydata = [ 1 2 3 4 5 6 ];
% n is the minimum of {number of elements in xdata, number of elements in ydata}
n = min(numel(xdata),numel(ydata));
% plot the first n elements of ydata vs the first n elements of xdata
plot(xdata(1:n),ydata(1:n))

Plus de réponses (0)

Catégories

En savoir plus sur Function Creation dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by