iLaplace简单的函数,包括指数和多项式

2视图(30天)
这是一个正方形的拉普拉斯传递函数波形应用于一个非常简单的LC滤波器。
信谊s t
时间= 0:4e-9:8e-7;
信号= - (1.5 e32 * (exp (1 e * s) -1.0) * (5 e31 * s ^ 2 + 5 e38 * s + 5.0 e46)) / (s * (exp (1 e * (s) + 1.0) * (2.5 e63 * s ^ 2 + 2.5 e70 * s + 2.5 e78));
情节(时间、潜艇(vpa (ilaplace(信号),t,时间))
为什么这个简单的代码不能由Matlab计算?

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2019年11月10日
浮点常量使MATLAB的情况是内部生成的导数函数应用于数值的地板上。MATLAB没有楼建在的导数。
如果你重写,这样你得到纯理性,MATLAB是能够将地板上的导数转换为亥维赛。
信谊s t
Q = @ (v) str2sym (v);
时间= 0:Q (“4 * 10 ^ 9”):Q (“8 * 10 ^ 7”);
信号= - (Q (“15 * 10 ^ 31日”)* (exp (Q (“1 * 10 ^ 7”)* s) - q (' 1 '))* (Q (“5 * 10 ^ 31日”)* s ^ 2 + Q (5 * 10 ^ 38的)* s + Q (5 * 10 ^ 46的)))/ (s * (exp (Q (“1 * 10 ^ 7”)* (s) + Q (' 1 '))* (Q (“25 * 10 ^ 62”)* s ^ 2 + Q (“25 * 10 ^ 69”)* s + Q (“25 * 10 ^ 77”)));
iL =简化(ilaplace(信号));
siL =潜艇(iL)、t、时间);
niL =双(siL);
情节(时间,niL)
上面的一些线路可以组合。我分开操作,让它更容易跟踪问题是来自哪里。
注意,信谊(8 e)创建了一个软件浮点数,它将不适用于这个目的;有必要建立等价的理性表达。这也是为什么1.5 e32得到转化为15 e31然后15 * 10 ^ 31——使用一个小数点的系数可能导致一些ilaplace不能正确地转换为亥维赛。
3评论
沃尔特·罗伯森
沃尔特·罗伯森 2019年11月10日
有一个模糊的方法。即使知道它存在,我总是很难找到它的文档。
最后我不得不把它与其它模糊方法……它可能是更容易在MuPAD重写它。
rat_S = mapSymType(信号,“vpareal”@ (s)函数宏指令(symengine“强迫”年代,“DOM_RAT”));
然而,事实证明,即使rat_S将只包含理性,这ilaplace将包含D(地板)(1 - 10000000 * t)在至少四个地方,所以限制不合理:限制有关的精度值。
一般的规则是:混合浮点公式变换或处理或解决,常常会导致悲伤。与理性或代数数字如sqrt(信谊(2)),或符号(“π”),而不是与浮点。几乎离开符号浮点vpaintegral()和vpasolve()处理,避免它。

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!