【问题标题】:Simplify behavior on symbolic expression with limit使用限制简化符号表达式的行为
【发布时间】:2013-10-20 15:43:15
【问题描述】:

我想简化这个符号表达式,然后用Matlab取它的极限(这在论文上并不太难)

syms n x
sn = 8^n * n^2 * (sin(x))^(3*n)
simplify(sn^(1/n))

导致

ans =

8*n^(2/n)*(sin(x)^(3*n))^(1/n)

这必须像8 * n^(2/n) * (sin(x))^3。但是,如果我使用

x = sym('x', 'positive'); n = sym('n', 'positive');
sn = 8^n * n^2 * (sin(x))^(3*n)
simplify(sn^(1/n))

要获得类似的答案然后采取限制,我得到:

limit(ans, n, inf)

ans =

8*limit(n^(2/n)*(sin(x)^(3*n))^(1/n), n == Inf)

而不是8*sin(x)^3

如果我在纸上简化这个然后限制,一切正常:

limit(8*n^(2/n)*sin(x)^3, n, inf)

ans =

8*sin(x)^3

是否可以使用 Matlab 解决这个问题?

【问题讨论】:

    标签: matlab symbolic-math simplify


    【解决方案1】:

    MuPAD 不会简化表达式,因此不能接受限制,因为您没有提供适当的假设。如果nx 是正数,则(sin(x)^n)^(1/n) 之类的表达式简化为sin(x) 是不正确的。您需要完全限制 x 的范围,因为它是周期函数的参数:

    x = sym('x','positive');
    n = sym('n','real');
    assumeAlso(x<=sym(pi));
    sn = 8^n * n^2 * (sin(x))^(3*n);
    sn2 = simplify(sn^(1/n))
    limit(sn2, n, Inf)
    

    返回你期望的答案

    ans =
    
    8*sin(x)^3
    

    如果您可以访问 Mathematica,则可以非常轻松地完成此类事情:

    Limit[(8^n n^2 Sin[x]^(3 n))^(1/n), n -> \[Infinity], Assumptions -> {n \[Element] Reals, x >= 0, x <= \[Pi]}]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多