How do I evaluate a user-input trigonometric function?
显示 更早的评论
I'm not entirely sure how to explain this but here is the question:

My main issue is I don't know how to use eval when using a user-input trigonometric function. (I don't really need help with the graphing part).
This is my attempt:
n = input('Enter a positive number n: ');
x = linspace(0, n, 1000)
trigfunc = input('Enter a trigonometric function: ', 's');
eval('trigfunc(x)')
1 个评论
"Then, by using the function eval..."
Ugh, why teach impressionable students such awful programming practices?
Why not simply use a basic look-up, or str2func() or feval() ?
采纳的回答
更多回答(2 个)
num = str2double(input('End value of vector: ','s'));
fun = str2func(input('Trig function (e.g. sin, cos, etc.): ','s'));
x = linspace(0,num,1000);
y = fun(x);
plot(x,y)
To which it is also easy to add input checking, etc.
Prathap
2022-12-26
0 个投票
Plot the trigonometric curve as a function of time. Hint: Use ‘eval’ function within the script to accept different trigonometric functions (e.g., sin, cos, tan, etc.).
1 个评论
Stephen23
2022-12-26
Much Better Hint: Use STR2FUNC() function within the script to accept different trigonometric functions:
类别
在 帮助中心 和 File Exchange 中查找有关 Get Started with MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!