| 查看: 449 | 回复: 2 | ||
| 【奖励】 本帖被评价1次,作者fspdlh增加金币 0.5 个 | ||
| 当前主题已经存档。 | ||
[资源]
【原创】二分法求解多解方程
|
||
|
看到小木虫里有些人问过求方程某个区间内解的问题,在此,发一个自编的原代码供大家用 参数中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 ] |
» 猜你喜欢
售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急
已经有4人回复
面上项目2026年人工智能评审意见,不知道是否上会
已经有9人回复
售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急
已经有4人回复
大家好,校样时候的紧急求助,请各位帮帮忙了
已经有7人回复
昨日死,今日生
已经有7人回复
售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急
已经有7人回复
有没有同学在用一款线上科研辅助平台?
已经有3人回复
27年博士招生信息
已经有13人回复
植酸TLC薄层色谱爬板
已经有6人回复
单宁酸
已经有3人回复
应用实例
|
求解正弦函数 >> 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
3楼2009-05-08 22:43:53











回复此楼
