matlab - 在 Matlab 中执行割线方法时没有得到结果
问题描述
我是 MATLAB 的新手,正在研究数值计算课程的割线法,但我没有得到结果,因为我在纸上解决了问题。我正在提供我的代码,请告诉我此代码中缺少什么。
function x = mysecant(f,x0,x1,n)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
y0 = f(x0);
y1 = f(x1);
for i = 1:n
x = x1 - (x1 - x0)*y1/(y1-y0); %secant formula.
y = f(x);
x0 = x1;
y0=y1;
x1=x;
end
end
解决方案
基本上,我们必须在割线方法的每次迭代之后x1
更新值。y1
您只是在更新x1
而不是 y1,添加y1 = y
. 这将解决您的问题。
function x = mysecant(f,x0,x1,n)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
y0 = f(x0);
y1 = f(x1);
for i = 1:n
x = x1 - (x1 - x0)*y1/(y1-y0); %secant formula.
y = f(x);
x0 = x1;
y0=y1;
x1=x;
y1=y;
end
end
推荐阅读
- reactjs - React-Redux mapStateToProps 并没有在任何地方被调用
- laravel - 在 cpanel 中找到基于 laravel 和 voyager 构建的网站的主网站(首页)文件
- html - 标签的含义
- css-selectors - 如何找到href/a/button的css选择器
- linux - 如何在树莓派 3b+ 中同时使用静态以太网 ip 和 Wi-Fi
- javascript - 如何从包含多个对象数组的 Json 数据中提取多个对象数组?
- html - Selenium html.text 返回不完整的结果
- php - 登录后如何自定义重定向
- ruby - 尝试在 Ruby 中实例化自定义对象时抛出(参数错误)
- r - 随机游走自相关函数的 3D 图