Borrar filtros
Borrar filtros

Help creating a vector in a loop

2 visualizaciones (últimos 30 días)
Liam Ryan
Liam Ryan el 2 de Oct. de 2019
Comentada: Walter Roberson el 2 de Oct. de 2019
Hi, I want to create a vector in a loop from two other vectors:
A = [10 14 19 20]
B = [19 34 56 49]
Those two are the vectors at the top which I want to use to make another vector and I want to make a new vector such that it is like element by element operation using the following for loop:
for i = 1:length(A)
new_vector(i) = linspace(A(i),B(i),25)
end
So in the first iteration I want
new_vector = linspace(10,19,25)
since A(1) = 10, so first argument of linspace and B(1) = 19 second argument. But when I try doing this, it says:
Unable to perform assignment because the left and right sides have a different number of elements.
Help out guys

Respuestas (2)

Walter Roberson
Walter Roberson el 2 de Oct. de 2019
new_vector{i} = linspace(A(i),B(i),25);
Notice the {} instead of ()
  1 comentario
Walter Roberson
Walter Roberson el 2 de Oct. de 2019
linspace(0,1,25).' .* (B-A) + A
No loop needed in this special case of the length of output vectors being consistent.

Iniciar sesión para comentar.


Andrei Bobrov
Andrei Bobrov el 2 de Oct. de 2019
n = numel(A);
new_vector = zeros(25,n);
for ii = 1:n
new_vector(:,ii) = linspace(A(ii),B(ii),25);
end

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by