永发信息网

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

答案:1  悬赏:0  手机版
解决时间 2021-04-05 11:28
  • 提问者网友:蓝莓格格巫
  • 2021-04-05 07:52
积分用matlab积不出来怎么办啊,有没有人帮我看看解答看我应该怎么改?
最佳答案
  • 五星知识达人网友:三千妖杀
  • 2021-04-05 08:51
你这不是数值积分,对x积分之后是含有t的表达式。所以先对t赋值然后再数值积分。追问t只能给出一个取值范围,我加了取值范围后,出现这个,该怎么办?

追答你已经放弃符号积分了(无法计算显式表达式),用数值积分,所以就不要定义syms x t y了,毕竟只要数值对就好。(清楚所有变量可以用clear)
quad是标量求积分的函数,所谓标量就是只能处理一个数,不能处理一个向量;非要算很多,只能在for循环中一个个计算。所以t=89,只等于一个数。
不理解函数怎么这么特殊:
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竟然出现虚数,这一点我无法理解,暂时还没有继续迭代,你也分析下吧。
追问我的目的是得到y关于t的曲线,matlab我也是才接触,我真的不知道怎么弄了。。追答那样的话还是需要解析解,但是这个方程的积分没有解析解。所以matlab无法满足你的要求了。如果是简单函数可以求解表达式解。复杂函数只求数值解,可以画图。追问我这种情况能做出图来么?追答可以啊,每次算一个t,多算几次就有了啊。
quad只是不支持向量运算,你可以一个个的算呀。
和画图没有关系,算出来一组t,再画图就好了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