- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章字元与字串.ppt
* * * * * * * * 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 碼轉回字串形式 字元的儲存 無論是中文或英文,每一個字元都會佔用兩個位元組(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 5x5 200 double array x6 6x6 288 double array Grand total is 86 elements using 688 bytes x3 , x4 , x5 , x6 都是在 for-loop 中產生的變數,分別代表維度為 3×3、4×4、5×5、6×6 的魔方陣 clear all % 清除所有變數 for i = 3:6 eval([x, int2str(i) , = ma
原创力文档


文档评论(0)