300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > matlab最基础教程(四):常用的系统自带函数 符号变量与字符串篇

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

时间:2018-10-05 02:17:15

相关推荐

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

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

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

1.符号变量的基本运算

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

syms x y(x)g=x*y

并没有需要特别说明的。

2.符号变量的特殊运算

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

g=x*yg=x.*y

的运算结果完全一样。

3.符号变量的常用函数

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

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

这些都是可以通用的,而且函数的含义也完全一样。

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

syms xf=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=1b=num2str(1)

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

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。