错误:`输入参数“N”是未定义的,在简单的matlab程序中

时间:2013-05-10 22:04:01

标签: matlab arguments undefined

我在Matlab中有这个小程序。

laMatriz.m

function k = laMatriz(X)
    Y = 9;
    A = zeros(X, Y);    
    for i=1:X
        V = elVector(Y);
        LimY = length(elVector);
        for j=1:LimY
            A(i,j) = V(j); 
        end
    end
    k = A;
end


elVector.m

function elVector = elVector(N)
    %fprintf('largo de elVector %i\n', N);
    elVector=1:N;
end

调用函数laMatriz(10)会导致此错误:

??? Input argument "N" is undefined.

Error in ==> elVector at 3
    elVector=1:N;

Error in ==> laMatriz at 11
        LimY = length(elVector);

为什么呢?我该如何解决?

1 个答案:

答案 0 :(得分:1)

问题在于这个功能:

function k = laMatriz(X)
    Y = 9;
    A = zeros(X, Y);    
    for i=1:X
        V = elVector(Y);
        LimY = length(elVector); <-- here you are calling length(elVector)
        for j=1:LimY
            A(i,j) = V(j); 
        end
    end
    k = A;
end

elVector是一个函数,因此您无法使用它调用length。你是说length(V)吗?基本上你的错误是说函数N的参数elVector不存在。