# Properties of exponentials - symbolic algebra

4 ビュー (過去 30 日間)
Luca Lazzizzera 2021 年 4 月 16 日

Hello all,
I am experiencing problems with the properties of exponentials, in particular when the exponent is a symbolic variable.
For example, if I set
syms x y
and I want to evaluate
exp(x)*exp(y)
is there a way of having the result the exponential with the sum of exponents
exp(x+y)
Notice that it does work for one variable only, i.e. exp(x)*exp(x)=exp(2*x)
Thank you very much!

サインインしてコメントする。

### 回答 (3 件)

Mischa Kim 2021 年 4 月 16 日
Hi Luca, use
syms x y
z = simplify(exp(x)*exp(y))
z = ##### 1 件のコメント-1 件の古いコメントを表示-1 件の古いコメントを非表示
Luca Lazzizzera 2021 年 4 月 18 日

It works as long as the variables are just "x" and "y", but it does not always work, in particular if the product of exponentials is a term in a sum with other terms like exp(x)
for example 6*exp(x) + 5*exp(-x)*exp(y) + 4*exp(-2*y)*exp(x)
does not get simplified for some reason (I have to compute partition functions with many summed terms like this, many more than 3).
Is there any other more powerful/reliable way?
Thank you again

サインインしてコメントする。

VBBV 2023 年 7 月 29 日
You can of course use simplify as @Mischa Kim mentioned. However, if you want to obtain the simplified expression as you wanted, you need to apply that function for those terms which involve mixed variables as shown below. This will simplify the overall expression ,
syms x y
p = 6*exp(x) + 5*exp(-x)*exp(y) + 4*exp(-2*y)*exp(x)
p = p = 6*exp(x) + simplify(5*exp(-x)*exp(y)) + simplify(4*exp(-2*y)*exp(x))
p = ##### 0 件のコメント-2 件の古いコメントを表示-2 件の古いコメントを非表示

サインインしてコメントする。

John D'Errico 2023 年 7 月 29 日

syms x y
V = exp(x)*exp(y)
V = simplify(V)
ans = So simplify does work. On more complicated problems though, what seems simple to me may not seem simple to you, and to a computer, it may well be confused.
U = 6*exp(x) + 5*exp(-x)*exp(y) + 4*exp(-2*y)*exp(x)
U = simplify(U)
ans = But simplify has some additional capabilities.
Usimp = simplify(U,'all',true,'steps',100)
Usimp = And all of those options may be what you are looking to find. The first one is just the original expression.
Usimp(1)
ans = But the second may be more in line with what you were hoping to see.
Usimp(2)
ans = But maybe you might be looking for one of the others. How can simplify know? Maybe there is a common factor that can be removed?
Usimp(3)
ans = And there are many other possibilities, all of which might be of interest. But a computer simply does not have the judgment to know what you personally think is most simple, especially for a complicated expression.

サインインしてコメントする。

### カテゴリ

Help Center および File ExchangeCommon Operations についてさらに検索

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!