Very large output numbers

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 日

0 投票

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 日

0 投票

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

質問済み:

2024 年 9 月 13 日

回答済み:

2024 年 9 月 13 日

Community Treasure Hunt

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

Start Hunting!

Translated by