# 字串串聯
如果要將兩個字串串聯在一起可以使用方括弧
```
fitst='brid'
last='house';
[first last]
ans = Birdhouse
```
strcat函數會刪除尾隨空格
```
b = brkanks(4) #可以增加空格 如果是(brkans()')轉字的話變成換行顯示
```
```
sprintf #函數用於創建格式化字串
sentl = sprintf('the value of pi is %.2f,pi')
```
h2h1程式中的%.2f
deblank函數會刪除字串末尾的空格
strtim 函數會刪除前導空格 和尾隨空格 但字串中的空格不會刪除
upper lower 可以用來變更大小寫
比較字串 字串相同 返回true 則false
strcmp 函數會逐字比要將字串 檢查字串是否完全相同
回傳值 1=true 0=false 會因為大小寫差異而會回傳false
strcmpi 會忽略大小寫
strfind 函數 可以尋找字串中需要找的目標字串,是否包含指定字串並且顯示開始位址
```
strfind(string,substring)
strfind('abcde','d')
ans = 4
strfind('abcdeabcdedd','d')
ans = 4 9 11 12
```
strrep 函數用新字串 替換字串中的子字串
```
strrep (string,oldsudstring,newsudstring)
```
strok 可以將字串切成兩段
```
[word,rest]=strtok (sentencel,l) sentencel='hello there'
word =
He
rest =
llo there
```
ischar() 字串是否為文字
isletter()字串中各個字串是否為文字 並回傳true and false
isspace() 字串中各字元是否為空白字元
num2str 函數 將數值轉成文字 精確值預設四位小數
```
str2 = num2str(3.456789,3)#限制字數
str2 =
3.46
```
str2double執行相反的操作 它把一字串轉換為double類型
```
num = str2double('123.456')
num =
123.4560
```
## M檔案
(附檔名為M的檔案)可分為兩類
底稿 script (主程式)
函數 fanctions
type指令 可以在當前目錄下 顯示該M檔
clear vars 清除所有變數
CLC 清除命令區
欲執行 該檔 可在指令視窗直接輸入 檔名即可
所產生的變數 會存放在工作空間 workspace (直接打whos)
# 程式說明
%用來註解
Ctrl-R 用來標示多行註解 也可以在最前端與末端 加上%{ %}
%%可以切斷 可用來分段run
可以用 help 來檢視註解 會顯示 第一個註解
輸入 input 預設是數值 如果要輸入字元or字串 需要在第二個 參數中添加'S' 輸入功能
```
letter = input('Enter a char:','s')
```
# 輸出 輸入
disp 顯示結果 不允許格式化
fprintf 函數將格式化的輸出列印到屏幕上
%d 整數 %f 浮點數 %c 字符 %s 字符串
disp(mat)可顯示成矩陣
addpath(路徑)添加檔案
## 簡易繪圖
```
x=11;
y=48;
plot(x,y,'r*') #(color marker type) 黑色=k
axis([9 12 35 55]) #X與Y軸範圍
xlabel('Time') #X軸標籤
ylabel('Temoerature') Y軸標籤
title('Time and Temp')
```
## 檔案輸出 輸入
save 可以將數據從矩陣寫入數據檔案或追加到數據檔案
save (filename,variables)%僅儲存bariables中列的變數
save filename matrixvariablename---ascii 創建檔案或數據檔案時用-ascii限定詞 會存入名為filename.dat的數據檔 是一個二進位檔 容量較小
save filename -append 將檔案加入
A=readnatrix(_____,Name,value)name有以下參數
'FileType'--檔案格式
'NumheaderLines'標題行數
'ExpectedNumVariables'預期變量數
'Delimiter'數值分隔符號
'TrearAsMissing'文字解釋為缺失數據
'Encoding'編碼方式
importdata