why this error occur ??Index exceeds matrix dimensions.

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

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 MATLAB in Help Center and File Exchange

Asked:

on 12 Dec 2017

Edited:

on 12 Dec 2017

Community Treasure Hunt

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

Start Hunting!