2012-12-03 101 views
3

所以我必须在MatLab中绘制一些图。MatLab绘图功能错误

起初我这个保存为.m文件:

function y = f(x) 
y = sqrt((abs(sin(21*pi*x)))/(2+sin(20*pi*x))); 

然后我做的:

x=[0:0.05:1] 
y=f(x) 

,然后当我需要绘制图形,使用

plot(x,f) 

我收到此错误:

??? Input argument "x" is undefined. 
Error in ==> f at 2 
y = sqrt((abs(sin(21*pi*x)))/(2+sin(20*pi*x))); 

有人能告诉我这里有什么问题吗?

回答

3

将元素除以两个向量时,您需要有./运算符而不是/。试试这个

x = 0:0.05:1; 
y = sqrt((abs(sin(21*pi*x)))./(2+sin(20*pi*x))); 
plot(x,y) 

enter image description here

+0

HM ..我仍然得到错误,但它至少平局,一个三角形:) – silverbolt

+0

对不起,在x步骤0.5,而不是0.05错字。我编辑了答案,再试一次。 – bla

+0

同样的图表,谢谢;) – silverbolt