Error using plot Vectors must be the same length.

15 visualizzazioni (ultimi 30 giorni)
I got the error plotting vectors must be the same length and I'm not sure why. I'm trying to plot the function v against time. In the code I've assigned values to v based on certain inequalities being met.help would be appreciated
function v=pwm(t,T,d)
d = 0.1;
T= 0.2;
t=linspace(0,2,100);
k = mod(T,t);
v(k*T<=t<k+d) = 1;
v(((k + d)*T) <= t < (k + 1)*T) = 0;
plot(t,v)
xlabel("Time(s)");
ylabel("Voltage(V)")

Risposte (1)

Walter Roberson
Walter Roberson il 20 Gen 2018
MATLAB does not have range test operations with the syntax
lower <= variable < upper
You need to break those up as two tests joined by &
A <= t & t < B
  2 Commenti
Adam Makin
Adam Makin il 20 Gen 2018
hi thanks for thelp. Did this and my equalities look like this:
v(k*T<=t & t < (k+d)) = 1;
v((k + d)*T <= t & t < (k + 1)*T) = 0;
However I'm still receiving the same error as before.
Walter Roberson
Walter Roberson il 20 Gen 2018
You have not specified the value v should have for locations where neither mask is true.
I suggest that you start with
v = nan(size(t)) ;

Accedi per commentare.

Categorie

Scopri di più su Graphics Performance in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by