由于y中的错误,程序无法正常工作

时间:2013-05-13 22:00:35

标签: matlab

这是我的程序,它应该从用户那里获得起始x值,步进值和结束x值的输入,用户也输入他喜欢的y函数,然后该图应该是图形的但我一直有错误,有什么想法吗?

clear all ; % clear memory
close all ; % close any open figures
drawnow ; % update screen now
clc ; % clear screen


display('** Welcome to Plotting Program **') ;
display(' ');

start=input('please enter starting x value:');
step=input('please enter ending x value:');
stop=input('please enter step value:');

y= double(input('please input your equation:'));

x=double(start:step:stop);


plot(x,y);

1 个答案:

答案 0 :(得分:1)

您可以使用str2func()将字符串输入转换为函数句柄:

y = input('Input only the RHS of your equation as a function of ''x'' and enclose in '': ')
y = str2func(['@(x)' y]);
plot(x,y(x))

另请注意double(start:step:stop)不起作用,因为您要将字符转换为ASCII映射:

double('20')
ans =
    50    48

改为使用str2double(input('...'))