how to call this function in another script?

1 Ansicht (letzte 30 Tage)
Mohammed AlQahtani
Mohammed AlQahtani am 9 Feb. 2022
Beantwortet: Nivedita am 14 Nov. 2023
function M=bisFor(f, a, b, ~)
M=ceil((log10(b-a)/TOL)/log10(2));
FA=f(a);
value=(1:M);
for i=value
p=a+(b-a)/2;
FP=f(p);
if sign(FA)==sign(FP)
a=p;
FA=FP;
else
b=p;
end
end
p=a+(b-a)/2;
end
  2 Kommentare
Abolfazl Chaman Motlagh
Abolfazl Chaman Motlagh am 9 Feb. 2022
the error is in mmmm.m file. you should show us what is in line 7 of that.
Jan
Jan am 9 Feb. 2022
Bearbeitet: Jan am 9 Feb. 2022
Just a hint:
value=(1:M);
for i=value
This is much slower than:
for i = 1:M
What is the purpose of defining a 4th ignored input?
function M=bisFor(f, a, b, ~)
% ^ ??
On the other hand, what is "TOL"? Do you want to provide this as 4th input?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Nivedita
Nivedita am 14 Nov. 2023
I understand that you want to call the "bisFor" function in another script. To call this function in another script, you just need to make sure the function is in your MATLAB path. Then, you can call it just like any other function.
Here's an example of how you can call this function:
% Define the function you want to find the root of
f = @(x) x^2 - 2;
% Define the interval [a, b]
a = 1;
b = 2;
% Define the tolerance
TOL = 1e-5;
% Call the bisFor function
M = bisFor(f, a, b, TOL);
% Display the result
disp(M);
In this script, we first define the function "f" using a function handle. This function is "x^2 - 2", which has a root at "sqrt(2)". Then we define the interval [a, b] where we want to find the root, and the tolerance "TOL" for the bisection method. Finally, we call the "bisFor" function with these parameters and display the result.
Please replace the function "f", the interval [a, b], and the tolerance "TOL" with your own values as needed.
For more information on function handles, you can refer to the following documentation link:
I hope this helped!
Regards,
Nivedita.

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by