[问题] Transfer fnction值与Matlab转换语言问题

楼主: larry78930 (泰瑞兽)   2022-04-20 19:01:18
各位前辈们好,我最近因子值过大的原因要从Matlab转换到Mathematica进行计算,但在编写程式时遇到了以下的问题
https://i.imgur.com/plWcqQv.jpg
以上的图片是在Matlab所编写的程式码
简单来说我需要经过循环相加过后的transfer function并取出方程的分子与分母的系数,但我的数值有点大Matlab计算不出来,因此想请教各位前辈要怎么在Mathematica 进行循环内有transfer function的编写。
谢谢各位的帮忙!
作者: LPH66 (-6.2598534e+18f)   2022-04-20 19:13:00
有原始数学式吗?一般来说这种循环在 Mathematica 是使用 Do[]然后看起来 s 是多项式变量, 那其实就直接写出来就好所以应该会像是下面这样h=0;Do[h=h+R[[i]]/(1+R[[i]]*C[[i]]*s),{i,1,Length[R]}];取分子分母可以使用 Numerator[] 及 Denominator[]然后再使用 CoefficientList[...,s] 取出系数阵列那还有就是求和循环在 Mathematica 可以写成类似数学式的Sum[加总项, {i,1,Length[R]}] 这样, 就不用额外写 Do 加了
作者: Rasin (雷森)   2022-04-23 03:53:00
MATLAB应该不至于算不出来吧?
楼主: larry78930 (泰瑞兽)   2022-04-23 21:33:00
我的数值大到10^100,小到10^-400,Matlab不是NaN就是inf QQ
作者: Rasin (雷森)   2022-04-24 08:50:00
电路通常应该可以取LOG或者单位取kM之类的
作者: Sanvean   2022-06-24 15:07:00

Links booklink

Contact Us: admin [ a t ] ucptt.com