符号计算的奇怪输出

6次浏览(最近30天)
有人能解释一下这个输出(特别是数字)吗?
信谊从T到T n
潜艇(2 * f0 *π^ 2 / (Omegan * T * (- Omegan ^ 2 * t0 ^ 2 + 4 *π^ 2)),Omegan, 2 * n *π/ T)
ans =
-(2778046668940015*f0)/(281474976710656*n*pi*((4*n^2*t0^2*pi^2)/T^2 - 2778046668940015/70368744177664)

接受的答案

大卫·温斯洛普
大卫·温斯洛普 2022年11月1日
我知道是怎么回事了。似乎系统解释器给出了圆周率的有理近似值 只是在某些时候 .很奇怪。为了将来的参考,这就是我是如何得到预期的:
信谊从T到T n
P = sym(pi);这是关键的一步。
简化(潜艇(2 * f0 * p ^ 2 / (Omegan * T * (- Omegan ^ 2 * t0 ^ 2 + 4 * p ^ 2)), Omegan, 2 * n * p / T))
ans =
-(T²*f0)/(4*n* *(- T²+ n²*t0²))

更多答案(2)

Gautam Chettiar
Gautam Chettiar 2022年11月1日
编辑:Gautam Chettiar 2022年11月1日
这些数字的出现是因为你把替换成2*n* /T,用
有些变量约掉了,大部分数字来自
% 2和PI
信谊从T到T n
ans =潜艇(2 * f0 *π^ 2 / (Omegan * T * (- Omegan ^ 2 * t0 ^ 2 + 4 *π^ 2)),Omegan, 2 * n *π/ T)
ans =
vpa(简化(ans), 3)
ans =

詹姆斯Tursa
詹姆斯Tursa 2022年11月1日
编辑:詹姆斯Tursa 2022年11月1日
这一点也不奇怪。您要求符号引擎检查涉及pi的所有浮点表达式,它甚至没有在IEEE浮点数中精确表示,并提取pi部分。当然,这样的表达式有无数个,所以你不能指望符号引擎能得到所有的表达式。因此,它只能得到简单的。例如,
信谊(π)
ans =
π
信谊(4 *π)
ans =
信谊(π/ 3)
ans =
信谊(π^ 2)
ans =
信谊(pi) ^ 2
ans =
信谊(exp (1))
ans =
exp(信谊(1))
ans =
e
信谊(exp (1) / 3)
ans =
exp(信谊(1))/ 3
ans =
信谊(π* exp (1))
ans =
信谊(π)* exp(信谊(1))
ans =
正如您已经发现的那样,解决方案是在前面插入符号常量,而不是将浮点表达式的结果传递给symbolic Engine,并期望它在所有情况下都能识别源。即使是简单的表达式也有符号引擎停止查找的限制。例如,
信谊(π/ 100000)
ans =
信谊(π/ 100001)
ans =
1评论
史蒂文的主
史蒂文的主 2022年11月1日
的标志输入参数的'r'值的描述 信谊 函数的文档页获取表达式列表 信谊 “承认”。你发布的大多数例子都转换了 π π 落入… P *pi/q(适用于中等大小的整数P和q) 的情况。

登录评论。

标签

2022世界杯八强谁会赢?


释放

R2018b

世界杯预选赛小组名单社区寻宝

在MATLAB Central中寻找宝藏,并了解社区如何帮助您!世界杯预选赛小组名单

开始狩猎!

Baidu
map