Error using plot Vectors must be the same length.

11 vues (au cours des 30 derniers jours)
Adam Makin
Adam Makin le 20 Jan 2018
Commenté : Walter Roberson le 20 Jan 2018
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)")

Réponses (1)

Walter Roberson
Walter Roberson le 20 Jan 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 commentaires
Adam Makin
Adam Makin le 20 Jan 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 le 20 Jan 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)) ;

Connectez-vous pour commenter.

Catégories

En savoir plus sur Graphics Performance dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by