Hola a todos, estoy realizando un pequeño simulador de circuitos, similar al PSPICE.
De momento he estado implementando las rutinas para el analisis en DC, y ahora quiero implementar el analisis AC.
El problema es que para los calculos necesito trabajar con numeros complejos y no se muy bien como se come eso en C.
El programa usa matrices matrices de datos tipo float, y ahora tengo que modificar esas matrices para que contengan datos del tipo a+bi, y de alguna manera crear funciones sumacompleja( complejo x, complejo y), pero no quiero tener que usar una funcion cada vez que tenga que sumar dos complejos, ya que esto hace que el codigo fuente sea menos "limpio".
Hasta ahora podia hacer:
matrix1[0][0] += matrix2[0][0];
pero para trabajar con complejos de momento estoy obligado a hacer algo como:
matrix1[0][0].real += matrix2[0][0].real;
matrix1[0][0].imag += matrix2[0][0].imag;
o
sumacompljeos( matrix1[0][0], matrix2[0][0] );
En C++ podria definir una clase y definir los operadores o algo asi, pero en C creo que no se puede...
Un saludo.
Os adjunto una foto con el programa simulando un circuito con un par de diodos y una fuente senoidal.