# Matlab draw diagram
----
### 讀參數方法
```matlab=
%===========================================================
%畫圖 - 端點對端點封包遺失率
%===========================================================
fid = fopen('C:\Users\redbull\Documents\MATLAB\datatxt\delaybeta.txt','r'); % 讀入檔案
% 記得將檔案存放的資料夾新增至MATLAB的預設路徑中 ( Matlab 主視窗 File -> Set Path )
%C:\Users\redbull\Documents\MATLAB\MatlabPlot
%num = fscanf(fid,'%d',1); % 讀入輸入數據的數量(整數)
num = 11;
User = fscanf(fid,'%g',num); % x座標 ( %g 表示讀檔案格式為浮點數 )
nbiot = fscanf(fid,'%g',num); % x座標對應之y座標
Method = fscanf(fid,'%g',num);
old = fscanf(fid,'%g',num);
```
### 讀 \*.xls or \*.xlsx 方法
測試 excel 檔案讀取是否成功
```
xlsFile='test01.xls'; %matlab對應工作目錄下的excel檔名
[fileType, sheets] = xlsfinfo(xlsFile)
```
fileType:印出excel的檔案型態
sheets:顯示檔案中的工作表名稱,index從1開始
讀取 excel 檔案取出sheet的內容
```
xlsFile = 'test01.xls';
B = xlsread(xlsFile, 'Sheet2') % 讀出 'Sheet2' 的全部資料
C = xlsread(xlsFile, 2, 'A2:B4') % 讀出第二個試算表位於 A2:B4 的資料
```
## 畫圖
```
plot(User, nbiot,'b--o'); % plot(x軸,y軸,作圖的顏色與標示圖示)
hold on %保留上一張上面plot的結果
plot(User, Method,'g-*');
hold on
plot(User, old,'r-x');
hold on
axis([0,2400,0,16]); %鎖定x軸與y軸邊界大小
set(gca,'XTick',[0:240:2400]) %x軸範圍0-2400,間隔240
set(gca,'YTick',[0:2:16]) %y軸範圍0-16,間隔2
legend('OPT-NB','Adaptive','Pre-backoff','location','southeast'); %產生曲線說明欄
%set(gca,'XTickMode','manual','XTick',xtick);
xlabel('Number of UEs'); % 水平座標名稱
ylabel('Delay(seconds)'); % 垂直座標名稱
set(gca, 'YGrid', 'on'); % 畫出格線
grid on;
```
[其餘方法參考](http://mirlab.org/jang/books/matlabProgramming4guru/12-1_excelacc.asp?title=12-1%20Excel%20%C0%C9%AE%D7%AA%BA%C5%AA%A8%FA)
[圖片加入說明的語法](https://au.mathworks.com/help/matlab/creating_plots/add-title-axis-labels-and-legend-to-graph.html)
[更多 legend 範例](https://au.mathworks.com/help/matlab/ref/legend.html)
[NTUST G suite 空間申請](https://www.cc.ntust.edu.tw/files/11-1005-6317.php?Lang=zh-tw)
###### tags: `master`, `Matlab`