boogler boogler
forum van 1tx2a/b
 
 FAQFAQ   ZoekenZoeken   GebruikerslijstGebruikerslijst   GebruikersgroepenGebruikersgroepen   RegistrerenRegistreren 
 ProfielProfiel   Log in om je privéberichten te bekijkenLog in om je privéberichten te bekijken   InloggenInloggen 

wiskunde scilab code

 
Nieuw onderwerp plaatsen   Reageren    boogler -> samenvattingen
Vorige onderwerp :: Volgende onderwerp  
Auteur Bericht
ilias



Geregistreerd op: 06 Okt 2010
Berichten: 110

BerichtGeplaatst: 27-05-2011 10:43:46    Onderwerp: wiskunde scilab code Reageren met citaat

https://pastee.org/s3m5n
Terug naar boven
Profiel bekijken Stuur privébericht
userkef1992



Geregistreerd op: 06 Okt 2010
Berichten: 220

BerichtGeplaatst: 27-05-2011 11:40:06    Onderwerp: Reageren met citaat

Code:

function z=tovervierkant(A)
    //checkt of de matrix A een tovervierkant is, ja: z = uitkomst: z = 0
    if length(A)<>0 then
        X = A(1,:)
        Y = A(:,1)
        somdiag = sum(diag(A))
        somdiag2 = 0
   
        z = sum(X)
        i = 1
        if length(X)==length(Y) then
            while i<=length(X) & z==sum(X)
                //horizontaal, vertikaal
                if sum(A(i,:))<>sum(X) | sum(A(:,i))<>sum(X) then
                z = 0
                end
           
                //omgekeerde diagonaal optellen
                getal = length(X)+1-i
                somdiag2 = somdiag2 + A(i,getal)
                i = i +1
            end
                //als de som van de diagonaal == som X dan is het een mogelijk magisch vierkant
                if somdiag <> sum(X) | somdiag2 <> sum(X)  then
                    z = 0
           
                end
       
        else
            error("Geen tovervierkant")
           
        end   
    else
        error("Geen matrix")
    end

    if z==0 then
        error("Geen tovervierkant")
    end
endfunction

function B=maakToverVierkant(n)
    //maakt een vierkant B met zijde n adhv de taale methode
    //hulpvierkanten
        hulpVector = zeros(n)
    hulpVector2 = zeros(n)
    for i= 1:n
        hulpVector(1,i) = i
        hulpVector2(1,n+1-i) = i
    end
   
    hulpmatrix1 = zeros(n,n)
    hulpmatrix2 = zeros(n,n)
for i = 1:n
    hulpmatrix1(i,:) = cyclischeVerschuiving(hulpVector,(n+1)/2+i-1)
    hulpmatrix2(i,:) = cyclischeVerschuiving(hulpVector2,(n+1)/2-i)
end

hulpvector3 = vectorb(n*n,1)
hulpmatrix3 = verdeelVector(hulpvector3,n,n)

   //uiteindelijke magisch vierkant
toverVierkant = zeros(n,n)
for i = 1:n
    for j = 1:n
        toverVierkant(i,j) = hulpmatrix3(hulpmatrix1(i,j),hulpmatrix2(i,j))
    end
end
   
    B = toverVierkant
endfunction

function S=invertVierkant(X)
    //flipt de matrix S horizontaal en vertikaal
   
    S=flipdim(flipdim(X,1),2)
   
endfunction

function Vierkant=diagonaalmethode(n)
    //n is de grootte van het vierkant
    if modulo(n,4)<>0
        error("geen veelvoud van 4")
    else
       
        // vullen
        vectormatrix = vectorb(n*n,1)
        // verdelen
        matrix1= verdeelVector(vectormatrix,n,n)
        //flip
        omgekeerd = invertVierkant(matrix1)
        //select veranderde getallen
       
        //rijen & kolommen
        for i=1:n
            if modulo(i,4)==0 | modulo(i,4)==1 then
               
                for j = 1:n
                    if modulo(j,4)<>0 & modulo(j,4)<>1 then
                        matrix1(i,j)=omgekeerd(i,j)
                        matrix1(j,i)=omgekeerd(j,i)                   
                    end               
                end
            end           
         end       
         Vierkant = matrix1                 
    end       
endfunction

function A=maakonevenvierkant(n)
    A = zeros(n,n)
    i = 1
    j = (n+1)/2
   
    for k = 1:n*n
        A(i,j)=k
       
        i = i - 1
        j = j + 1
       
       
       
        if modulo(k,n)==0 then
            j = j - 1
            i = i + 2
           
        else
            if j==n+1 then
                j = 1
            end
            if i==0 then
            i = n
            end
        end
       
    end
endfunction

_________________
Citaat:
if it ain't broke, fiddle with it until it is

534907
Terug naar boven
Profiel bekijken Stuur privébericht E-mail versturen MSN Messenger
Berichten van afgelopen:   
Nieuw onderwerp plaatsen   Reageren    boogler -> samenvattingen Tijden zijn in GMT + 1 uur
Pagina 1 van 1

 
Ga naar:  
Je mag geen nieuwe onderwerpen plaatsen in dit subforum
Je mag geen reacties plaatsen in dit subforum
Je mag je berichten niet bewerken in dit subforum
Je mag je berichten niet verwijderen in dit subforum
Je mag niet stemmen in polls in dit subforum


Wilt u geen reclame op dit forum en genieten van extra voordelen? Klik dan vlug hier voor meer informatie!
 

Powered by phpBB
immo op Realo
Maak snel, eenvoudig en gratis uw eigen forum: Gratis Forum