Help primi passi in matlab!

di il
1 risposte

Help primi passi in matlab!

Sono alle primissime armi con Matlab, e devo scrivere un semplice programmino che mi disegni un cerchio bianco su uno sfondo nero!
Il codice è il seguente, ma non capisco cosa non va!

function I=cerchio(i0,x,y,r)
I=i0;
l=size(i0);
for i=1:l(1)
for j=1:l(1)
d=sqrt((i-x)^2+(j-y)^2);
if d<r
I(i,j)=1;

end
end
end



>> A=zeros(100,100);
>> I=cerchio(A,20,50,30);
>> imshow (I)

Alla fine mi esce solo lo sfondo nero!
Dove sbaglio??

1 Risposte

  • Re: Help primi passi in matlab!

    sscritta ha scritto:


    function I=cerchio(i0,x,y,r)
    I=i0; --> non serve a niente, questa riga la puoi cancellare!!!
    l=size(i0);
    for i=1:l(1)
    for j=1:l(1) --> al posto dell'1 va il 2, se lasci 1 disegni una sola dimensione di sfondo nero
    d=sqrt((i-x)^2+(j-y)^2);
    if d<r
    I(i,j)=1;

    end
    end
    end
    Per richiamare questa funzione devi considerare che x,y e r devono essere al massimo la metà della dimensione della matrice i0, e in ogni caso r deve essere minore o uguale a x e y altrimenti viene tagliato! E se vuoi un cerchio al centro della figura x e y devono essere uguali. Se tieni conto di queste particolarità funziona tutto!
Devi accedere o registrarti per scrivere nel forum
1 risposte