24小时热门版块排行榜    

查看: 742  |  回复: 3
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

dingzemin

银虫 (正式写手)

[交流] 【求助】matlab求解方程,方程里面含有psi函数(ploygamma函数),不好解啊

求解函数:
y=1-x/5-1.44*{0.25/x-0.05[-psi(1)+0.5*psi(1-0.1*x)+ 0.5*psi(1+0.1*x)]}

其中psi是ploygamma函数,在matlab里面可以直接调用。y是给定的值,其变化范围是[-0.5, 1], x是要求出来的变量。对应每一个y,存在两个x值。我不知道怎么求解这两个x的值。调用solve函数也解不出来。

我试着按照常规思路求解了一下:先把y取成一个定值0.1,调用solve求解,如下:
y=0.1
f=solve('1-x/5-1.44*(0.25/x-0.05*(-psi(1)+1/2*psi(1-x/10)+1/2*psi(1+x/10)))-y', 'x')
结果显示是:Warning: Explicit solution could not be found.

看到网上有人建议将这个问题看成是一个非线性最优化问题,即求得一个x,使得方程左端函数值与右端常数值的平方和最小。函数如下:
y=0.1
f=@(x)norm(1-x/5-1.44*(0.25/x-0.05*(-psi(1)+1/2*Psi(1-x/10)+1/2*Psi(1+x/10)))-y)^2;
[x,err]=fminsearch(f,1e-5)
但是这种方法得出的x值只有一个值,实际上x存在两个值。改怎么解决呢?

请大家帮忙啊!!

[ Last edited by dingzemin on 2010-1-17 at 20:11 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

★ ★ ★ ★ ★
sunxiao(金币+2,VIP+0):谢谢详细解释,欢迎常来 1-18 04:35
dingzemin(金币+3,VIP+0): 1-18 13:06
通过图片可以知道这个方程x=[0 10],y=[-inf 0.4616].最高点为(1.3 0.4616)(放大图片可以看出来),当y<0.4614时,x有两个值,分别在[0 1.3]及[1.3 10]区间上。

当y=0.1时,可以采用以下求出两个解

>> f=fsolve('1-x/5-1.44*(0.25/x-0.05*(-psi(1)+1/2*psi(1-x/10)+1/2*psi(1+x/10)))-0.1', 0.5)
Optimization terminated: first-order optimality is less than options.TolFun.

f =

   0.443865675644518

>> f=fsolve('1-x/5-1.44*(0.25/x-0.05*(-psi(1)+1/2*psi(1-x/10)+1/2*psi(1+x/10)))-0.1', 3)
Optimization terminated: first-order optimality is less than options.TolFun.

f =

   3.967250801226048
3楼2010-01-17 22:40:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

change0618

铁杆木虫 (著名写手)

方丈大师

★ ★ ★ ★ ★
sunxiao(金币+3,VIP+0):谢谢参与,欢迎常来。签名档说的很有道理啊 1-18 04:34
dingzemin(金币+2,VIP+0): 1-18 13:06
>> x=0:0.1:10;
>> y=1-x/5-1.44*(0.25./x-0.05*(-psi(1)+1/2*psi(1-x/10)+1/2*psi(1+x/10)));
>> plot(x,y)
>> grid on
2楼2010-01-17 22:36:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingzemin

银虫 (正式写手)

嗯   就是分两个部分分别求解!谢谢啊!
4楼2010-01-18 13:05:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +7 Lanmanbaby 2026-08-09 11/550 2026-08-09 17:48 by zhanghaozhu
[基金申请] 这样的filecode谁见过 +10 布布和一二 2026-08-08 21/1050 2026-08-09 17:21 by 天神眷顾
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] 好奇怪的filecode +3 布布和一二 2026-08-08 4/200 2026-08-08 17:46 by zhanghaozhu
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 17:27 by oEVWOejN9taj
[硕博家园] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 17:19 by oEVWOejN9taj
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 16:22 by oEVWOejN9taj
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 Vi50GxzrFcSG 2026-08-07 5/250 2026-08-08 15:59 by oEVWOejN9taj
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 WQyTGMbfH7Cx 2026-08-07 4/200 2026-08-08 15:02 by oEVWOejN9taj
[基金申请] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 4/200 2026-08-08 14:27 by oEVWOejN9taj
[基金申请] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 KXLV3nuBVBY7 2026-08-07 5/250 2026-08-08 14:07 by oEVWOejN9taj
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 KXLV3nuBVBY7 2026-08-07 5/250 2026-08-08 14:07 by oEVWOejN9taj
[基金申请] 基金中了 +14 laoda193707 2026-08-06 14/700 2026-08-08 00:23 by 实验小白ha
[基金申请] 娱乐 +6 Tide man 2026-08-03 6/300 2026-08-07 22:40 by 铁帽子农民
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见