Info
This question is closed. Reopen it to edit or answer.
I want to convert my program in to a function......tried function but something is wrong....???
1 view (last 30 days)
Show older comments
Here is my program. How to write its function??
Inputs and output are as indicated in program
clc
clear all
close all
%=======================Inputs to the program==============================
f = @(x) x.^2+54/x;
k=1;
x(k)=1;
a=x(k);
e=0.1;
%============================Main program=================================
if abs(x(k))>0.01
dx=0.01*abs((x(k)));
else
dx=0.0001;
end
for m=1:inf
D1=(f(a+dx)-f(a-dx))/(2*dx);
D2=(f(a+dx)-2*f(a)+f(a-dx))/(dx)^2;
x(k+1)=a-(D1/D2);
a=x(k+1); % Program Output after m iterations
C1=(f(a+dx)-f(a-dx))/(2*dx);
if abs(C1)<e
break
else
k=k+1;
end
end
%================================END=======================================
%===========Progrm output is the final value of 'a'========================
0 Comments
Answers (2)
Walter Roberson
on 13 Sep 2015
f=inline(eqn);
However, you have
a=x(k);
and other references to x(k) when you have no x defined.
0 Comments
Image Analyst
on 13 Sep 2015
You need two function lines if you're going to put this in one m-file. One for the test program, and one for your function:
function TestMyFunction()
clc
clear all
close all
%=======================Inputs to the program==============================
f = @(x) x.^2+54/x;
k=1;
x(k)=1;
a=x(k);
e=0.1;
% Now have TestMyFunction() call MyFunction()
new_a = MyFunction(f,k,x,a,e);
function a = MyFunction(f,k,x,a,e)
% Code for it....
Again, that can be all in one m-file, or you can use two separate m-files if you want.
1 Comment
This question is closed.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!