matlab最基础教程(四):常用的系统自带函数,符号变量与字符串篇

matlab最基础教程(四):常用的系统自带函数,符号变量与字符串篇

前言:matlab字面意思是矩阵实验室,软件重点是数值变量的运算。所以在符号变量和字符串的运算上,功能并不强大,我用的也不是很多,因此这篇的内容请多多指正。

1.符号变量的基本运算
符号变量的基本运算与数值变量一样,加减乘之类的,比如

syms x y(x)
g=x*y

并没有需要特别说明的。

2.符号变量的特殊运算
符号变量的特殊运算也与数值变量一样,但一般而言,符号变量都是1*1矩阵,因此特殊运算与基本运算一般都是等效的。比如

g=x*y
g=x.*y

的运算结果完全一样。

3.符号变量的常用函数
数值变量的常用函数,一般都可以直接用在符号变量上,比如三角函数

syms x
y=sin(x)
a=1
b=sin(a)

这些都是可以通用的,而且函数的含义也完全一样。
但偏偏有些函数非常蛋疼,对符号变量与数值变量都可以进行操作,但操作的含义完全不同,比如diff,diff对于一个数值变量的运算结果是差分,而对于一个符号变量的运算结果则是求导

syms x
f=diff(sin(x))
a=[1 2 3]
b=diff(a)

运算出来的f是sin(x)的导数,也就是cos(x),依然是个符号变量,而b运算结果则是一个差分向量。
另外也存在很多函数只能对数值变量操作,比如离散傅里叶变换fft。还有很多函数只能对符号变量操作,比如泰勒展开taylor。因此在matlab使用中,一定要区分变量的类型,其实真的用起来也好区分,因为完成特定的计算任务,要么全部用数值,要么全部用符号,这也符合一般处理问题的原则。
我平时做符号运算比较少,用到的函数,除了exp、sin这类数学运算外,还有:
int 求积分,符号运算特有,可以求定积分,也可以求不定积分,但一般不会写+C
diff 求导数,符号运算特有
limit 求极限,符号运算特有
ezplot 作图(新版本中,软件推荐使用fplot),类似数值变量运算时的plot

4.字符串的常用函数
matlab中字符串的常用算符就更少了,但都非常有用,这里介绍几个:
1)num2str和str2num:可以实现数值变量和字符串变量的转换,比如

a=1
b=num2str(1)

运算结果显示a是一个数值变量,b是一个字符串变量,函数名中的2就是英文中to的意思,也就是把num数值类型转化成str字符类型。str2num就是这个函数的反函数,这两个命令结合,可以实现特定的功能,比如提取一个数字的最高位:

a=123456
b=num2str(a)
c=b(1)
d=str2num(c)

2)eval:其原理是把“字符串”变成“命令”并执行。但使用过程中需要注意的是,这个命令不可以“编译”,也就是只能在matlab内使用,无法移植到C,JAVA等其他语言平台。有需要的可以自行尝试这个命令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jysf98746

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值