2015-11-13 2 views
0

Я имею эту функцию в Matlab:Как опубликовать код с примером

function [L,A]=LU_factor(A,n)  
L=eye(n); 
for k=1:n 
    if (A(k,k) == 0) Error('Pivoting is needed!'); end 
    L(k+1:n,k)=A(k+1:n,k)/A(k,k); 
    A(k+1:n,:) = A(k+1:n,:) - L(k+1:n,k)*A(k,:) 
end 

И когда я использую командную строку и создать матрицу A = rand(4,4) и вычислить [L U] = LU_factor(A,4) все в порядке, и я получаю желаемый результат. Но когда я пытаюсь опубликовать его я получаю эту ошибку:

Error using LU_factor (line 2) Not enough input arguments.

Как я могу опубликовать свою работу в файл, чтобы он содержит как функцию и пример. (Извините, я совершенно не знаком с Matlab).

+0

Полностью вне темы - Начать прием решений по вашему предыдущему вопросу? Кажется, вы используете их здесь. – Divakar

+0

@Divakar Извините, что я забыл ответить на последний вопрос, но почему этот отключен? Должен ли я спросить его где-нибудь еще? – bido

+0

Я имел в виду, что мой вопрос/комментарий был вне темы :) – Divakar

ответ

0

Первый способ иметь основную функцию, а затем опубликовать:

function main 
A = rand(4); 
n = 2; 
[L,A]=LU_factor(A,n) 
end 

function [L,A]=LU_factor(A,n)  
L=eye(n); 
for k=1:n 
    if (A(k,k) == 0) 
     error('Pivoting is needed!'); 
    end 
    L(k+1:n,k)=A(k+1:n,k)/A(k,k); 
    A(k+1:n,:) = A(k+1:n,:) - L(k+1:n,k)*A(k,:) 
end 
end 

enter image description here

Другой путь был упомянут в this answer уже.

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