Simple fixed-point iteration method

My task is to implement (simple) fixed-point interation.
So far, I've got the following and I keep receiving error Undefined function 'fixedpoint' for input arguments of type 'function_handle'.
(I'm new in Matlab, so there may be both syntactical or semantical errors...)
function [ x ] = fixedpoint(g,I,y,tol,m)
% input: g, I, y, tol, max
% g - function
% I - interval
% y - starting point
% tol - tolerance (error)
% m - maximal number of iterations
% x - approximate solution
a=I(1);b=I(2);
if(y<a | y>b)
error('The starting iteration does not lie in I.')
end
x=y;
gx=g(y);
while(abs(x-gx)>tol & m>0)
if(gx<a | gx>b)
error('The point g(x) does not lie in I.')
end
y=x;
x=g(y);
m=m-1;
end

 採用された回答

Dimitris Kalogiros
Dimitris Kalogiros 2019 年 9 月 22 日

0 投票

Dear John
Put your function into the same folder with the program (m-file) that calls it.

4 件のコメント

John  Smith
John Smith 2019 年 9 月 22 日
Thank you for the answer, but I checked this and I really have the file in the working directory.
In fact, I have another function in the directory, which runs with no problems...
Dimitris Kalogiros
Dimitris Kalogiros 2019 年 9 月 22 日
I wonder , what is the calling program.
If you don't mind , could you provide it ?
John  Smith
John Smith 2019 年 9 月 23 日
I am not sure, what I have done, but it is working fine now. ¯\_(ツ)_/¯
Anyway, thank you for your time.
> I wonder , what is the calling program.
It might have been the problem. I guess the function and the file have to share the name, right?(I mean, if I code a function F, then it has to be saved as file F.m.)
Dimitris Kalogiros
Dimitris Kalogiros 2019 年 9 月 24 日
Hm hm, I don't know if it is necessary , but I always follow this rule.

サインインしてコメントする。

その他の回答 (4 件)

Ishita Sharma
Ishita Sharma 2020 年 8 月 18 日

0 投票

f(x)=x^2 - x -1 =0
emmanuel john Lavarias
emmanuel john Lavarias 2021 年 9 月 27 日

0 投票

  1. Solve one real root of ex2x5=0ex2x5=0 with x0=2x0=2 using the Fixed-Point Iteration Method accurate to four decimal places.
Ahteshamul Hoque  Tareq
Ahteshamul Hoque Tareq 2022 年 1 月 8 日

0 投票

a=I(1);b=I(2); if(y<a | y>b) error('The starting iteration does not lie in I.') end x=y; gx=g(y); while(abs(x-gx)>tol & m>0) if(gx<a | gx>b) error('The point g(x) does not lie in I.') end y=x; x=g(y); m=m-1; end
Tsega'ab
Tsega'ab 2023 年 12 月 13 日

0 投票

function [ x ] = fixedpoint(g,I,y,tol,m)
% input: g, I, y, tol, max
% g - function
% I - interval
% y - starting point
% tol - tolerance (error)
% m - maximal number of iterations
% x - approximate solution
a=I(1);b=I(2);
if(y<a | y>b)
error('The starting iteration does not lie in I.')
end
x=y;
gx=g(y);
while(abs(x-gx)>tol & m>0)
if(gx<a | gx>b)
error('The point g(x) does not lie in I.')
end
y=x;
x=g(y);
m=m-1;
end

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

2019 年 9 月 22 日

回答済み:

2023 年 12 月 13 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by