Day15_0.1基础学习MATLAB学习小技巧总结(15)——字符矩阵

利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。

素材来源"数学建模清风"

特此说明:本博客的内容只在于总结在使用matlab中的一些小技巧,并非教程,若想系统的学习MATLAB,也可以移步去链接中的视频,观看学习。也欢迎各位在留言区补充,纠错,讨论。

原素材和学习视频地址:MATLAB教程新手入门篇(上部分)(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili​编辑https://www.bilibili.com/video/BV1dN4y1Q7Kt/?spm_id_from=333.337.search-card.all.click&vd_source=c06380c48bd362b3f90af762beebf543

字符矩阵

字符向量的行数或者列数为1,字符向量就相当于特殊的字符矩阵。若想在同一个变量中表示多段文字,那么就可以使用字符矩阵

例如:

Matlab 复制代码
A = ['H','E','L','L','o';
     'W',''R,'o','L','D']

%%也可以写成
A=['HELLO';
   'WROLD'] 

这两种写法相同仅限于两个字符的维度相同时使用,实质上就是拼接了两个向量。

错误示范:

如果两个向量的维度不同,可以手动添加空格去补足两个向量的维度,但是手动添加的效率太低,这个时候可以借助char函数自动拼接。

关于char函数的介绍,我在之前的文章中有过详细的介绍,这里不多赘述。感兴趣可以翻看我之前的文章。

Day13_0.1基础学习MATLAB学习小技巧总结(13)------文本数据处理入门-CSDN博客https://blog.csdn.net/qq_47248729/article/details/141801218?spm=1001.2014.3001.5501接下来介绍三个用来删除字符向量开头或者末尾的空白字符的函数:

(1)deblank、(2)strtrim、(3)strip

三者之间的区别:

1、deblank函数只能用来删除字符向量末尾的空白字符,不会删除开头的空白字符

2、strtrim函数会同时删除字符向量开头和末尾的空白字符

3、strip函数则提供了更多的选项,例如可以指定删除那一侧的空白字符(左侧'left'、右侧'right'、双侧'both'),甚至还能指定自己要删除的字符,不一定是空白字符

例如:

Matlab 复制代码
A = [' 吃饭了 吗 ',newline,'还没吃  呢   ']
deblank(A)%去除末尾的空白字符
strtrim(A)%去除开头和末尾的空白字符
strip(A,'left')%去除左侧的空白字符
strip(A,'right')%去除右侧的空白字符
strip(A,'both')%去除双侧的空白字符

(4)strjust函数

这个函数是用于调整字符数组中文本对齐方式,它通过调整每一行字符向量前后空格的位置来实现左对齐(left)、右对齐(right,默认值)和居中对齐三种格式

例如:

Matlab 复制代码
A = char(' 吃饭了 吗 ','还没吃  呢   ','那就别吃了')
strjust(A,'left')%左对齐
strjust(A,'right')%右对齐
strjust(A,'center')%居中对齐

用这个函数可以将99乘法表居中展示:

Matlab 复制代码
A = '';
for i = 1:9
    tmp = '';
    for j = 1:i
        tmp = [tmp,num2str(j),'x',num2str(i)...
            '=',num2str(i*j),'10'];
    end
    A = char(A,tmp);
end
A(1,:) = [];
AA = strjust(A,'center');
disp(AA)

只用将AA = strjust(A,'center');这行代码中的后缀替换成"left"、"right",就可以改成显示为向左对齐和向右对齐。

相关推荐
秃头佛爷38 分钟前
Python学习大纲总结及注意事项
开发语言·python·学习
dayouziei3 小时前
java的类加载机制的学习
java·学习
dsywws6 小时前
Linux学习笔记之vim入门
linux·笔记·学习
晨曦_子画7 小时前
3种最难学习和最容易学习的 3 种编程语言
学习
城南vision7 小时前
Docker学习—Docker核心概念总结
java·学习·docker
其实吧38 小时前
基于Matlab的图像融合研究设计
人工智能·计算机视觉·matlab
ctrey_8 小时前
2024-11-1 学习人工智能的Day20 openCV(2)
人工智能·opencv·学习
十年之少8 小时前
由中文乱码引来的一系列学习——Qt
学习
u0101526589 小时前
STM32F103C8T6学习笔记2--LED流水灯与蜂鸣器
笔记·stm32·学习
王俊山IT9 小时前
C++学习笔记----10、模块、头文件及各种主题(二)---- 预处理指令
开发语言·c++·笔记·学习