Comment déclarer le j (j*j = -1) en C

Résolu/Fermé
airstrik Messages postés 4 Date d'inscription jeudi 8 mars 2012 Statut Membre Dernière intervention 6 avril 2012 - Modifié par airstrik le 9/03/2012 à 14:28
airstrik Messages postés 4 Date d'inscription jeudi 8 mars 2012 Statut Membre Dernière intervention 6 avril 2012 - 12 mars 2012 à 16:32
Bonjour,

En fait j'ai déja travaillé avec les nombres complexes sur C en defnissant des structures avec réel et imaginaire de type float.

Bah la dans mon projet il y a une partie ou je dois multiplier deux matrices H et F, F est de la forme suivante F=[1, 0, 0, exp(j*theta)];
je ne sais pas trop comment faire et meme la déclaration de F en C me pose problème.

Si quelqu'un peut me filer un coup de main ce serait sympa. Merci d'avance



2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
9 mars 2012 à 14:34
Pourquoi ne pas utiliser le header complex.h tout simplement ?
Pour la matrice, cela ne pose pas problème, il te suffit d'utiliser des tableaux 2D.
Et tu peux séparer les matrices en deux matrices réels.
Par exemple : F = A + j*B avec A et B deux matrices dans IR.
En remarquant que e^(j theta)= cos theta + j sin theta, tu devrais t'en sortir ;-)))
2
airstrik Messages postés 4 Date d'inscription jeudi 8 mars 2012 Statut Membre Dernière intervention 6 avril 2012
12 mars 2012 à 16:32
mERCI C COM TU AS DIT IL FALLAIT ecrire cos(theta)+j sin(theta) et utiliser le complex.h et les tableaux 2D et le tour est joué
ca fé plus de 4 ans que je n'est pas travailler sur le C c'est comme si je reprenais tout a zéro
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
9 mars 2012 à 14:36
En maths c'est i qui est solution de 1+i²=0, car j est la solution de l'équation 1+j+j²=0 => j=exp(2i.pi/3)
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
9 mars 2012 à 15:08
En math oui. Mais, parfois on utilise j à la place de i en physique notamment. Dans son cas, je doute que ça soit j = exp(2ipi/3) car sinon le dernier terme de sa matrice aurait une sale tête ^^.
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
9 mars 2012 à 16:39
oui, i est une convention. Particulièrement en électronique on utilise "j", pour ne pas confondre avec l'intensité du courant "i".
0