日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MATLAB-字符串

發布時間:2025/3/21 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MATLAB-字符串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本節我們學習如何在MATLAB中創建一個字符串。

例如:

my_string = '搬磚工程師domi'

MATLAB執行上述語句,返回以下結果:

my_string = '搬磚工程師domi'

MATLAB 認為所有變量,數組和字符串被視為字符數組。

讓我們使用命令檢查上面創建的變量:

whos

MATLAB執行上面的語句,返回以下結果:

Name Size Bytes Class Attributes my_string 1x9 18 char

你可以使用數字轉換函數,如 uint8 或 uint16 字符串中的字符轉換成數字代碼。?

char 函數整數向量轉換回字符

詳細例子

在MATLAB中建立一個腳本文件,輸入下述代碼:

my_string = '搬磚工程師domi'str_ascii = uint8(my_string) % 8-bit ascii valuesstr_back_to_char= char(str_ascii) str_16bit = uint16(my_string) % 16-bit ascii valuesstr_back_to_char = char(str_16bit)

運行該文件,顯示以下結果:

my_string = '搬磚工程師domi'str_ascii = 1×9 uint8 行向量 255 255 255 255 255 100 111 109 105str_back_to_char = '?????domi'str_16bit = 1×9 uint16 行向量 列 1 至 8 25644 30742 24037 31243 24072 100 111 109 列 9 105str_back_to_char = '搬磚工程師domi'

MATLAB矩形字符數組

目前為止我們已經討論過的字符串的字符數組是一維,但是我們需要更立體的文本數據存儲在我們的程序中。這是通過創建的矩形的字符數組。

建立一個矩形字符數組的最簡單的方法是通過連接兩個或兩個以上的一維字符數組,無論是垂直或水平的要求。

您可以通過以下方式之一合并垂直字符串:

  • 使用 MATLAB 連接運算符?[]?和分離每行一個分號(;)。請注意,在該方法中的每一行必須包含相同的字符數。不同長度的字符串,應該根據需要使用空格字符。

  • 使用 char 函數。如果字符串長度不同和 char 補齊較短尾隨空白,使每一行都有相同數量的字符的字符串。

詳細例子

在MATLAB中建立一個腳本文件,輸入下述代碼:

doc_profile = ['Zara Ali '; ... 'Sr. Surgeon '; ... 'R N Tagore Cardiology Research Center']doc_profile = char('Zara Ali', 'Sr. Surgeon', ... 'RN Tagore Cardiology Research Center')

運行該文件,顯示以下結果:

doc_profile =Zara Ali Sr. Surgeon R N Tagore Cardiology Research Centerdoc_profile =Zara Ali Sr. Surgeon RN Tagore Cardiology Research Center

采取下述方式之一橫向合并字符串:

  • 使用MATLAB串連運算,[],并用逗號或空格分隔輸入字符串。這種方法保留任何尾隨空格輸入數組。

  • 使用字符串連接函數 strcat。此方法刪除尾隨空格輸入

詳細例子

在MATLAB中建立一個腳本文件,并輸入下述代碼:

name = 'Zara Ali ';position = 'Sr. Surgeon '; worksAt = 'R N Tagore Cardiology Research Center';profile = [name ', ' position ', ' worksAt]profile = strcat(name, ', ', position, ', ', worksAt)

運行該文件,顯示以下結果:

profile =Zara Ali , Sr. Surgeon , R N Tagore Cardiology Research Centerprofile =Zara Ali,Sr. Surgeon,R N Tagore Cardiology Research Center

結合成的字符串單元陣列

從前面的討論,很顯然,具有不同長度的字符串相結合,可能是一個痛苦作為在陣列中的所有字符串具有相同的長度。我們已經使用空格的字符串的結尾,其長度相等。

然而,有更有效的方式結合字符串轉換成一個單元陣列的陣列。

MATLAB單元陣列可以容納不同尺寸和類型的數據,在一個數組中。單元格陣列提供了一個更靈活的方式來存儲不同長度的字符串。

cellstr 函數將字符數組轉換成字符串單元陣列。

詳細例子

在MATLAB中建立一個腳本文件,輸入下述代碼:

