Error using plot Vectors must be the same length.

15 Ansichten (letzte 30 Tage)
Adam Makin
Adam Makin am 20 Jan. 2018
Kommentiert: Walter Roberson am 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)")

Antworten (1)

Walter Roberson
Walter Roberson am 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 Kommentare
Adam Makin
Adam Makin am 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 am 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)) ;

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Graphics Performance finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by