How can I fill a vector with another one with different size?

7 views (last 30 days)
Hello
I want to fill a vector with another vector with different size. like bellow example, that "fullPath" is 201*1 and "xpath" size is 100*1.
fullPath(1:2:end)=2*(xpath(1:1:end));
I have this error : In an assignment A(I) = B, the number of elements in B and I must be the same.
Could you help me?
Thanks alot

Accepted Answer

Image Analyst
Image Analyst on 25 Jul 2015
Try this:
fullPath(1:length(xpath)) = 2 * xpath;
If you want the left-most elements assigned. Or if you want every other one to be assigned (like it seems like you tried to do), try this:
fullPath(1:2:2*length(xpath)) = 2 * xpath;

More Answers (1)

Mendi
Mendi on 25 Jul 2015
To find the error source run:
length(xpath(1:1:end)) %=100
length(fullPath(1:2:end)) %=101
So change the code to:
fullPath(1:2:end-1)=xpath(1:1:end);

Tags

Community Treasure Hunt

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

Start Hunting!