Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
clc; clear all; %Armazenamento da matriz simétrica cartao=input('entre com os valores de "barra de" na 1ª coluna , "barra para" na 2ª coluna e da impedancia "Z" na 3ª coluna: ')%exemplo [2 3 4; 1 2 3; 4 5 6;] Cartao=cartao k=size(cartao);%numero de linhas e colunas do cartao nlinhas=k(1);%numero de linhas ncoluna=k(2);%numero de colunas % Descobrir numero de elementos distintos soma=0; t=1; for n=1:(2*nlinhas) k=cartao(n); for i=1:nlinhas for j=1:ncoluna if cartao(i,j)==k & cartao(i,j)~=0 soma = soma+1; cartao(i,j)=0; end end end if soma~=0 b(t)=soma; t=t+1; b1(t)=k; end soma=0; end A=size(b); disp(['numero de elementos distintos (Nº de barramentos): ',num2str(A(2))]) A(2); disp(['Nº de conexoes: ',num2str(nlinhas)]) nlinhas; Repete=b ; elementos=b1(2:(A(2)+1));% por exemplo: o elementos(1) repete b(1) veses no esquema, o elementos(2) repete b(2) vese... e assim vai... Elementos=elementos; %rotina para ordenar de forma decrescente o vetor "elementos"! for i=1:A(2) for j=(i+1):A(2) if elementos(i)<elementos(j) aux=elementos(i); elementos(i)=elementos(j); elementos(j)=aux; end end end %rotina para alinhar o vetor elementos com repete for i=1:A(2) for j=1:A(2) if elementos(i)==Elementos(j) repete(i)=Repete(j); end end end % montar o vetor linha N=A(2); %numero de elementos distintos linha=zeros(A(2)+1,1); linha(A(2)+1)=2*nlinhas + 1; A(2)=A(2)+1; for i=1:N linha((N+1)-i)=linha(N-i+2)-repete(i); end disp('LINHA= ') disp(linha) %montar o vetor coluna coluna=zeros(nlinhas,1); for i=1:nlinhas for i2=1:N while linha(i2,1) coluna(i)=Cartao(i,2) end end end
Compartilhar