matlab中符号运算和数值运算的区别是什么?

作者&投稿:进民 (若有异议请与网页底部的电邮联系)
大家好matlab中符号运算和数值运算的区别是什么~

两者的根本区别是 : 数值计算的表达式、矩阵变量中不允许有未定义的自由变量 , 而符号计算可以含有未定义的符号变量。对于一般的程序设计软件如 C, C + + 等语言实现数值计算还可以 , 但是实现符号计算并不是一件容易的事。而 Matlab 自带有符号工具箱 Symbolic Math Tooibox , 而且可以借助数学软件 Maple, 所以 Matlab 也具有强大的符号运算功能。

一、 字符串的定义
MATLAB 用单引号来定义字符串。例如在指令窗口输入:A= ’hello, this is a string’ ,则会输出 A=hello, this is a string
二、 定义符号变量与符号表达式
在 MATLAB 指令窗口,输入的数值变量必须提前赋值,否则会提示出错。只有符号变量可以在没有提前赋值的情况下合法地出现在表达式中,但是符号变量必须预先定义。
在 Matlab 的数据类型中 , 字符型与符号型是两种重要而又容易混淆的数据类型。
符号变量是利用指令 sym 和 syms 来创建 .
它们的使用格式为 :
S = sym( ′ A ′ ) 定义单个符号变量 S
syms a b c 定义多个符号变量 a, b, c
syms 命令的使用要比 sym 简便 , 它一次可以定义多个符号变量 , 而且格式简练。因此一般用 syms 来创建符号变量。注意各符号变量之间必须是空格隔开。
语句 Syms x y z w
表示将 x,y,z 和 w 定义为符号变量。如果再输入: p=sin(x)+cos+z+2*w, 是执行后 P 就表示表达式 sin(x)+cos(x)+z+2*w
三、 将数值表达式转换为符号表达式
命令 sym 可将数值表达式转成符号表达式,其语法为:
Sym(‘ 数值表达式 ’)
例如,在指令窗口输入:
P=sym(‘2+sqrt(5)’)
则得到输出:
P=2+sqrt(5) ,此时P是一个符号表达式,而不是一个数值表达式。
四、 计算符号表达式的值
如果要计算前面的符号表达式P的值,则需要用 eval_r(P) 来计算P的近似值。即可输入:
eval_r(P)
得到输出: ans=4.2361
由于 P=sym(‘2+sqrt(5)’) 实际上是一个符号常数,所以也可以用 vpa 命令计算。
五、数值变量、符号变量、字符变量的相互转化
数值变量、符号变量、字符变量的相互转化在 Matlab 工作空间中 , 数值、符号和字符是 3 种主要的数据类型。
Matlab 可以利用命令来实现不同类型数据间的转换。

数学计算有数值计算与符号计算之分。这两者的根本区别是 : 数值计算的表达式、矩阵变量中不允许有未定义的自由变量 , 而符号计算可以含有未定义的符号变量。对于一般的程序设计软件如 C, C + + 等语言实现数值计算还可以 , 但是实现符号计算并不是一件容易的事。而 Matlab 自带有符号工具箱 Symbolic Math Tooibox , 而且可以借助数学软件 Maple, 所以 Matlab 也具有强大的符号运算功能。

一、 字符串的定义
MATLAB 用单引号来定义字符串。例如在指令窗口输入:A= ’hello, this is a string’ ,则会输出 A=hello, this is a string
二、 定义符号变量与符号表达式
在 MATLAB 指令窗口,输入的数值变量必须提前赋值,否则会提示出错。只有符号变量可以在没有提前赋值的情况下合法地出现在表达式中,但是符号变量必须预先定义。
在 Matlab 的数据类型中 , 字符型与符号型是两种重要而又容易混淆的数据类型。
符号变量是利用指令 sym 和 syms 来创建 .
它们的使用格式为 :
S = sym( ′ A ′ ) 定义单个符号变量 S
syms a b c 定义多个符号变量 a, b, c
syms 命令的使用要比 sym 简便 , 它一次可以定义多个符号变量 , 而且格式简练。因此一般用 syms 来创建符号变量。注意各符号变量之间必须是空格隔开。
语句 Syms x y z w
表示将 x,y,z 和 w 定义为符号变量。如果再输入: p=sin(x)+cos+z+2*w, 是执行后 P 就表示表达式 sin(x)+cos(x)+z+2*w
三、 将数值表达式转换为符号表达式
命令 sym 可将数值表达式转成符号表达式,其语法为:
Sym(‘ 数值表达式 ’)
例如,在指令窗口输入:
P=sym(‘2+sqrt(5)’)
则得到输出:
P=2+sqrt(5) ,此时P是一个符号表达式,而不是一个数值表达式。
四、 计算符号表达式的值
如果要计算前面的符号表达式P的值,则需要用 eval_r(P) 来计算P的近似值。即可输入:
eval_r(P)
得到输出: ans=4.2361
由于 P=sym(‘2+sqrt(5)’) 实际上是一个符号常数,所以也可以用 vpa 命令计算。
五、数值变量、符号变量、字符变量的相互转化
数值变量、符号变量、字符变量的相互转化在 Matlab 工作空间中 , 数值、符号和字符是 3 种主要的数据类型。
Matlab 可以利用命令来实现不同类型数据间的转换。

两者的根本区别是 : 数值计算的表达式、矩阵变量中不允许有未定义的自由变量 , 而符号计算可以含有未定义的符号变量。对于一般的程序设计软件如 C, C + + 等语言实现数值计算还可以 , 但是实现符号计算并不是一件容易的事。而 Matlab 自带有符号工具箱 Symbolic Math Tooibox , 而且可以借助数学软件 Maple, 所以 Matlab 也具有强大的符号运算功能。

