两者的根本区别是:数值计算的表达式、矩阵变量中不允许有未定义的自由变量,而符号计算可以含有未定义的符号变量。对于一般的程序设计软件如C,C++等语言实现数值计算还可以,但是实现符号计算并不是一件容易的事。而Matlab自带有符号工具箱SymbolicMathTooibox,而且可以借助数学软件Maple,所以Matlab也具有强大的符号运算功能。一、字符串的定义MATLAB用单引号来定义字符串。例如在指令窗口输入:A=’hello,thisisastring’,则会输出A=hello,thisisastring二、定义符号变量与符号表达式在MATLAB指令窗口,输入的数值变量必须提前赋值,否则会提示出错。只有符号变量可以在没有提前赋值的情况下合法地出现在表达式中,但是符号变量必须预先定义。在Matlab的数据类型中,字符型与符号型是两种重要而又容易混淆的数据类型。符号变量是利用指令sym和syms来创建.它们的使用格式为:S=sym′A′定义单个符号变量Ssymsabc定义多个符号变量a,b,csyms命令的使用要比sym简便,它一次可以定义多个符号变量,而且格式简练。因此一般用syms来创建符号变量。注意各符号变量之间必须是空格隔开。语句Symsxyzw表示将x,y,z和w定义为符号变量。如果再输入:p=sinx+cos+z+2*w,是执行后P就表示表达式sinx+cosx+z+2*w三、将数值表达式转换为符号表达式命令sym可将数值表达式转成符号表达式,其语法为:Sym‘数值表达式’例如,在指令窗口输入:P=sym‘2+sqrt5’则得到输出:P=2+sqrt5,此时P是一个符号表达式,而不是一个数值表达式。四、计算符号表达式的值如果要计算前面的符号表达式P的值,则需要用eval_rP来计算P的近似值。即可输入:eval_rP得到输出:ans=4.2361由于P=sym‘2+sqrt5’实际上是一个符号常数,所以也可以用vpa命令计算。五、数值变量、符号变量、字符变量的相互转化数值变量、符号变量、字符变量的相互转化在Matlab工作空间中,数值、符号和字符是3种主要的数据类型。Matlab可以利用命令来实现不同类型数据间的转换。
齐晓怡2019-12-21 20:20:38