Replace certain elements of vector with the values from another vector

Hi.
I could use some help here.
There is a zeros array, where I would like to replace some elements that have certain positions with the values from another vector. So, if I have:
A=[0 0 0 0 0] %Zeros vector
B=[5 6] %values
C=[2 5] %positions of elements in A that should receive a new value from B
How should I get a vector D=[0 5 0 0 6] ?
I appreciate your helping!

 Accepted Answer

A(C) = B

2 Comments

I'm amazed! It's a very elegant solution! In my real case things a bit more complicated, but I think it will work. Thanks a lot, lain!
ok, Now I have one question:
If A=[0 0 0 0 0] and B=[5 6 4] and C=[2 5 2] then how can I get average of two values belong to position 2nd in final answer that menas final answer should like A=[0 4.5 0 0 6]?

Sign in to comment.

More Answers (1)

for i=1:3
x=[1 2 5];
y=zeros(1,3);
y(1:1:3)=1+log(x(i));
end
Please help replace each entry of y by 1+log(x(i)). That is I want y=[0 0 0] changed to y=[1+log(x(1)) 1+log(x(2)) 1+log(x(3))]

Categories

Find more on Function Creation in Help Center and File Exchange

Tags

Asked:

on 21 Nov 2013

Answered:

on 16 Jun 2023

Community Treasure Hunt

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

Start Hunting!