在實際的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執行到此處的時候這個變數的值為多少。那麼你可以在這...