MATLAB最 最最最基础教程

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

1.符号变量的基本运算

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

syms x y(x)

g=x*y

并没有需要特别说明的。

2.符号变量的特殊运算

符号变量的特殊运算也与数值变量一样,但一般而言,符号变量都是11矩阵,因此特殊运算与基本运算一般都是等效的。比如g=xy和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 作图,类似数值变量运算时的plot

4.字符串的常用函数

matlab中字符串的常用算符就更少了,但都非常有用,这里介绍几个:

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)

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

阅读 112

推荐阅读
Jet love MATLAB
用户专栏

路在脚下

0 人关注
5 篇文章
专栏主页