Whats wrong with my code?
4 views (last 30 days)
Show older comments
Jesse Crotts
on 24 Mar 2017
Answered: Star Strider
on 24 Mar 2017
All I wanna do is plot a user input function. What's wrong with this? I'm new to function handles. So any extra tips would be great too!!!
if true
% code
F = input('Enter a function in terms of x: y= ', 's');
disp('Your function is');
disp(F);
fh = @(x)str2func(F);
d1 = input('Lower domain limit: ');
d2 = input('Upper domain limit: ');
x = linspace(d1-(d2-d1)*.15,d2+(d2-d1)*.15,1000); %15 percent out of domain
y = fh(x);
plot(x,y);
end
0 Comments
Accepted Answer
Star Strider
on 24 Mar 2017
Your ‘fh’ assignment is incorrect.
Either of these will work:
fh = str2func(vectorize(sprintf('@(x) %s',F)));
fh = str2func(vectorize(['@(x) ',F]));
I prefer the sprintf version. Both are correct.
0 Comments
More Answers (0)
See Also
Categories
Find more on Financial Toolbox 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!