24小时热门版块排行榜    

查看: 745  |  回复: 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(金币+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的回帖

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的回帖

dingzemin

银虫 (正式写手)

嗯   就是分两个部分分别求解!谢谢啊!
4楼2010-01-18 13:05:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 dingzemin 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 面上项目filecode邪修 +4 西山十月 2026-08-09 6/300 2026-08-10 00:16 by liufeng0619
[基金申请] 关于代码变化问题,想知道的进来 +15 且听虎啸 2026-08-07 22/1100 2026-08-09 22:13 by 布布和一二
[基金申请] 这样的filecode谁见过 +10 布布和一二 2026-08-08 21/1050 2026-08-09 17:21 by 天神眷顾
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 5/250 2026-08-08 21:54 by 13586093586
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 好奇怪的filecode +3 布布和一二 2026-08-08 4/200 2026-08-08 17:46 by zhanghaozhu
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 娱乐 +6 Tide man 2026-08-03 6/300 2026-08-07 22:40 by 铁帽子农民
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
[基金申请] 纯娱乐,不喜欢勿喷 +7 Tide man 2026-08-04 10/500 2026-08-04 15:10 by loufangrui
信息提示
请填处理意见