| V I S U A L I Z Z A D I S C U S S I O N E |
| kanc |
Inserito il - 29/10/2008 : 13:24:32 function [y]=laplace (A) [m,n]=size (A) if m~=n error ('La matrice non è quadrata') end if n==1 y=A end else y=0 for j=1:n A1j=[2:n,(1:j-1,j+1,n)] y=(y+[(-1)^(j+1)]*A(1,j)*laplace (A1j))
end endfunction
perchè non funziona??? l'ho copiata pari pari da iavernaro... grazie in anticipo
|
| 2 U L T I M E R I S P O S T E (in alto le più recenti) |
| Dr House |
Inserito il - 29/10/2008 : 14:07:41 evidentemente non l'hai copiata bene
Citazione: Messaggio inserito da kanc
function [y]=laplace (A) [m,n]=size (A) if m~=n error ('La matrice non è quadrata') end if n==1 y=A end <--- NON SERVE else y=0 for j=1:n A1j=[2:n,(1:j-1,j+1,n)] <--- CI SONO PARECCHIE IMPRECISIONI y=(y+[(-1)^(j+1)]*A(1,j)*laplace (A1j))
end endfunction

Se ci ragioni l'end dopo l if non serve, sopratutto se ci metti il ramo else. Poi dove ho scritto ci sono parecchie imprecisioni stai utilizzando l'operatore : per fare una sottomatrice ma non specifichi da che matrice te la deve fare. Poi nella formula dove ce la chiamata ricorsiva hai usato parentesi quadre dove dovevi usare parentesi tonde..
Spero di esserti stato utile, ciao!
|
| Rio |
Inserito il - 29/10/2008 : 13:57:12 Su quale riga dà errore?
|
|
|