【发布时间】:2020-02-24 14:36:49
【问题描述】:
Matlab 符号工具对我来说有一个非常烦人的功能。它会自动转换为有理数/十进制值。
示例 1
z = sym('z', 'real');
f = 3^(1/2)*z;
我们得到预期的 Matlab 返回 f = 3^(1/2)*z
示例 2
z = sym('z', 'real');
f = 3^(1/3)*z;
然后我得到了糟糕的结果f = (3247657313705851*z)/2251799813685248,而不是想要的f=3^(1/3)*z
原因可以在here找到。默认情况下sym() 对数字使用有理逼近。
我的问题是,如何禁用此功能?例如,如何从示例 2 中获取返回 f=3^(1/3)*z?
【问题讨论】:
-
回复 'I don't get your definition At={X(t)=Y(t)}. It's a set of what? Do you mean {w∈Ω:X(t)=Y(t)}?'是的,但是当我只是使用别人的符号时,你为什么要问我的符号?
-
@BCLC 嗯???发生了什么?
-
Nathan Explosion,您可以根据需要编辑我的答案。我目前不能,因为目前暂停/回复your comment
标签: matlab symbols symbolic-math