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

 採用された回答

Star Strider
Star Strider 2017 年 3 月 24 日

0 投票

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 件)

カテゴリ

ヘルプ センター および File ExchangeFinancial Toolbox についてさらに検索

質問済み:

2017 年 3 月 24 日

回答済み:

2017 年 3 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by