Justiceira Postado Novembro 19, 2010 Denunciar Share Postado Novembro 19, 2010 Ola pessoal estou com umproblema para resolvertenho as seguintes linhas6i1+10(i1-i2)+4(i1-i3)-26=05i2+5i2+5(i2-i3)+10(i2-i1)=011i3+4(i3-i1)+5(i3-i2)-7=0em cada linha eu possuo um I1,I2 e I3 ,ficando assim depois20i1-10i2-4i3=26 => 20*i1-10*i2-4*i3=26-10i1+25i2-5i3=0 => -10*i1+25*i2-5*i3=0-4i1-5i2+20i3=7 => -4*i1-5*i2+20*i3=7So que isso eu resolvi a mão queria fazer em Cpensei em criar um vetor de 3 posições que armazena como texto as 3 primeiras linhas.E depois diferenciar atraves da tabela ascii quem é numero e quem é texto.Pois depois disso irei informar i1,i2 e i3 para outra função calcular.alguém poderia me dar umas dicas de como posso construir com vetor ou matriz?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Durub Postado Novembro 19, 2010 Denunciar Share Postado Novembro 19, 2010 O que você está tentando fazer, especificamente? Descobrir as correntes I1, I2 e I3 a partir de uma análise de malhas?O que você quis dizer nessa parte: ".Pois depois disso irei informar i1,i2 e i3 para outra função calcular."?Pergunto pois pode ter um meio melhor para fazer o que você quer.Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Justiceira Postado Novembro 20, 2010 Autor Denunciar Share Postado Novembro 20, 2010 (editado) Sim no final da execução completa do programa prtendo descobrir as correntes I1,I2 e I3.Primeiro a entrada vai ser digitada da seguinte maneira..6i1+10(i1-i2)+4(i1-i3)-26=05i2+5i2+5(i2-i3)+10(i2-i1)=011i3+4(i3-i1)+5(i3-i2)-7=0porém terei que por exemplo na linha 1:Saber Quando é O Nº antes de I1 exemplo6i1 + (10i1 - 10i2) + ( 4i1 - 4i3) - 26 = 0e no final sei que na linha 1 terei 20i1porque é como esse I1 fosse X1 na matematica...farei um calculo de sistema linear para encontrar I1 que multiplicara por 20 e os outros da linha pra enfim resultar alguma coisa.E quanto a outra função calcular: É porque isso eu irei retornar para outra função que já vai fazer esse calculo de sistema linear para mim.Mas de qualquer forma vou tentar fazer por aqui e posto o codigo Editado Novembro 20, 2010 por Justiceira Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Justiceira Postado Novembro 21, 2010 Autor Denunciar Share Postado Novembro 21, 2010 Eu fiz algo meio maluco aqui pra tentar resolver este meu problemainicialmente eu pegaria as resistencias,e voltagens.#include<stdio.h>#include<math.h>int i, j, k, r[7], c[3], v[3];int linha1, linha2, linha3, i1, i2, i3; main(){ kirchoff1(); kirchoff2(); kirchoff3(); lin1(); system("pause"); return 0; } int kirchoff1(int x[i]){ printf("Primeiro Circuito\n"); for(i=1; i<=3;i++){ printf("Informe R[%d]:",i); scanf("%d", &r[i]); } printf("V[1]:"); scanf("%d", &v[i]); } int kirchoff2(int x[i]){ printf("\nSegundo Circuito\n"); for(j=1; j<=3;j++){ printf("Informe R[%d]:",j); scanf("%d", &r[j]); } printf("V[2]:"); scanf("%d", &v[j]); } int kirchoff3(int x[i]){ printf("\nTerceiro Circuito\n"); for(k=1; k<=3;k++){ printf("Informe R[%d]:",k); scanf("%d", &r[k]); } printf("V[3]:"); scanf("%d", &v[k]); } lin1(){ linha1 = ((r[1]*i1)+((r[2]*i1)-(r[2]*i2))+((r[3]*i1)-(r[3]*i3))- v[1]); printf("Linha1: %d",linha1); return(linha1); } lin2(){ linha2 = ((r[1]*i2)+(r[2]*i2)+((r[3]*i2)-(r[3]*i3))+((r[4]*i2)-(r[4]*i1))-v[2]); return(linha2); } lin3(){ linha3 = ((r[1]*i3)+((r[2]*i3)-(r[2]*i1))+((r[3]*i3)-(r[3]*i2)) - v[3]); return(linha3); }[/codebox]So que no final eu queria que linha 1 por ex:linha1 = ((r[1]*i1)+((r[2]*i1)-(r[2]*i2))+((r[3]*i1)-(r[3]*i3))- v[1]);linha1 = ((6*i1)+((10*i1)-(10*i2))+((4*i1)-(4*i3))- 26);estivesse assimlinha1 = ((20*i1)-(10*i2)-(4*i3)) =- 26;pois eu informaria de outra função o restante que é i1,i2,i3ninguém pode me ajudar?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Durub Postado Novembro 23, 2010 Denunciar Share Postado Novembro 23, 2010 Então, seria mais fácil se você analizasse as malhas por inspeção, aí colocasse direto os valores na matriz.Por exemplo, você pediria (para uma matrix 3x3), os 4 valores da malha 1, depois os 4 valores da malha 2 etc.[Valor 1 Valor 2 Valor 3] = [Valor 4] Pedia para as três malhas, e depois aplicava a regra de Cramer para descobrir I1, I2 e I3. Seia interessante se você fizesse um mecanismo para resolver soma e subtração, aí você poderia colocar assim na matriz: [30+60+90-30 -90+30-10 10+90] = [30]Podendo resolver escrevendo os valores direto (olhando do circuito).Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Justiceira
Ola pessoal estou com umproblema para resolver
tenho as seguintes linhas
6i1+10(i1-i2)+4(i1-i3)-26=0
5i2+5i2+5(i2-i3)+10(i2-i1)=0
11i3+4(i3-i1)+5(i3-i2)-7=0
em cada linha eu possuo um I1,I2 e I3 ,ficando assim depois
20i1-10i2-4i3=26 => 20*i1-10*i2-4*i3=26
-10i1+25i2-5i3=0 => -10*i1+25*i2-5*i3=0
-4i1-5i2+20i3=7 => -4*i1-5*i2+20*i3=7
So que isso eu resolvi a mão queria fazer em C
pensei em criar um vetor de 3 posições que armazena como texto as 3 primeiras linhas.
E depois diferenciar atraves da tabela ascii quem é numero e quem é texto.Pois depois disso irei informar i1,i2 e i3 para outra função calcular.
alguém poderia me dar umas dicas de como posso construir com vetor ou matriz??
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.