Add SINGLE element to array or vector

5,439 views (last 30 days)
I have a vector of the format:
x = [xval(1) xval(2) … xval(n)]
, and I want to add an element to the end, xval(n+1). How do I do that?
  1 Comment
Image Analyst
Image Analyst on 27 May 2022
@Anushalini Thiyagarajan I have no idea what you mean. Please ask your question in a new question (not here) after you read this:
In the meantime, look at input functions such as readmatrix, importdata, dlmread, xlsread, fgetl, etc.

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 12 May 2016
Edited: Image Analyst on 18 Oct 2020
For an existing vector x, you can assign a new element to the end using direct indexing. For example
x = [1 2 3]
x(4) = 4
or
x(end+1) = 4;
where "end" is a special keyword in MATLAB that means the last index in the array. So in your specific case of n elements, it would automatically know that "end" is your "n".
Another way to add an element to a row vector “x” is by using concatenation:
x = [x newval]
or
x = [x, newval]
For a column vector:
x = [x; newval]
  6 Comments
Mathi
Mathi on 5 Nov 2019
The above code is working perfectly. Thank you.
Stefano Cardarelli
Stefano Cardarelli on 26 Mar 2020
Edited: Stefano Cardarelli on 26 Mar 2020
also this works for me, is basically direct indexing:
x(end+1) = newval

Sign in to comment.

More Answers (2)

Dakota Jandek
Dakota Jandek on 7 Apr 2020
x = [1, 2, 3]
x(length(x)+1) = 4
  2 Comments
Adrien Bouguerra
Adrien Bouguerra on 18 Oct 2020
amazing method , really efficient thank u so much Dakota
Image Analyst
Image Analyst on 18 Oct 2020
Or even better,
x = [1, 2, 3]
x(end+1) = 4

Sign in to comment.


Youssef AAKAM
Youssef AAKAM on 13 Oct 2019
x=[]
x=[x;'ysf']

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!