24小时热门版块排行榜    

查看: 4320  |  回复: 12
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

星——星

新虫 (初入文坛)

[求助] matlab中已知积分结果,求变量的值

积分函数如图所示,已知函数F的值,如何用matlab求出t的值,还请各位大侠帮帮忙~

matlab中已知积分结果,求变量的值
1852167079.jpg
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yz457694

铁杆木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
星——星: 金币+10, ★★★★★最佳答案, 多谢大侠~ 2016-08-23 19:46:54
不好意思,我想简单了,这种情况下用int积不出来的,只能通过取足够大的上界来近似代替无穷积分(调整上界就可以调整积分精度)。刚看了看,我给你分析一下思路吧(跟二楼差不多)
首先来分析一下F随t的变化趋势,有助于进一步判断
CODE:
for i=1:100     
  t(i)=-50+i;   
  ubound=10000;   %该积分收敛,上界取足够大即可接近无穷积分值     
  x=0:0.1:ubound;     
  y=sqrt(x)./(1+exp(x-t(i)));
  F(i)=trapz(x,y);%梯形积分
end
plot(t,F)

如图1所示,F随t单调增加的。对于给定的F值,就可以试差来确定t的值了。
下面我用二分法(简单便于理解,方法还有很多)来做一下。
定义函数myfun来求F:
CODE:
function F=myfun(t)     ubound=10000;     x=0:0.1:ubound;     y=sqrt(x)./(1+exp(x-t));     F=trapz(x,y);%梯形积分

二分法代码:
CODE:
clear,clc F=   ;   %给定的F值 ta=0;tb=100; fa=F-myfun(ta); fb=F-myfun(tb); %fa*fb<0即可,不满足的话可以适当放大区间 error=inf; while error>0.001   %自定义精度     tc=(ta+tb)/2;     fc=F-myfun(tc);     if fa*fc<0         tb=tc;     else         ta=tc;     end     error=tb-ta; end t=(ta+tb)/2; t

举例:F=1.4893时,结果如图2所示
matlab中已知积分结果,求变量的值-1
图1.png


matlab中已知积分结果,求变量的值-2
图2.png

10楼2016-08-20 00:33:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

月只蓝

主管区长 (职业作家)

代入高精度的辛普森积分公式,将原式化成只包含t的代数式,解该代数方程即可。
或者,根据F值,试算t值,可得到t的大概范围,将t范围缩小到足够小,然后将该范围区间等分100份(或者更多),逐个扫描取F值误差左偏差和右偏差最小的两个t值,再以此两者为范围扫描100次,即可获得精度很高的t值。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2016-08-18 22:13:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yz457694

铁杆木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
如下:
syms x;
F=      ;%给定F的值
myfun=@(t) F-int(sqrt(x)/(1+exp(x-t)),x,0,inf);
t0=     ;%给一个t的初值,最好取接近真实值,收敛会快些
t=eval(fzero(myfun,t0))   %也可以用fsolve
3楼2016-08-18 23:13:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

星——星

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by 月只蓝 at 2016-08-18 22:13:33
代入高精度的辛普森积分公式,将原式化成只包含t的代数式,解该代数方程即可。
或者,根据F值,试算t值,可得到t的大概范围,将t范围缩小到足够小,然后将该范围区间等分100份(或者更多),逐个扫描取F值误差左偏 ...

可以附上相应的代码吗?本人也是最近才开始接触Matlab,对于积分的计算还是第一次,望大侠不吝赐教
4楼2016-08-19 11:46:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见