从符号常微分方程中删除冗余部分的推荐方法

我正在使用称为'dsolve'的MATLAB工具来求解ODE,但由于我有很多疑问,所以无法解决。就像我的情况一样,我只需要第2个方程,但是我有4个。问题是如何使用符号工具将其删除。

odequations = [diff(h(t),t,t) == (26*h(t))/25 
                   (11683563954355*theta(t))/1099511627776;

         diff(theta(t),t) == (4296857747895619*theta(t))/562949953421312 - 
           (400*h(t))/1043;

         0 == 0;

         0 == 0]

我尝试过简化(折合),但是没有成功。

我的错误消息如下所示。

Error using mupadengine/feval (line 187)
Invalid initial conditions.

Error in dsolve>mupadDsolve (line 340)
T = feval(symengine,'symobj::dsolve',sys,x,options);

Error in dsolve (line 194)
sol = mupadDsolve(args,options);
hebeipl 回答:从符号常微分方程中删除冗余部分的推荐方法

您可以使用isAlways删除多余的方程式。

<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"> </script>

<script>
  $(document).ready(function(){
      $('[data-toggle="tooltip"]').tooltip();
  });
</script>

>> syms a >> eqs = [a == 10; a == a; 0 == 0]; >> eqs(isAlways(eqs)) = [] eqs = a == 10 将对非冗余方程式发出警告,您可以通过调用以下方法来加以抑制:

isAlways
本文链接:https://www.f2er.com/3118362.html

大家都在问