台大教授matlab讲解10-文本变量与字符串.pptVIP

  • 3
  • 0
  • 约5.47千字
  • 约 20页
  • 2018-09-14 发布于浙江
  • 举报

台大教授matlab讲解10-文本变量与字符串.ppt

台大教授matlab讲解10-文本变量与字符串

* * * * * * * * * * MATLAB 程式設計入門篇 第十章:字元與字串 張智星 (Roger Jang) jang@ /jang 台大資工系 多媒體檢索實驗室 本章簡介 本章介紹 MATLAB 用於處理字元(Characters)與字串(Strings)的指令及相關資料型態。MATLAB 處理字串的相關指令大部分都放在下列目錄之中: {MATLAB 根目錄}\toolbox\matlab\strfun 其中的「strfun」就是代表「String Functions」。若要查詢與字元和字串相關的指令,可在 MATLAB 下輸入: help strfun help strings 10-1 字元與字串的基本概念 數個字元(Characters)可以構成一個字串(Strings) 一個字串是被視為一個列向量(Row Vector)進行儲存 此一字串中的每一字元(含空白字元),是以其 ASCII 碼的形式存放於此列向量中的每一個元素 字元與字串的基本概念 Matlab 用「單引號」來界定字串變數,多個字串變數可直接並排,以得到一個新字串變數,例如: 範例10-2: string102.m str3 = I like MATLAB, JavaScript, and C++! str1 = I like MATLAB,; % 建立字串變數 str1 str2 = JavaScript, and C++!; % 建立字串變數 str2 str3 = [str1 str2] % 直接並排str1 及 str2,以建立str3 字元與字串的基本概念 欲輸入含有單引號的字串,可重覆單引號的使用 若要計算字串變數的長度(即組成字元的個數),可用 length 指令 範例10-4: string104.m ans = 16 sentence = Ive got a date!; length(sentence) % 計算字串變數 sentence 的長度 字串和其ASCII code double 指令: 檢視字串變數的儲存內容(即 ASCII 內碼) char 指令: 將 ASCII 內碼轉回字串形式 範例10-6: string106.m sentence2 = Ive got a date! sentence = Ive got a date!; sentenceAscii = double(sentence); %檢視 sentence 的 ASCII 碼 sentence2 = char(sentenceAscii) % 將 ASCII 碼轉回字串形式 Quiz Given the fact that abs(1) is equal to 49, what is the value of z in the following script? Given the fact that abs(1) is equal to 49 and z is [147, 167, 166] in the following script, what is the value of abs(‘a)? x = 123; y = ‘325; z=x+y; x = 123; y = ‘bus; z=x+y; 字元的儲存 無論是中文或英文,每一個字元都會佔用兩個位元組(2 Bytes),故在上頁中,字串變數 sentence 總共由 16 個字元構成,佔用的記憶體總計為三十二個位元組(32 bytes) whos 指令: 檢視字串變數 sentence 所佔用儲存空間 MATLAB 是以兩個位元組來儲存一個字元,所以也可以支援中文(MATLAB內部都是以unicode來儲存),而且 中文的 ASCII 內碼都會大於數字 128 由於 MATLAB 將字串以其相對應之 ASCII 內碼(即數字形式)儲存成一列向量,故若對此字串直接進行數值運算,MATLAB 會先將此字串轉成數值,再進行一般數值向量的運算 字元與字串的基本概念-eval eval 指令: 直接“執行”某一特定字串,其效果就如同直接在 MATLAB 指令視窗內輸入此一特定字串 eval 指令特別適用於在 for-loop 內自動產生有規律的變數名稱 範例10-11: string111.m Name Size Bytes Class x3 3x3 72 double array x4 4x4 128 double array x5

文档评论(0)

1亿VIP精品文档

相关文档