matlab學習筆記10_4MATLAB中的字符串表示

一起來學matlab-字符串操作

10_4 MATLAB中的字符串表示

覺得有用的話,歡迎一起討論相互學習~Follow Me

參考書籍
《matlab 程序設計與綜合應用》張德豐等著 感謝張老師的書籍,讓我領略到matlab的便捷
《MATLAB技術大全》葛超等編著 感謝葛老師的書籍,讓我領略到matlab的高效

MATLAB中的字符串符號

  • MATLAB將字符串當做一個行向量,每個元素對應一個字符;也就是將字符串保存在一個行向量中,向量的每個元素對應一個字符。
  • MATLAB中使用單引號將字符串擴起來,’’ 注意不是雙引號
  • 字符串矩陣的每一行字符串元素的個數可以不同,但是每一行中所有字符串中的總個數必須相同。
  • 每一行中字符串的計算只計算單引號擴起來的並且算空格的部分 括號之間的空格不一樣
  • 事實上,MATLAB將行內的所有字符串都合併起來,構成一個字符串,單個字符串之間不加空格,這正是每行中輸入的字符串個數可以不相同的根本原因
>> SA=['hello';'world';'我是許某某']
SB=['你好' '但是我不好' '有沒有想過你爲什麼不好';'那不知道你爲什麼不好啊' '那就是 命運吧'] % 一行中的字符只算單引號中的,並且不計算單引號中的括號
SC=['hello' 'nihao';'world';'我是許某某'] % 兩行的字符長度不同,所以會報錯[1,10],[1,5],[1,5]

SA =

hello
world
我是許某某


SB =

你好但是我不好有沒有想過你爲什麼不好
那不知道你爲什麼不好啊那就是 命運吧

串聯的矩陣的維度不一致。

在這裏插入圖片描述

  • 利用這個特點,可以用[]將任意字符串連接起來
>> [SA(1,:) SA(2,:) SA(3,:)]

ans =

helloworld我是許某某
  • 對於’也是可以標識特殊字符的標識,因此:
    在這裏插入圖片描述

  • 字符串標識方法和數值向量或矩陣相同,也就是可以對元素進行提取或重新賦值的操作

>> s1='My name is limomo'

s1 =

My name is limomo

>> s2=s1(1:end) % 是s1(1:1:end)的縮寫,表示從頭到尾進行取值,不間隔字符

s2 =

My name is limomo

>> s2=s1(1,:)

s2 =

My name is limomo

>> s2=s1(end:-1:1) % 是s1(end:-1:1,:)的縮寫,表示從尾到頭進行取值,不間隔字符

s2 =

omomil si eman yM
  • 字符串及字符串矩陣可以進行加、減、乘、除四則運算和其他的數學運算。由於MATLAB是將字符串及字符串矩陣當作數據矩陣來處理的,因而在進行這些運算時,實際上是由字符串的各個字符的ASCII碼組成的數據矩陣之間的數學運算。通常可以打印的字符的ASCII碼在32-127範圍之間,同時任意8位二進制數的範圍在0-255之間,如果數值不是正整數,或是超出了上面的範圍,則實際上是打印出ASCII碼爲fix(rem(A,256))的字符.
'a'+'b'
ans=195
'a'*'b'
ans=9506
abs('a')
ans=97
abs('b')
ans=98
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章