一、 字符串的定义
MATLAB 用单引号来定义字符串。例如在指令窗口输入:A= ’hello, this is a string’ ,则会输出 A=hello, this is a string
二、 定义符号变量与符号表达式
在 MATLAB 指令窗口,输入的数值变量必须提前赋值,否则会提示出错。只有符号变量可以在没有提前赋值的情况下合法地出现在表达式中,但是符号变量必须预先定义。
在 Matlab 的数据类型中 , 字符型与符号型是两种重要而又容易混淆的数据类型。
符号变量是利用指令 sym 和 syms 来创建 .
它们的使用格式为 :
S = sym( ′ A ′ ) 定义单个符号变量 S
syms a b c 定义多个符号变量 a, b, c
syms 命令的使用要比 sym 简便 , 它一次可以定义多个符号变量 , 而且格式简练。因此一般用 syms 来创建符号变量。注意各符号变量之间必须是空格隔开。
语句 Syms x y z w
表示将 x,y,z 和 w 定义为符号变量。如果再输入: p=sin(x)+cos+z+2*w, 是执行后 P 就表示表达式 sin(x)+cos(x)+z+2*w
三、 将数值表达式转换为符号表达式
命令 sym 可将数值表达式转成符号表达式,其语法为:
Sym(‘ 数值表达式 ’)
例如,在指令窗口输入:
P=sym(‘2+sqrt(5)’)
则得到输出:
P=2+sqrt(5) ,此时P是一个符号表达式,而不是一个数值表达式。
四、 计算符号表达式的值
如果要计算前面的符号表达式P的值,则需要用 eval_r(P) 来计算P的近似值。即可输入:
eval_r(P)
得到输出: ans=4.2361
由于 P=sym(‘2+sqrt(5)’) 实际上是一个符号常数,所以也可以用 vpa 命令计算。
五、数值变量、符号变量、字符变量的相互转化
数值变量、符号变量、字符变量的相互转化在 Matlab 工作空间中 , 数值、符号和字符是 3 种主要的数据类型。
Matlab 可以利用命令来实现不同类型数据间的转换。

matlab 符号 运算 赋值 区别
答:>> 3*x^2+5*y+2*x*y+6 ans = 5*log(5) + 2*log(3)*log(5) + 3*log(3)^2 + 6 >> double(ans)(这里是将上面的符号表达式进行double双精度浮点型运算)ans = 21.2043 显然,假如你遇到编程问题时,你需要的不是下面的数值解,而是上面的表达式解析解 参考资料:matlab符号运算 ...

matlab 符号常量运算
答:1、楼主所示的方法是首先给A、B都赋值了,然后C的计算结果就会是一个具体的值,而不是表达式。C是可以算出来的,不过结果是C=5。2、若是想直接得到符号表达式,可以直接设置符号变量,如下所示:>> syms A B C=[A,B]*[A;B]C = A^2+B^2 3、是可以用subs替换函数对表达式进行替换计算的...

MATLAB的符号运算变量如何创建?
答:—— matlab 不仅具有数值运算功能,还开发了在matlab环境下实现符号计算的工具包SymbolicMath Toolbox 符号运算的功能符号表达式,符号矩阵的创建符号线性代数因式分解,展开和简化符号代数方程求解符号微积分符号微分方程一,符号运算的基本操作什么是符号运算 与数值运算的区别※ 数值运算中必须先对变量赋值,然后才能参与运算...

matlab中,什么时候符号运算要加点号?
答:向量的乘、除、幂运算需要在运算符前加点号。在matlab里是矩阵乘法。A.*B是A和B里的各项各自相乘,如果A或B其中一个变量是标量(1X1矩阵),则A*B和A.*B结果相同。其他运算同理,基本上来说,如果不是在做矩阵的乘除,其实最好全部都加上点。

...用matlab画图怎么将符号运算怎么转化为数值运算给变量赋值并画出曲线...
答:看你打算用符号函数画图是数值计算的方式画图,数值计算的方式画图的话就算对变量进行一个范围的取值!比如0:0.05:10,求出相应的函数值y。如果怕分母为零,在分母后+eps。再用plot等绘图函数绘图。

matlab符号运算带入数值
答:subs()函数,我也是今天才看到的 subs(a+b,a,2)就是把a+b里面的a用2替换 subs(x/y,y,3)就是把x/y里面的y用3替换

matlab中显示精度的问题
答:楼上的回答都没有切中实质。楼主的问题涉及到数值计算和符号运算的概念。所谓MATLAB默认的数据类型是双精度浮点数(double),那是针对普通的数值计算而言的,按照IEEE 754的规范,双精度浮点数有52个尾数位,按十进制理解,大约有16位有效数字。除了基本的数值计算之外,MATLAB还提供了符号数学工具箱(...

一个简单的Matlab先符号运算再赋值问题
答:符号计算的话一般pi会被保留,所以fc中有pi S中没有是因为S不是符号变量,是一般的数值型变量 Nt中没有是因为该表达式先计算括号内的pi*rw^2,这个计算是也是按数值类型计算的。如果改为Nt=0.85*(r2-r1)*Lm/pi/rw^2,pi就会被保留了 subs赋值错误是因为r2的第一个元素50e-3代入后分母为0...

matlab中符号运算,求符号函数值
答:syms t;vv=3*t^3+4*t^2-5*t+6;t=5;subs(vv)

关于MATLAB符号运算的问题
答:至于说两种写法的区别,前面一种指定把哪个变量作为未知数,后一种写法由符号运算内核自动确定,对于x、y、a、b这样的四个变量而言,两种写法没有区别。2、subs和eval这两个函数的最主要区别是,subs适用于结果中仍然存在符号量的情况,得到的结果一般是解析表达式,而eval则适用于结果是具体的数值的情况...