【Matlab】你想知道在图表标题中显示变量的一切
1.Introduction
有時在利用Matlab輸出結果時,會通過作圖(Figure),和做表(Excel)來完成。并且經常需要在標題中顯示一些變量,比如下圖,那么這是怎么實現的呢?能不能顯示數組呢?
2.Materials and methods
不難發現,所謂標題其實是一個 字符串,其中有字母也有數字。那我們只需要把字母和數字拼接在一起就好了,下面試一下:
a = ['abc','d',num2str(56),'g',num2str([1,2])] b = strcat('abc','d',num2str(56),'g',num2str([1,2]))
可以看到使用 strcat 函數,和使用 [ ] 進行拼接效果是一樣的,其中數值型變量需要通過 num2str 轉化為字符型。
在使用 num2str 函數時,如果是輸入數值是行向量的話,輸出是一個字符串,其中每兩個字符之間會有兩個空格;如果是列向量的話,每個數值轉化成單獨的字符;如果是矩陣的話,同理。具體看下面輸出吧:
所以如果你要拼接的數值變量的列數>1的話,就不能用 [ ] 進行拼接,此時采用 strcat 的話,會生成多個字符串(每行一個),如下圖:
好了,基礎知識鋪墊完畢(廢話說完了),圓規正傳,生成圖表標題:
3. Results and discussion
看看結果~
這里注意,在生成表標題時,要把字符型轉為 元胞型!也就是 {a},不然寫入Excel時,字符串中的每個字符都會單獨占一個單元格。
但是,當我們真的需要 二維數組結合字母 顯示到標題,怎么辦呢?
首先還是生成字符串,用上面講的 strcat,然后再放到圖表標題上,代碼如下:
a = strcat('abc','d',num2str(56),'g',num2str([1;2])) title(a) xlswrite('a.xlsx',cellstr(a))可以看到,圖和表標題均成功顯示。這里注意,將字符型轉元胞型時,如果是字符型矩陣的話,需要通過函數 cellstr 來實現,不能像上面直接加中括號了,即 {a} 。
廢了這么大勁,好像實現的功能有點雞肋~ 下面放一個我曾經用過的圖標題展示方案吧,圖標題換行+矩陣顯示,應該還是有用的:
a = {['第一行',num2str(1)],['第二行',num2str(2)],num2str([1,2;3,4])} title(a)
換行方式,如上面的代碼所示,即 { [ ] , [ ] },其中,數值矩陣轉為字符型后直接顯示原格式,有幾行就顯示幾行,不用手動換行。
4. Conclusion
以前每次寫圖表標題時,都要重新查一下語法。這次總結后,以后應該再也不用面向百度編程了。
誒?我以后好像也不怎么用Matlab了。
猜你喜歡:👇🏻
?【Matlab】定義順序增加的字符串數組(A1,A2 … An)并寫到Excel的第一行
?【Matlab】parfor并行運算如何顯示進度條?
?【Matlab】如何把數組矩陣寫入txt文件?并用逗號或空格隔開
總結
以上是生活随笔為你收集整理的【Matlab】你想知道在图表标题中显示变量的一切的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 易混淆知识点(3):b和strong的真
- 下一篇: 树莓派vnc用法 linux,怎样使用V