Clear Filters
Clear Filters

Is there a quick and easy way to insert/delete values into the middle or beginning of a cell array and/or a numerical array

59 views (last 30 days)
I have a cell array and a numerical array. I want to insert values into the beggining, middle and end of the cell array or the numerical array. Is there an easy way to do this.
I also want to be able to delete array elements at the beginning, middle or end of the arrays. Same question...

Accepted Answer

Stephen23
Stephen23 on 17 Dec 2018
Just use indexing:
>> V = randperm(9)
V =
9 5 7 3 4 6 8 2 1
>> idx = 3;
>> val = 0;
>> V = [V(1:idx),val,V(idx+1:end)]
V =
9 5 7 0 3 4 6 8 2 1
Note that this will work for the beginning and end too (try it with idx=0).

More Answers (1)

madhan ravi
madhan ravi on 16 Dec 2018
Edited: madhan ravi on 16 Dec 2018
a=1:11;
a(1) = somevalue%first element [] square bracket removes that element
a(fix(mean(a))) %mid element
a(end) % last element
  4 Comments
Robert Garneau
Robert Garneau on 16 Dec 2018
say we have a 4 element array where
a(1) has value 1
a(2) has value 2
a(3) has value 3
a(4) has value 4
I want to be able to insert a new value in a new location anywhere in the array.
Say I want to insert the value 6 after the second element of the array. The new array would look like (note it now has 5 elements):
a(1) would have value 1
a(2) would have value 2
a(3) would have value 6
a(4) would have value 3
a(5) would have value 4
If i then wanted to delete the second element the new array would then have 4 elements again.
a(1) would have value 1
a(2) would have value 6
a(3) would have value 3
a(4) would have value 4
The array would grow and shrink as i inserted and deleted elements. I know I can do this with multiple arrays. The question is, is there an easier way to do it using MATLAB Functions/abilities.
Thanks
Bob

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!