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

一塊兒來學matlab-字符串操做

10_4 MATLAB中的字符串表示

以爲有用的話,歡迎一塊兒討論相互學習~Follow Me

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

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我是許某某
  • 對於'也是能夠標識特殊字符的標識,所以:
    在這裏插入圖片描述github

  • 字符串標識方法和數值向量或矩陣相同,也就是能夠對元素進行提取或從新賦值的操做
>> 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
相關文章
相關標籤/搜索