MATLAB Answers

## Matrix dimensions must agree

Asked by Marco

### Marco (view profile)

on 6 Jun 2011

[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.

## Products

No products are associated with this question.

## 2 Answers

### Matt Fig (view profile)

Answer by Matt Fig

### Matt Fig (view profile)

on 6 Jun 2011

Use .* instead of * when you desire element-by-element multiplication. For example,

```x = 1:3
y = 4:6
x.*y
```

Marco

### Marco (view profile)

on 6 Jun 2011

i think i've done correct.when i have an fft i've tu put the ".*" and when i have ifft i can use "*".right?

Matt Fig

### Matt Fig (view profile)

on 6 Jun 2011

When needing to multiply (or divide or exponentiate) arrays element-by-element, you always should use .* and ./ and .^.

### Walter Roberson (view profile)

Answer by Walter Roberson

### Walter Roberson (view profile)

on 6 Jun 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.

Marco

### Marco (view profile)

on 6 Jun 2011

i put the dot but it doesn't change anything.

Walter Roberson

### Walter Roberson (view profile)

on 6 Jun 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

### Walter Roberson (view profile)

on 6 Jun 2011

Ah... what is the size of fip, and what is the size of dz and of d ?

#### Join the 15-year community celebration.

Play games and win prizes!

Learn more

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

### Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

### MATLAB Academy

New to MATLAB?

Learn MATLAB today!