name = 'Zara Ali ';position = 'Sr. Surgeon '; worksAt = 'R N Tagore Cardiology Research Center';profile = char(name, position, worksAt);profile = cellstr(profile);disp(profile)

運行該文件,顯示以下結果:

'Zara Ali''Sr. Surgeon''R N Tagore Cardiology Research Center'

MATLAB中的字符串函數

MATLAB 提供了許多創建、組合、分析、比較和處理字符串的字符串函數。

下表是對 MATLAB 中字符串函數的簡要說明:

函數目的/作用用于存儲文本字符數組的函數,結合字符數組,等等識別字符串部分的函數,查找和替換子串字符串比較函數改變字符串大寫或小寫,創建或刪除空格的函數
blanks創建空白字符的字符串
cellstr從字符數組中創建字符串單元格數組
char轉換為字符數組 (字符串)?
iscellstr確定輸入是否是字符串的單元格數組
ischar確定項是否為字符數組?
sprintf將數據格式化為字符串
strcat水平串聯字符串?
strjoin將單元格數組中的字符串合并為單個字符串?
ischar確定項是否為字符數組?
isletter按照字母次序的數組元素?
isspace數組元素是空格字符
isstrprop確定字符串是否為指定類別?
sscanf從字符串讀取格式化數據
strfind在另一個字符串中找到一個字符串
strrep查找和替換字符串
strsplit在指定分隔符處拆分字符串
strtok字符串的選定部分
validatestring檢查文本字符串的有效性
symvar在表達式中確定符號變量?
regexp匹配正則表達式 (區分大小寫)?
regexpi匹配正則表達式 (不區分大小寫)?
regexprep使用正則表達式替換字符串?
regexptranslate將字符串轉換為正則表達式?
strcmp比較字符串 (區分大小寫)?
strcmpi比較字符串 (不區分大小寫)?
strncmp比較字符串的前 n 個字符 (區分大小寫)?
strncmpi比較字符串的前 n 個字符 (不區分大小寫)?
deblank從字符串末尾分隔尾隨空格?
strtrim從字符串中刪除前導空格和尾隨空格
lower將字符串轉換為小寫
upper將字符串轉換為大寫
strjust對齊字符數組

詳細例子

接下來對上述的字符串的函數進行舉例說明:

格式化字符串

在MATLAB中建立一個腳本文件,輸入下述代碼:

A = pi*1000*ones(1,5);sprintf(' %f %.2f %+.2f %12.2f %012.2f ', A)

運行該文件,顯示以下結果:

ans = 3141.592654 3141.59 +3141.59 3141.59 000003141.59

加入字符串

在MATLAB中建立一個腳本文件,輸入下述代碼:

%cell array of stringsstr_array = {'red','blue','green', 'yellow', 'orange'}; % Join strings in cell array into single stringstr1 = strjoin("-", str_array)str2 = strjoin(",", str_array)

運行該文件,顯示以下結果:

str1 =red blue green yellow orangestr2 =red , blue , green , yellow , orange

查找和替換字符串

在MATLAB中建立一個腳本文件,并輸入下述代碼:

students = {'Zara Ali', 'Neha Bhatnagar', ... 'Monica Malik', 'Madhu Gautam', ... 'Madhu Sharma', 'Bhawna Sharma',... 'Nuha Ali', 'Reva Dutta', ... 'Sunaina Ali', 'Sofia Kabir'}; % The strrep function searches and replaces sub-string.new_student = strrep(students(8), 'Reva', 'Poulomi')% Display first namesfirst_names = strtok(students)

運行該文件,顯示以下結果:

new_student = 'Poulomi Dutta'first_names = Columns 1 through 6 'Zara' 'Neha' 'Monica' 'Madhu' 'Madhu' 'Bhawna' Columns 7 through 10 'Nuha' 'Reva' 'Sunaina' 'Sofia'

比較字符串

在MATLAB中建立一個腳本文件,輸入下述代碼:

str1 = 'This is test'str2 = 'This is text'if (strcmp(str1, str2)) sprintf('%s and %s are equal', str1, str2)else sprintf('%s and %s are not equal', str1, str2)end

運行該文件,顯示以下結果:

str1 =This is teststr2 =This is textans =This is test and This is text are not equal

?

總結

以上是生活随笔為你收集整理的MATLAB-字符串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。