如何在Matlab中的陣列變數末尾追加新的值

2021-10-11 03:21:58 字數 1539 閱讀 1251

在實際的matlab使用中,遇到了這樣的乙個問題,即在某變數的結尾還需要新增新的變數。

比如一行資料a = [1 2 3 4],那麼如何在4的末尾新增乙個5呢?利用方括號進行矩陣拼接可以解決這個問題。請看下面的例子:

a = [1 2 3 4 ]; % 已有行向量

>> % >>表示實時執行結果

a = 1 2 3 4

a = [a,5] % 利用方括號在a向量的結尾追加新數值5

>>

a = 1 2 3 4 5

若想在二維陣列末尾追加新的一列,該如何實現呢?

a = [1 2 3;4 5 6;3 6 9]  % 建立乙個三行三列的矩陣

>>

a = 1 2 3

4 5 6

3 6 9

b = [10 11 12]; % 要新增到a末尾的資料

a = [a,b'] % 將b轉置為列向量再追加到a的最後一列

>>

a = 1 2 3 10

4 5 6 11

3 6 9 12

結合上面的兩個例子,我們知道了在陣列末尾追加新資料的方法。現在來看看怎麼應用這樣的小技巧。

考慮這樣一種情況:假如有乙個變數位於for迴圈中,中間變數temp會隨著迴圈不斷改變量值,那麼如何用另乙個變數a來記錄下temp的所有數值呢?利用變數追加可以解決這個問題,請看下面的例子:

a = ;  % 預設儲存變數

for i = 1:10

temp = ones(3,1).*i; % 生成3行1列全1資料

a = [a,temp]; % 將每次迴圈的一列資料新增到a中

end>>

a = 1 2 3 4 5 6 7 8 9 10

1 2 3 4 5 6 7 8 9 10

1 2 3 4 5 6 7 8 9 10

>>

temp =

1010

10

綜上可知,方括號可以實現陣列的拼接。除此之外,還有horzcat指令來實現類似的功能,具體的用法大家可以查詢matlab自帶的幫助文件,裡面有非常具體的陣列水平拼接的例子。

horzcat()  % matlab指令名稱

如何在Python中定義變數

我們首先看一下變數的分類,通常情況下,我們所說到的定義乙個變數,如果沒有特殊說明,那麼就是定義乙個全域性變數。全域性變數 在模組內 在所有函式外面 在class外面,這就是全域性變數 區域性變數 在函式內 在class的方法內 未加self修飾 這就是區域性變數 靜態變數 在class內的,但不在c...

如何在matlab的fig中顯示tex公式

matlab帶有latex解析器,能支援latex的各種符號,比如積分符號等等。matlab圖形中title xlabel ylabel zlabel textbox和legend等的interpreter屬性有三個屬性 latex tex none。預設為tex。當鍵入 set text,inte...

如何在makfile中檢視變數的值

在makefile中檢視變數的取值是多少應該是乙個比較麻煩的問題,但是本大神自己研究出乙個十分方便的方法.這個方法十分簡單。現在介紹如下 如果在乙個十分複雜龐大的makefile檔案中,有個地方用到乙個變數src file,你很想知道makefile執行到此處的時候這個變數的值為多少。那麼你可以在這...