Help creating a vector in a loop

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

답변 (2개)

Walter Roberson
Walter Roberson 2019년 10월 2일

0 개 추천

new_vector{i} = linspace(A(i),B(i),25);
Notice the {} instead of ()

댓글 수: 1

linspace(0,1,25).' .* (B-A) + A
No loop needed in this special case of the length of output vectors being consistent.

댓글을 달려면 로그인하십시오.

Andrei Bobrov
Andrei Bobrov 2019년 10월 2일

0 개 추천

n = numel(A);
new_vector = zeros(25,n);
for ii = 1:n
new_vector(:,ii) = linspace(A(ii),B(ii),25);
end

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

질문:

2019년 10월 2일

댓글:

2019년 10월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by