- A file identifier
- A format character vector or format string scalar
- A device object for some kinds of devices such as serialport objects
Coding a function to find zeros using a variant of the bisection/secant method
조회 수: 4 (최근 30일)
이전 댓글 표시
Hello, I have a programming assignment where I have to implement a matlab function that is a variant of the bisection and secant method. Please see attachment for exact details. I am having problems with the code. Will someone help me with the necessary fixes? My code is as follows: —————————————————————————————————————-
if true
% code
function p = bisection(f, a, b, tol)
w=1;
for i=1:100
p= a +(w*f(a)*(a-b)/f(b)-w*f(a));
fprintf(a,b,p,f(p));
if f(p)*f(b)>0
w=0.5;
else
w=1;
a=b;
end
b=p;
if abs(b-a)<tol
abs(f(p))<tol
break;
end
end.
댓글 수: 0
채택된 답변
Walter Roberson
2021년 9월 28일
No, no error about needing to use () . However,
output = bisection(@(x) sin(x)+3*cos(x).^2, -pi/2, pi/2, 1e-5)
function p = bisection(f, a, b, tol)
w=1;
for i=1:100
p= a +(w*f(a)*(a-b)/f(b)-w*f(a));
fprintf(a,b,p,f(p));
if f(p)*f(b)>0
w=0.5;
else
w=1;
a=b;
end
b=p;
if abs(b-a)<tol
abs(f(p))<tol
break;
end
end
end
This is because the first parameter to fprintf must be one of:
The first parameter you are passing is a, which is numeric but is not a valid file identifier.
댓글 수: 6
Walter Roberson
2021년 9월 29일
fprintf('Lovorizia, the value for a was %g .\nAnd b was %g .\n, Then there was p, which was %g .\n And lastly, if you still care, f(p) was %g .\n', a, b, p, f(p));
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Manage Products에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!