plotting a graph of time vs gear...updated
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Joseph
am 13 Feb. 2014
Kommentiert: Joseph
am 13 Feb. 2014
based on V=1.5*t^2
a car has an auto-transmission that selects gear based on speed values.
Gear1: >=0 and < 3m/s
Gear2: >=3 and < 8 m/s
Gear3:>=8 and < 15 m/s
and so on...need to graph this and not sure where to start. Thank you
here's what I have...The first graph works perfect...its the second one im stuck on...thanks
t=1:1:6;
V=1.5*t.^2;
plot(t,V)
grid on % adds grid lines
xlabel('Time(s)') % adds x label
ylabel('Speed(m/s)') % ADDS Y LABEL
title('Speed of a Car') % adds Title
t=1:.1:6;
V=(1.5)*t.^2;
if (V>= 0 & V < 3)
Gear=1;
elseif (V>=3 & V < 8)
Gear=2;
elseif (V>= 8 & V < 15)
Gear=3;
elseif (V>= 15 & V< 25)
Gear=4;
else
Gear=5;
end
figure % opens 2nd graph
plot(t,Gear)
grid on
xlabel('Time(s)')
ylabel('Gear')
title('Gear Selection')
1 Kommentar
Akzeptierte Antwort
Matt Tearle
am 13 Feb. 2014
If I interpret this correctly, you're trying to see which gear you're in at time t? So you need to calculate v from t, then g (= 1, 2, or 3) from v. The neatest way to do that is to use histc for binning:
t = linspace(0,5);
v = 1.5*t.^2;
[~,g] = histc(v,[3 8 15 Inf]);
subplot(2,1,1)
plot(t,v)
subplot(2,1,2)
plot(t,g)
Note: if this happens to be a homework problem, do not hand this in! It is almost certainly not what the expected answer will be, and will be a pretty major flag that you didn't do it yourself :) Instead, let me know, and I'll give you pointers in the "right" direction...
3 Kommentare
Matt Tearle
am 13 Feb. 2014
Your problem is that Gear is a scalar value. Your logical conditions are doing something hairy and unexpected because V is a vector, so V < 3 is a logical array, not a scalar condition. However, when used in an if statement, MATLAB goes ahead and decides to do something anyway (something that I doubt you actually want it to do). But in the end, it's making a single logical choice, and producing a single value for Gear.
What you need is that for each value of V, to determine the corresponding value for Gear (which, at the end, should be a vector the same size as V).
There are a few different ways to do that. The neatest, IMO, is the one I showed with histc.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Graphics Objects finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!