Matrix dimensions must agree
Afficher commentaires plus anciens
[EDIT: 20110606 10:32 CDT - reformat - WDR]
??? Error using ==> times Matrix dimensions must agree. Error in ==> prop_marcuse at 49
ep = exp(-a*dz/2)*ifft((exp(-i*dz*d/2)).*fip);
Error in ==> lt_amprett at 93
E = prop_marcuse(E,ac,b2,b3,ass,n2,Aeff,k0,dz,dt);
??? Error while evaluating uico
hi guys, i'm new in matlab central so hello to everyone. i've a problem in my program. the program it's about propagation in an optical fiber of a signal qpsk modulated. I can't post the functions here because it would be too long. if someone wants to help please contact me and i will give him all the program folder. i'm so close to the solution but i can't understand where i've to correct something. i think it's right but it doesn't seem. i hope someone will answer me. thanks everybody.
Réponses (2)
Matt Fig
le 6 Juin 2011
Use .* instead of * when you desire element-by-element multiplication. For example,
x = 1:3
y = 4:6
x.*y
Walter Roberson
le 6 Juin 2011
You probably need
ep = exp(-a.*dz/2).*ifft((exp(-i.*dz.*d/2)).*fip);
In particular I suspect the dot missing between the exp() term and the ifft() term is the key.
4 commentaires
Marco
le 6 Juin 2011
Marco
le 6 Juin 2011
Walter Roberson
le 6 Juin 2011
The first. But using extra usually does not hurt. Unless you know you are wanting to use matrix multiplication (in a mathematical sense) then you should probably use .*
Walter Roberson
le 6 Juin 2011
Ah... what is the size of fip, and what is the size of dz and of d ?
Catégories
En savoir plus sur Bartlett dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!