"Unable to convert expression containing remaining symbolic function calls into double array. Argument must be expression that evaluates to number"

4 ビュー (過去 30 日間)
I've got a symbolic integral that I want to substitue some numbers into. Matlab will evaluate the integral for 0 < t < 4.8, but above that I get the error message.
"Unable to convert expression containing remaining symbolic function calls into double array. Argument must be expression that evaluates to number"
int(sin((7015723114167667*tau)/17592186044416 - 2630896167812875/1099511627776)*((555609333788003*tau^2*sin((pi*tau^2)/5))/7036874417766400 - (pi*cos((pi*tau^2)/5))/50), tau, 0, t)
Thanks in advance!

採用された回答

darova
darova 2021 年 3 月 29 日
It's too complicated for symbolic toolbox
Use numerical approach
  2 件のコメント
Cameron Sprent
Cameron Sprent 2021 年 3 月 29 日
Is there a way around this? I need to calculate this function for 0 < t < 200, likely in steps of t = 0.0001. Won't calling an integral each time be very slow?
darova
darova 2021 年 3 月 30 日
im afraid there is no other way. Use numerical integration

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by