积分用matlab积不出来怎么办啊,有没有人帮我看看解答看我应该怎么改?

现在要做的是这个积分公式,得到y关于t的关系式。一开始我用解析解,得到于是我又尝试数值解,得到怎么办才能把它积分积出来啊????symsxty;>>t=89:170;>>... 现在要做的是这个积分公式,得到y关于t的关系式。

一开始我用解析解,得到

于是我又尝试数值解,得到

怎么办才能把它积分积出来啊????
syms x t y;
>> t=89:170;
>> myfun=@(x)(5*10^(-8)/log(1+sqrt(pi*10^(-8)*(t-89-x/2.1)/25/10^(-3))));
>> q=quad(myfun,0,2*(t-89))
??? Error using ==> quad at 70
The limits of integration must be scalars.
展开
 我来答
百度网友db4b04636
2015-04-20 · TA获得超过2915个赞
知道小有建树答主
回答量:834
采纳率:92%
帮助的人:338万
展开全部
你这不是数值积分,对x积分之后是含有t的表达式。所以先对t赋值然后再数值积分。
更多追问追答
追问

t只能给出一个取值范围,我加了取值范围后,出现这个,该怎么办?

追答
  1. 你已经放弃符号积分了(无法计算显式表达式),用数值积分,所以就不要定义syms x t y了,毕竟只要数值对就好。(清楚所有变量可以用clear)

  2. quad是标量求积分的函数,所谓标量就是只能处理一个数,不能处理一个向量;非要算很多,只能在for循环中一个个计算。所以t=89,只等于一个数。

  3. 不理解函数怎么这么特殊:

myfun=@(x)(5*10^(-8)/log(1+sqrt(pi*10^(-8)*(t-89-x/2.1)/25/10^(-3))))

myfun = 

    @(x)(5*10^(-8)/log(1+sqrt(pi*10^(-8)*(t-89-x/2.1)/25/10^(-3))))

>> myfun(2)

ans =

   2.5000e-08 - 4.5705e-05i

定义完函数,代入2竟然出现虚数,这一点我无法理解,暂时还没有继续迭代,你也分析下吧。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式