• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

MATLAB基础(三):MATLAB基本运算与字符串处理

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
MATLAB基本运算

MATLAB面向矩阵!
MATLAB面向矩阵!
MATLAB面向矩阵!


MATLAB提供矩阵意义下

算术运算
关系运算
逻辑运算

当然也有针对矩阵元素的运算,单个数据的算术运算只是矩阵运算的一种特例


算术运算
加 + 、减 - 、乘 × 、除 \ (左除) / (右除) 、乘方 ^

加减运算
要求两矩阵同型,即维数、大小相同
标量与矩阵进行加减运算时,把标量与矩阵的每一个元素相加减

乘运算
若矩阵A与矩阵B相乘,要求A的列数与B的行数相等,此时称AB矩阵是可乘的,或AB两矩阵维数和大小相容

除法运算
右除
如果矩阵A是非奇异方阵,
B右除以A  即 B/A 等价于B*inv(A)  A矩阵的逆右乘B矩阵
B左除以A  即 A\B 等价于inv(A)*B  A矩阵的逆左乘B矩阵
inv() 求矩阵的逆

对于矩阵来说,右除和左除表示两种不同的除数矩阵和被除数矩阵关系,一般B右除以A不等于B左除以A

而对于含有标量的除法,左除右除一样一样的

乘方运算
一个矩阵A的乘方运算可以表示为 A^x,此处x为标量


点运算
两矩阵进行点运算是指它们对应位置元素进行相关运算,故要求两矩阵同型
点乘.*、点右除./、点左除.\、点乘方.^


关系运算
<、<=、>、>=、~=(不等于)

当参与比较的量是两个同型的矩阵时,比较是对两矩阵相同的位置元素按标量的关系运算规则逐个进行

当参与比较的量一个是矩阵,一个是标量时,则将标量与矩阵的每一个元素按标量的关系运算规则进行比较

上述结果都是一个与原矩阵同型的矩阵,它的元素由0和1组成


逻辑运算
MATLAB提供 &、|、~ 三种逻辑运算
矩阵与矩阵、矩阵与标量的逻辑运算与关系运算类似


例子
求水仙花数:各位数字的立方之和等于该数字本身的三位正整数

>> A=100:999;
>> num1=rem(A,10);
>> num2=rem(fix(A/10),10);
>> num3=fix(A/100);
>> res=find(A==num1.^3+num2.^3+num3.^3)

res =

    54   271   272   308

>> res = A(res)

res =

   153   370   371   407

MATLAB中的字符串

字符串的表示
MATLAB中,字符串是用单引号括起来的字符序列

>> str=\'I\'\'m you.\'

str =

    \'I\'m you.\'
 
>> str(1:2)

ans =

    \'I\'\'

字符串里的 ’ 用两个 ’ 来表示
char=[‘abcde’;‘12345’];
char(2,3) = ‘3’

例子
① 取第1~5个字符组成的子字符串
② 将字符串倒过来重新排列
③ 将字符串中的小写字母变成相应的大写字母,其余字符不变
④ 统计字符串中小写字母的个数

ch=\'ABc123d4e56Fg9\';
subch=ch(1:5) 
revch=ch(end:-1:1)
k=find(ch>=\'a\'&ch<=\'z\')
ch(k)=ch(k)-(\'a\'-\'A\')        
length(k)

字符串的执行

eval() 函数

>> PI = pi;
>> m=\'[PI,sin(PI),cos(PI)]\';
>> res=eval(m)

res =

    3.1416    0.0000   -1.0000

有种将字符串解释为代码执行的感觉

字符串的操作

取ASCII值

abs() 和 double() 函数都可以用来获取字符串矩阵对应的ASCII码数值矩阵
char() 函数可以把ASCII码矩阵转换为字符串矩阵

>> name=\'MATLAB\'

name =

    \'MATLAB\'

>> ASCII=abs(name)

ASCII =

    77    65    84    76    65    66

>> char(ASCII+32)

ans =

    \'matlab\'

字符串比较

①利用关系运算符比较
两个同长度的字符串可以通过关系运算符比较,结果是对应位置字符比较结果的数值向量

②字符串比较函数
strcmp(s1, s2 [, n]) 比较字符串s1和s2前n个字符是否相等,相等返回1否则返回0 (n为字符个数,可选项)
strcmpi(s1, s2 [, n]) 比较前n个字符是否相等,忽略大小写,相等返回1否则返回0 (n为字符个数,可选项)

字符串查找与替换

findstr(s1,s2):返回短字符串在长字符串中的开始位置与参数位置无关
strrep(s1, s2, s3):等价于Java中String.replaceAll



还要拾起线代qnq

2019/4/17


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi-TShape控件解析发布时间:2022-07-18
下一篇:
delphi获取文件的创建/修改时间、按时间删除指定文件下的文件 ...发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap