MauriDalia Δημοσ. 5 Δεκεμβρίου 2007 Δημοσ. 5 Δεκεμβρίου 2007 Gia sas!!!! Gia ton pollaplasiasmo 2 pinakwn iswn diastasewn mou exei zhththei na xrhsimopoihsw ton algorithmo Strassen o opoios pernei san eisodo ektos apo ta mhtrwa A,B kai enan akeraio k pou einai ena katwfli pou parexei ston xrhsth thn dunatothta na na orizei to elaxisto megethos twn mhtrwwn apo to opoio kai katw tha ginete o pollaplasiasmos kanonika sthn MATLAB me thn mtimes kai oxi me strassen.O kwdikas gia thn strassen einai function C = strassenw(A, B, nmin) n = length(A); if n ~= 2^( log2(n) ) error('The matrix dimension must be a power of 2.') end if n <= nmin C = A*B; else m = n/2; i = 1:m; j = m+1:n; S1 = A(j,i) + A(j,j); S2 = S1 - A(i,i); S3 = A(i,i) - A(j,i); S4 = A(i,j) - S2; S5 = B(i,j) - B(i,i); S6 = B(j,j) - S5; S7 = B(j,j) - B(i,j); S8 = S6 - B(j,i); M1 = strassenw( S2, S6, nmin); M2 = strassenw( A(i,i), B(i,i), nmin); M3 = strassenw( A(i,j), B(j,i), nmin); M4 = strassenw( S3, S7, nmin); M5 = strassenw( S1, S5, nmin); M6 = strassenw( S4, B(j,j), nmin); M7 = strassenw( A(j,j), S8, nmin); T1 = M1 + M2; T2 = T1 + M4; C = [ M2+M3 T1+M5+M6; T2-M7 T2+M5 ]; end kai to katwfli mu thelw na pernei times 8,16,32,64 kai na metraw ton xrono ekteleshs gia mhtrwa A kai A me diastaseis 64,128,256,512,1024.Opote opws fenete parakatw thelw enan xrono gia kathe periptrwsh opote afu to k pernei 4 times kai exw 5 megethi mhtrwwn prospathw na valw tus xronous se enan pinaka time_avers 5x4 function [time_avers]=Pollaplasiasmos % To dianysma time_avers krataei tous mesous orous tis sygkekrimenis % praksis gia oles tis times tou n (=64,128,256,512,1024). time_avers=[]; time_avers(1:5,1:4)=0; max=1024; X=rand(max); %Arxikoi pinakes pou exune to max megethos kai apo tus opoious Y=rand(max); %pairnw tous A,B epanalipseis=10; praxi(1:epanalipseis)=ones; %arxikopoihsh tou dianusmatos pou tha krataei ton xronos ths 1hs praksis me asus m=1; f=1; for t=3:6 for k=2^t for j=6:10 for n=2^j A=X(1:max/n:max,1:max/n:max); B=Y(1:max/n:max,1:max/n:max); C=strassenw(A,B,k); for i=1:epanalipseis tic C=strassenw(A,B,k); praxi(i)=toc; end q=sum(praxi); time_avers(m,f) = q/epanalipseis; f=f+1; epanalipseis=epanalipseis-2; end end m=m+1; end end time_avers omws mu vgenune mhdenikoi xronoi:( kai kapou mu leei pws diairw me 0??Kamia idea???Exw pelagwsei. kai kati allo kserei kaneis pws apo dipli akribeia sthn matlab tha anaparistw mhtrwa se moni Akribeia???Sygnwmh an sas kourasa:fear:
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.