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

2 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);

Categories

Find more on File Operations in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!