Getting a shorter, more simple answer as output

3 次查看(过去 30 天)
How can I get a shorter answer, ideally an exact answer but decimal is also fine. This is my code:
syms x y
y=(log(x)/log(4))+(log(x^2)/log(4)); dy=diff(y)
Returns the answer as:
13510798882111488/(6243314768165359*x)
I'd like a simpler answer please such as:
3/(x*log(4)) % Exact answer
or;
2.1640/x % Decimal approximation
Thanks.

采纳的回答

Walter Roberson
Walter Roberson 2025-4-18
syms x y
log4 = log(sym(4));
y=(log(x)/log4)+(log(x^2)/log4); dy=diff(y)
dy = 
  2 个评论
rezheen
rezheen 2025-4-30
Hi Walter. When I run your code in Matlab (I have R2021a version), I get:
dy=2.1640/x
Which is great, but doesn't get what you get as output but that's probably because I have the older MATLAB version. Thanks for the answer.
Walter Roberson
Walter Roberson 2025-4-30
编辑:Walter Roberson 2025-4-30
You probably have
sympref('FloatingPointOutput', true)
ans = logical
0
in effect. You want it to be false .

请先登录,再进行评论。

更多回答(1 个)

rezheen
rezheen 2025-4-17
移动:Matt J 2025-4-17
I figured it out with this code:
sympref('FloatingPointOutput',true);
syms x y
y=(log(x)/log(4))+(log(x^2)/log(4)); dy=diff(y)
Output:
dy =
2.1640/x
Thanks in advance.

标签

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by