# 字串串聯 如果要將兩個字串串聯在一起可以使用方括弧 ``` 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