24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 417  |  回复: 2
【奖励】 本帖被评价1次,作者fspdlh增加金币 0.5
当前主题已经存档。

fspdlh

金虫 (正式写手)


[资源] 【原创】二分法求解多解方程

看到小木虫里有些人问过求方程某个区间内解的问题,在此,发一个自编的原代码供大家用
参数中fun为方程的字符串,a,b和d分别为搜索解的初值终值和最小区间,tol为精度,如果大家发现程序有什么问题,回帖讨论交流,谢谢。

function x=solvefun(fun,a,b,d,tol)

%--------------------------------------------------------------------------
fun=inline(fun);
%--------------------------------------------------------------------------
range=a:d:b;
if range(end)     range=[range,b];
end
n=length(range);
temp=zeros(1,n);
for i=1:n
    temp(i)=fun(range(i));
end
x0=temp(find(temp==0))';
tag=[abs(diff(sign(temp))) 0];
range=range(find(tag==2))';
range=[range range+1];
%--------------------------------------------------------------------------
n=size(range,1);
tol=tol/10;
x=zeros(n,1);
for i=1:n
    xmin=range(i,1);
    xmax=range(i,2);
    xcur=(xmin+xmax)/2;
    while xmax-xmin>tol
        if sign(fun(xmin))*sign(fun(xcur))>0
            xmin=xcur;
        else
            xmax=xcur;
        end
        xcur=(xmin+xmax)/2;
    end
    x(i)=xcur;
end
%--------------------------------------------------------------------------
x=sort([x;x0]);

[ Last edited by fspdlh on 2009-5-7 at 08:33 ]
回复此楼

» 猜你喜欢

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

fspdlh

金虫 (正式写手)


应用实例

求解正弦函数

>> solvefun('sin(x)',-30,30,1,1e-5)

ans =

  -28.2743
  -25.1327
  -21.9911
  -18.8496
  -15.7080
  -12.5664
   -9.4248
   -6.2832
   -3.1416
         0
    3.1416
    6.2832
    9.4248
   12.5664
   15.7080
   18.8496
   21.9911
   25.1327
   28.2743

问题来源:http://muchong.com/bbs/viewthread.php?tid=1251344

>> solvefun('x.*bessel(1,x)-bessel(0,x)',0,100,1,1e-5)

ans =

    1.2558
    4.0795
    7.1558
   10.2710
   13.3984
   16.5312
   19.6667
   22.8040
   25.9422
   29.0812
   32.2207
   35.3606
   38.5007
   41.6411
   44.7817
   47.9223
   51.0631
   54.2040
   57.3450
   60.4860
   63.6271
   66.7682
   69.9094
   73.0506
   76.1918
   79.3331
   82.4744
   85.6157
   88.7570
   91.8984
   95.0398
   98.1811


问题来源:http://muchong.com/bbs/viewthread.php?tid=1313419
>> solvefun('cos(x)*cosh(x)-1',0,100,1,1e-5)

ans =

         0
    4.7300
    7.8532
   10.9956
   14.1372
   17.2788
   20.4204
   23.5619
   26.7035
   29.8451
   32.9867
   36.1283
   39.2699
   42.4115
   45.5531
   48.6947
   51.8363
   54.9779
   58.1195
   61.2611
   64.4026
   67.5442
   70.6858
   73.8274
   76.9690
   80.1106
   83.2522
   86.3938
   89.5354
   92.6770
   95.8186
   98.9602

[ Last edited by fspdlh on 2009-5-7 at 08:38 ]
2楼2009-05-07 08:34:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shinevip

木虫 (正式写手)


★★★ 三星级,支持鼓励

лл
3楼2009-05-08 22:43:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 fspdlh 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 专硕310求调剂 +5 捞捞我…. 2026-04-04 6/300 2026-04-04 23:33 by barlinike
[考研] 266分,一志愿电气工程,本科材料,求材料专业调剂 +11 哇呼哼呼哼 2026-04-01 12/600 2026-04-04 23:17 by 永字号
[考研] 数二 英语一,求调剂,本科学校福建农林大学 +3 五峰尖 2026-03-29 3/150 2026-04-04 23:10 by zhyzzh
[考研] 358求调剂 +5 秋gk 2026-04-04 5/250 2026-04-04 21:03 by dongzh2009
[考研] 材料调剂 +12 一样YWY 2026-04-02 13/650 2026-04-04 20:49 by 蓝云思雨
[考研] +5 雾与海 2026-04-02 6/300 2026-04-04 19:53 by 蓝云思雨
[考研] 081200-11408-276学硕求调剂 +5 崔wj 2026-03-31 5/250 2026-04-04 19:45 by 1753564080
[考研] 土木304求调剂 +4 兔突突突, 2026-03-31 4/200 2026-04-04 13:34 by 1753564080
[考研] 数一英一274机械调剂 +4 星陨流霞 2026-04-04 5/250 2026-04-04 09:35 by liucky
[考研] 329求调剂,一志愿西北工业大学,材料工程(085601) +8 小小机灵虫 2026-03-29 14/700 2026-04-03 19:38 by lijunpoly
[考研] 材料专硕322分 +13 哈哈哈吼吼吼哈 2026-04-01 13/650 2026-04-03 16:08 by 哦哦123
[考研] 化学070300-总分378-求调剂 +5 挪椅子的泡泡糖 2026-04-02 5/250 2026-04-02 22:20 by ZXlzxl0425
[考研] 377求调剂 +3 RASKIN 2026-04-02 3/150 2026-04-02 09:45 by zzchen2000
[考研] 085410 一志愿211 22408分数359求调剂 +3 123456789qw 2026-03-31 4/200 2026-04-02 00:06 by 义文wang
[考研] 生物与医药考研调剂 +5 铁憨憨123425 2026-03-31 5/250 2026-04-01 18:01 by syh9288
[考研] 一志愿 南京航空航天大学 ,080500材料科学与工程学硕 +7 @taotao 2026-03-30 7/350 2026-04-01 14:30 by chenqifeng666
[考研] 复试调剂 +7 双马尾痞老板2 2026-03-31 7/350 2026-03-31 19:49 by Dyhoer
[考研] 物理学调剂 +4 小羊36 2026-03-30 4/200 2026-03-31 16:16 by lishahe
[考研] 266求调剂 +3 哇呼哼呼哼 2026-03-29 3/150 2026-03-31 10:06 by cal0306
[考研] 材料专硕 085600求调剂 +7 BBQ233 2026-03-30 7/350 2026-03-30 17:44 by oooqiao
信息提示
请填处理意见