Vinnaren i pepparkakshustävlingen!
2011-01-02, 12:32
  #1
Medlem
Hur markerar man en specifik punkt i en MATLAB-graf?
Jag ska plotta kelvin mot fahrenheit och celsius och vill markera på båda kurvorna den temperatur jag tidigare angett.

C=K-273.15; %K är en vektor
F=(9/5)*C+32;
plot(C,K,F,K,'--') %Hur ska jag skriva här för att markera de specifika punkterna?
legend('Celcius', 'Fahrenheit')
ylabel('Kelvin')
Citera
2011-01-02, 13:03
  #2
Medlem
evolutes avatar
Vill du ex. plotta en cirkel i punkten (x,y) skriver du helt enkelt
plot(x,y,'o').
Om du tidigare plottat en linje som du inte vill radera ska ovanstående kommando föregås av
hold on
för att stänga av inställningen som gör att varje plotkommando raderar tidigare plottar.
Citera
2011-01-02, 14:02
  #3
Medlem
Mr Mojo Risin's avatar
Som Evolute sa. Det går även att skriva fler koordinater i samma plot, t ex:

plot(C, K, F, K, '--g', C(n), K(n), 'or');

...vilket i detta exempel plottar dina (gröna!) linjer och en specifik Celcius-koordinat som en (röd!) cirkel.

plot(C, K, F, K, '--k', C(n), K(n), '.b');

...gör detsamma med svarta linjer och blå punkter/prickar.

Vill du ha olika storlekar på grafikdelarna använder du:

plot(C, K, F, K, '--g');
hold on;
plot(C(n), K(n), 'or', 'linewidth', 3);

...för en större "röd ring" än linjen. 'linewidth' går även att använda i en plot med flera koordinater, men bara en gemensam storlek kan då väljas.

hold off;

...gör att nästa plotkommando (i samma figur) suddar tidigare plottar.

EDIT: svar på din specifika fråga:

plot(C, K, F, K, '--', C, K, F, K, 'o');
__________________
Senast redigerad av Mr Mojo Risin' 2011-01-02 kl. 14:12.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback