Azzera filtri
Azzera filtri

Can someone explain what's wrong with my formula?

1 visualizzazione (ultimi 30 giorni)
close all
syms t
omega = 2:2:6
omega = 1×3
2 4 6
I = 10
I = 10
C = 0.05
C = 0.0500
V = (-I./omega.*C)*cos(omega.*t)
Error using * (line 432)
Dimensions do not match.
What is wrong with it? I get an error when I try to run it.

Risposta accettata

Matt J
Matt J il 30 Set 2021
Modificato: Matt J il 30 Set 2021
Be careful of missing dots...
V = (-I./omega.*C).*cos(omega.*t)
  1 Commento
Kevin il 30 Set 2021
Sorry I'm still relatively new to using matlab, but thank you so much for taking your time to answer :D

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 30 Set 2021
omega is a vector, so (-I./omega.*C) is a vector and cos(omega.*t) is a vector the same size.
So you have 1 x 3 row vector * 1 x 3 row vector. But the * operator is algebraic matrix multiplication, "inner product". In the expresson A*B then size(A,2) must equal size(B,1) -- the "inner" dimensions must match. The first 1 x 3 vector operand for the * operation has 3 columns. The second 1 x 3 vector operand for the * operation has 1 row. But 1 is not equal to 3, so the * operation fails.
The element-by-element multiplication operator is .* instead of *


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by