MATLAB - 为什么这不起作用?

时间:2011-12-10 03:34:40

标签: matlab

我很难过。 MATLAB的语法是怎么回事?

clear all;

dx = .1;
x=-2:dx:2;
f=zeros(length(x),1);
int_f=zeros(length(x),1);
for n=1:length(x)
    f(n)=x(n).^2;
    int_f(n) = f(n)*dx+int_f(n);
end
plot(x,int_f(n));

2 个答案:

答案 0 :(得分:6)

我认为你应该使用plot(x,int_f);来绘制,用这种方式绘制两个数组,而不是一个数组对一个数字。

此外,您的整体步骤是错误的,它应该是int_f(n) = f(n)*dx+int_f(n-1),除了第一次运行,它应该是int_f(n) = f(n)*dx

答案 1 :(得分:2)

因为在plot(x,int_f(n));中,x是行向量,但int_f(n)是标量值。你应该在向量上绘制一个向量。