Very large output numbers

2 次查看(过去 30 天)
Marcos
Marcos 2024-9-13
回答: Sam Chak 2024-9-13
I have a code which gives me the output of a transfer function with giant values, but I know that they can be reduced to get something smaller but I don't know how, this would be an example of the output:
(6982830709666455*Kc*s)/140737488355328 or (6383029463564235*s^2)/2251799813685248

回答(2 个)

John D'Errico
John D'Errico 2024-9-13
syms Kc s
X = (6982830709666455*Kc*s)/140737488355328
vpa(X,10)
So here, 10 digits shown.
  1 个评论
John D'Errico
John D'Errico 2024-9-13
Unfortunately, Answers is currently bugged, so all symbolic display seems to not work. Regardless, vpa is what you need.

请先登录,再进行评论。


Sam Chak
Sam Chak 2024-9-13
Proper transfer function should have the degree of the numerator less than or equals to the degree of the denominator. You can probably do something like this:
s = tf('s');
Kc = 1; % Enter the Gain value
G = ((6982830709666455*Kc*s)/140737488355328)/((6383029463564235*s^2)/2251799813685248);
Gmin= minreal(G) % after simplification
Gmin = 17.5 ---- s Continuous-time transfer function.

产品


版本

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by