Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2011-06-09, 23:27   #1
warrior_ngc
初级会员
 
注册日期: 2010-12-22
年龄: 39
帖子: 5
声望力: 0
warrior_ngc 正向着好的方向发展
默认 用二分法求解矩阵方程

假如我编了个求二分法的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个方程的解啊....
求详细答案。。。来讨论吧
warrior_ngc 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 11:14


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.