Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2010-12-22
年龄: 39
帖子: 5
声望力: 0 ![]() |
![]()
假如我编了个求二分法的M文件:demimethod.m
如下:function [x,k]=demimethod(a,b,f,emg) % a,b :求解区间的两个端点 % f :所求方程的函数名 % emg :精度指标 % x:所求近似解 % k: 循环次数 fa=feval(f,a); fab=feval(f,(a+b)/2); k=0; while abs(b-a)>emg if fab==0 x=(a+b)/2; return; elseif fa*fab<0 b=(a+b)/2; else a=(a+b)/2; end fa=feval(f,a); fab=feval(f,(a+b)/2); k=k+1; end x=(a+b)/2; 然后运行命令行: >> f=@(x)x^3-3*x+2-exp(x); >> demimethod(-5,5,f,10^(-8)) ans = -1.9846 但请注意如果我要求的函数含有矩阵符号怎么办?? 比如:m=[1:1:99]; f=@(x)x^3-m*x+2-exp(x); 那如何求解这100个方程的解啊.... 求详细答案。。。来讨论吧 |
![]() |
![]() |