Whats wrong with my code?
2 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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!