MATLAB 割线法程序 20
functionx=gexian(fun,x0,x1,e)ifnargin<4,e=1e-4;endy=x0;x=x1;whileabs(x-y)>ez=x-(feval...
function x=gexian(fun,x0,x1,e)
if nargin<4,e=1e-4;
end
y=x0;x=x1;
while abs(x-y)>e
z=x-(feval(f,x)*(x-y))/(feval(f,x)-feval(f,y));
y=x;
x=z;
end
在命令框里输入
clear
fun=inline('x^3+4*x^2-10');
gexian(fun,0,1,1e-6),format short
显示Undefined function 'gexian' for input arguments of type 'inline'. 展开
if nargin<4,e=1e-4;
end
y=x0;x=x1;
while abs(x-y)>e
z=x-(feval(f,x)*(x-y))/(feval(f,x)-feval(f,y));
y=x;
x=z;
end
在命令框里输入
clear
fun=inline('x^3+4*x^2-10');
gexian(fun,0,1,1e-6),format short
显示Undefined function 'gexian' for input arguments of type 'inline'. 展开
3个回答
展开全部
非常感谢jimtien,我也为有需要的人再提供一些帮助:
用割线法求方程 X^2-e^x=0 的根 MATLAB做
command window 窗口输入:
clear all
global fnq dfnq
fnq = @(x) x^2 - exp(x); % x^2 - exp(x)=0,要求的原方程
dfnq = @(x) 2*x-exp(x); %一阶导
tol = (1/2)*10^-4; %精度|x*-xk|<(1/2)*10^-4
gmax = 1e3; %最大值1000
x01 = -3; %区间[-3,3]
x02 = 3;
[k,xk,yk,piancha]=gexian(x01,x02,tol,gmax); 先把jimtien的程序保存为gexian.m,以便此调用function
fprintf('\n割线法:%.5f\n', xk)
%上面的程序为一好友:童伟,所编。
用割线法求方程 X^2-e^x=0 的根 MATLAB做
command window 窗口输入:
clear all
global fnq dfnq
fnq = @(x) x^2 - exp(x); % x^2 - exp(x)=0,要求的原方程
dfnq = @(x) 2*x-exp(x); %一阶导
tol = (1/2)*10^-4; %精度|x*-xk|<(1/2)*10^-4
gmax = 1e3; %最大值1000
x01 = -3; %区间[-3,3]
x02 = 3;
[k,xk,yk,piancha]=gexian(x01,x02,tol,gmax); 先把jimtien的程序保存为gexian.m,以便此调用function
fprintf('\n割线法:%.5f\n', xk)
%上面的程序为一好友:童伟,所编。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
z=x-(feval(f,x)*(x-y))/(feval(f,x)-feval(f,y));
把f 改成fun
把f 改成fun
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询