📄 secant.m
字号:
function [fx,fy,iter] = secant(func,limt)
if length(limt)~=2
error('error input limt!');
end
%falpha1 = subs(func,limt(1));
fdalpha1 = subs(diff(func),limt(1));
fdalpha2 = subs(diff(func),limt(2));
newp = limt(1) - ((limt(1)-limt(2))*fdalpha1)/(fdalpha1-fdalpha2);
fdnewp = subs(diff(func),newp);
iter = 0;
while abs(fdnewp)>10^10*eps
if fdnewp<0
limt(1) = newp;
else
limt(2) = newp;
end
fdalpha1 = subs(diff(func),limt(1));
fdalpha2 = subs(diff(func),limt(2));
newp = limt(1) - ((limt(1)-limt(2))*fdalpha1)/(fdalpha1-fdalpha2);
fdnewp = subs(diff(func),newp);
iter = iter+1;
end
fx = newp;
fy = subs(func,newp);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -