【matlab】很多问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 16:26:37
1.
f=sym(3/7,'e')
f =
3/7-3*eps/28

3/7-3*eps/28是什么意思?
----------------------------------------------------------
2.
f=sym('x','***')

***可以是positive,real,unreal。分别是什么意思?
为什么当我把x写成一个数字,例如f=sym('1','positive')会报错?
------------------------------------------------------------
3。
y=sym('2*sin(x)*cos(x)');
>> y=simple(y)

y =
sin(2*x)
倘若事先没有对表达式中的独立符号变量进行定义,matlab会自动检查哪些字符是符号函数,哪些是变量符号,且总把在英文字母表中离x最近的字母作为独立符号变量。
什么意思?

y=sym('2*sin(x)*cos(x)*2*sin(z)*cos(z)');
>> findsym(y)
ans =
x, z
系统识别了x,z是独立符号变量
--------------------------------------------------------------------
4.
findsym(EXPR,N);
功能是从表达式中确认出靠x最近的N个独立自变量
靠x最近怎么理解?
如果k=syms('3'),k是不是应该理解为符号常量而不是符号变量?所以findsym是不会寻找k的。

1 、eps是matlab中一个具体的数,你在命令窗口输入就会看到
>> eps

ans =

2.2204e-016
因为3/7是无限循环小数,计算机并不能用固定的二进制表示。因此采用的是近似值,误差是-3*eps/28,非常小,不影响具体的运算。
2、postive--正数
real--实数
unreal--非实数。
没有直接输入f=sym('1','positive')的,postive不是sym默认的参数,'f', 'r', 'e' 或 'd',默认为r。
3、4、5就是里面要有x就自动默认x为变量,没有x就找离x近的啊。N个你就照英文字母表从x向两侧找呗。如果有w和y只选一个,先向后选中w