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",就可以改成显示为向左对齐和向右对齐。

相关推荐
百锦再3 小时前
Vue高阶知识:利用 defineModel 特性开发搜索组件组合
前端·vue.js·学习·flutter·typescript·前端框架
我找到地球的支点啦3 小时前
通信扩展——扩频技术(超级详细,附带Matlab代码)
开发语言·matlab
CappuccinoRose4 小时前
JavaScript 学习文档(二)
前端·javascript·学习·数据类型·运算符·箭头函数·变量声明
A9better4 小时前
C++——不一样的I/O工具与名称空间
开发语言·c++·学习
AI职业加油站4 小时前
职业提升之路:我的大数据分析师学习与备考分享
大数据·人工智能·经验分享·学习·职场和发展·数据分析
四谎真好看4 小时前
JavaWeb学习笔记(Day13)
笔记·学习·学习笔记·javaweb
ZH15455891314 小时前
Flutter for OpenHarmony Python学习助手实战:机器学习算法实现的实现
python·学习·flutter
深鱼~5 小时前
大模型底层算力支撑:ops-math在矩阵乘法上的优化
人工智能·线性代数·矩阵·cann
Zfox_5 小时前
CANN PyPTO 编程范式深度解析:并行张量与 Tile 分块操作的架构原理、内存控制与流水线调度机制
线性代数·矩阵·架构
TechWJ5 小时前
catlass深度解析:Ascend平台的高性能矩阵运算模板库
线性代数·矩阵·ascend·cann·catlass