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 次查看(过去 30 天)
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...

采纳的回答

Stephen23
Stephen23 2018-12-17
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).

更多回答(1 个)

madhan ravi
madhan ravi 2018-12-16
编辑:madhan ravi 2018-12-16
a=1:11;
a(1) = somevalue%first element [] square bracket removes that element
a(fix(mean(a))) %mid element
a(end) % last element
  4 个评论
Robert Garneau
Robert Garneau 2018-12-16
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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by