Add SINGLE element to array or vector

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 件のコメント

Image Analyst
Image Analyst 2022 年 5 月 27 日
@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.

サインインしてコメントする。

 採用された回答

Image Analyst
Image Analyst 2016 年 5 月 12 日
編集済み: Image Analyst 2020 年 10 月 18 日

45 投票

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 件のコメント

Weird Rando
Weird Rando 2016 年 5 月 12 日
編集済み: Weird Rando 2016 年 5 月 12 日
Also, you need to initialise the variable x before your for loop.
x = [];
And inside the for loop you use Image Analyst code.
Pedro GUillem
Pedro GUillem 2016 年 5 月 12 日
Thank you so much!!
Brent Vaalburg
Brent Vaalburg 2018 年 12 月 2 日
How would you add a delimeter to this?
Image Analyst
Image Analyst 2018 年 12 月 2 日
Please state exactly what you'd like as an output. It sounds like you want a string (character array).
Mathi
Mathi 2019 年 11 月 5 日
The above code is working perfectly. Thank you.
Stefano Cardarelli
Stefano Cardarelli 2020 年 3 月 26 日
編集済み: Stefano Cardarelli 2020 年 3 月 26 日
also this works for me, is basically direct indexing:
x(end+1) = newval

サインインしてコメントする。

その他の回答 (2 件)

Dakota Jandek
Dakota Jandek 2020 年 4 月 7 日

2 投票

x = [1, 2, 3]
x(length(x)+1) = 4

2 件のコメント

Adrien Bouguerra
Adrien Bouguerra 2020 年 10 月 18 日
amazing method , really efficient thank u so much Dakota
Image Analyst
Image Analyst 2020 年 10 月 18 日
Or even better,
x = [1, 2, 3]
x(end+1) = 4

サインインしてコメントする。

Youssef AAKAM
Youssef AAKAM 2019 年 10 月 13 日

1 投票

x=[]
x=[x;'ysf']

カテゴリ

ヘルプ センター および File ExchangeMatrices and Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by