Imported variable is not transferred to fzero- function
Show older comments
function y = fzero_optimset(~,~)
x = -5:.01:5;
disp('Please enter a value for variable a!')
a = input('a = ');
y = 1./(1+x.^2) + a * x - 1/2;
plot(x,y);
grid on;
hold on;
x0 = fzero('1./(1+x.^2) + a * x - 1/2',-1,optimset,.1);
plot(x0,0,'x');
end
1 Comment
Matt J
on 2 Sep 2021
@Florian Roeder's comment moved here
In line 3 of my code, user is prompted to enter a value for variable a.
When I run the code, function "y=1./(1+x.^2)+a*x-1/2" is evaluated correctly. Figure is correct as well.
When function reaches line "x0 = fzero('1./(1+x.^2) + a * x - 1/2',-1,optimset,.1);" , MATLAB shows following error message:
FZERO cannot continue because user-supplied expression ==>
1./(1+x.^2) + a * x - 1/2 failed with the error below.
Error in inline expression ==> 1./(1+x.^2) + a * x - 1/2
Undefined function or variable 'a'.
Error in fzero_optimset (line 20)
x0 = fzero('1./(1+x.^2) + a * x - 1/2',-1,optimset,.1);
How can I handle this problem? I don´t know how to change the code.
Accepted Answer
More Answers (0)
Categories
Find more on Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!