matlab求指定点的导数

来源:百度知道 编辑:UC知道 时间:2024/06/10 13:23:51
%算法3-2 不动点迭代法
%输入初值P0,,最大迭代次数N,误差限tol
%输出近似跟p,迭代次数k
%输入示例
%niudun(inline('1/2+1/4*x^2-x*sin(x)-1/2*cos(2*x)'),9.5*pi,20000,1e-5)
function niudun(f,p0,N,tol)
for k=1:N
p1=p0-f(p0)/diff(f(p0);
if abs(p1-p0)<tol
break
end
p0=p1;
end
disp(p1);
disp(k);
这是我的matlab程序,我想用diff(f(p0);求f函数在p0点的导数,但总是报错,似乎不声明变量x就求不了,我的f是作为参数传递的,如何实现,我希望程序看起来简洁,使用方便
加了括号还是不行,一般的求导我知道,但是我想让程序变的通用些,所以希望输入任何函数都能计算出任意点的导数值。

试试polyval(y,xo)

maybe
【1】
diff(f(p0);好像缺了半个括号吧

【2】
求导的话
一般实现求出导数函数,再把要求的点带进去就行了。

==========================================
因为没自己看,以上作为参考。