⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mat_mat_multiply.m

📁 Format Linked List for sparse Matrix
💻 M
字号:
function mat_mat_multiply(filename_1,filename_2,filename_out)[n1,nalloc1,val1,col1,link1,root1,free1]=read_1(filename_1);[n2,nalloc2,val2,col2,link2,root2,free2]=read_1(filename_2);%-----------------------------------------------------%======================================k=1;t=1;i=1;j=1;valM=0; val_out=[]; col_out=[]; root_out=1;for i=1:n1  for j=1:n1    [vl,vic]=linii_1(i,n1,nalloc1,val1,col1,link1); % vl(i)=elem nenule de pe linia i,respectiv vic indice elementelor(coloana)    [vc,vil]=coloane(j,nalloc2,val2,col2,link2); % vc(i)=elem nenule de pe coloana i,respectiv vil indice elementelor(linie)    k=1; t=1;      for k=1:length(vl)   %parcurge linie cu linie	for t=1:length(vc) %parcurge coloana cu coloana	  if(vic(k) == vil(t)) %daca exista elem pe linie corespunzator cu elem pe coloana => inmulteste	    valM=valM+vl(k)*vc(t);	  endif	endfor      endfor	if (valM ~= 0)  	  val_out=[val_out,valM]; %vector ce contine elem nenule din matricea rezultata	  col_out=[col_out,j];  %vect ce comtine ca elem indicii coloanelor matricii rezultate	endif	  valM=0;  endfor  root_out=[root_out,length(val_out)+1];endforn_out=n1;nalloc_out=length(val_out);val_out;col_out;root_out=root_out(1:length(root_out)-1);link_out=[2:length(val_out)];for i=2:length(root_out)  link_out(root_out(i)-1)=-1;endforlink_out=[link_out,-1];free_out=free1; %========================<write in matrix_out>====================   fis=fopen(filename_out,'w') ;     fprintf(fis,'%d\t', n_out);     fprintf(fis,'%d', nalloc_out);    fprintf(fis,"\n");    fprintf(fis,'%2.2f\t', val_out);fprintf(fis,"\n");    fprintf(fis,'%2.2f\t', col_out);fprintf(fis,"\n");    fprintf(fis,'%2.2f\t', link_out); fprintf(fis,"\n");     fprintf(fis,'%2.2f\t', root_out);fprintf(fis,"\n");    fprintf(fis,'%d', free_out);  fclose(fis);%================================================================endfunction

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -