我在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);
为什么呢?我该如何解决?
答案 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
不存在。