2014-09-29 4 views
1

Я совершенно новый для Matlab. Я получил сообщение об ошибке сказав «Не достаточно аргументов ввода»matlab Недостаточно аргументов входных аргументов

function ckl = cofact(A,k,l) 
% Cofactor ckl of the a_kl entry of the matrix A. 
[m,n] = size(A); 
if m ~= n 
    error('Matrix must be square') 
14 
end 
B = A([1:k-1,k+1:n],[1:l-1,l+1:n]); 
ckl = (-1)^(k+l)*det(B); 

ошибку:

>> cofact 
Error using cofact (line 3) 
Not enough input arguments. 
+0

Вы определили, что ваша функция должна иметь 3 входных аргумента, но вы вызываете их без каких-либо аргументов. Посмотрите на http://www.mathworks.com/help/matlab/ref/varargin.html для переменного количества аргументов. Плохой практикой в ​​Matlab является размещение функций и скриптов в одном файле. – Cheery

ответ

0

в Matlab вы можете иметь функции с входными и выходными аргументами. В вашем случае у вас есть оба. Первый, «clk» - это выходной аргумент (решение). И ваши входные аргументы - «A», «k», «l». Когда вы вызываете свою функцию «cofact», вам нужно вызвать ее, установив эти аргументы. Поэтому вам необходимо определить входное значение для переменных «A», «k», «l». В вашем случае A будет матрицей, а k и l - позициями, которые вы хотите использовать. Поэтому, когда вы это называете, будет что-то похожее на:

solution = cofact (MATRIX, ARG1, ARG2);

Смежные вопросы