why this error occur ??Index exceeds matrix dimensions.

1 view (last 30 days)
i want to convert one vector(u) to two vector (u1) and (u2);
n=401;
for i=1:n
u1(i)=u(i);
u2(i)=u(i+n);
end

Accepted Answer

KL
KL on 12 Dec 2017
Edited: KL on 12 Dec 2017
You can easily access those elements just by accessing thier corresponding indices but you should make sure you accessing elements that exist.
u = rand(1,801); %dummy data
n=401;
u(1:n)
u(n+1:end)
As you see, I've used end to access until the last element. It's equivalent to writing, u(n+1:numel(u)).
Do not create extra variables and it would only make your program prone to bugs.
  2 Comments
Mohamed Eshag
Mohamed Eshag on 12 Dec 2017
it is work now ,thanks and if I want to use for loop ,do you have any idea?
KL
KL on 12 Dec 2017
Edited: KL on 12 Dec 2017
if I want to use for loop ,do you have any idea?
What exactly are you trying to do? You probably won't even need a loop.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!