Hur plottar jag några specifika punkter på en graf?
Hej, jag undrar hur man ritar en några specifika punkter på en graf.
Jag har testat kommandot plot men det fungerar bara för en punkt.
Tacksam för svar!
Man använder bara plot(x,y) men har listor istället för enstaka värden x,y
så exempelvis
x = [1,2,3,4]
y = [2,5,6,8]
för en graf med 4 punkter.
SeriousCephalopod skrev:Man använder bara plot(x,y) men har listor istället för enstaka värden x,y
så exempelvis
x = [1,2,3,4]
y = [2,5,6,8]
för en graf med 4 punkter.
Hej, de kanske var dåligt formulerat av mig men jag har alltså redan en graf ritat, det jag vill göra är att rita in några punkter på grafen. Då antar jag väl att man använder kommandot hold on ?
'hold on' låter relevant, ja om du vill köra flera plot-kommandon i en och samma graf
Men du får nog återge kod och bild på output om du vill ha 'bra' vägledning.
SeriousCephalopod skrev:'hold on' låter relevant, ja om du vill köra flera plot-kommandon i en och samma graf
Men du får nog återge kod och bild på output om du vill ha 'bra' vägledning.
%Skapa A matris
A=[12 8 1; 10 12 1; -1 10 1; 2 -2 1];
%Skapa b matris
b=[52; 61; 26; 2];
%hitta c
c=A\b
%skapar en vektor v med 101 element som startar i 0 och stegar upp till 2π
%med steg 2π/100.
v=0:2*pi/100:2*pi
%plottar en cirkel med radien 4.1670 och centrum (2.4825,2.7174)
x=4.1670*cos(v)+2.4825;
y=4.1670*sin(v)+2.7179;
plot(x,y, '--')
Ser rimligt ut. Hold on och fler plot-kommandon längst ner borde fungera för ditt syfte.
Kan även rekommendera att lägga in
axis equal
för att graderingen på axlarna ska bli lika så att det också ser ut som en cirkel.
SeriousCephalopod skrev:Ser rimligt ut. Hold on och fler plot-kommandon längst ner borde fungera för ditt syfte.
Kan även rekommendera att lägga in
axis equal
för att graderingen på axlarna ska bli lika så att det också ser ut som en cirkel.
-
Dina sista fyra rader är konstigt formulerade.
x(6), y(4) är tillexempel ju inte punkter på cirkeln. (???). Så dessa 'punkter' har inget med cirkeln att göra.
Men felet i koden är att de sista två raderna inte är läsbara i matlab utan kommer ge felmeddelanden.
plot(x(-1),y(5), '*')
plot(x(1), y(-1),'*')
Felet i koden är att du inte kan ge negativa argument till listor så som du gör i de två sista raderna x(-1) och y(-1). Du borde explicit få felmedelanden i output som säger att detta är fel. Negativa index kan man ha i många programmeringsspråk men inte i matlab.
SeriousCephalopod skrev:Dina sista fyra rader är konstigt formulerade.
x(6), y(4) är tillexempel ju inte punkter på cirkeln. (???). Så dessa 'punkter' har inget med cirkeln att göra.
Men felet i koden är att de sista två raderna inte är läsbara i matlab utan kommer ge felmeddelanden.
plot(x(-1),y(5), '*')
plot(x(1), y(-1),'*')Felet i koden är att du inte kan ge negativa argument till listor så som du gör i de två sista raderna x(-1) och y(-1). Du borde explicit få felmedelanden i output som säger att detta är fel. Negativa index kan man ha i många programmeringsspråk men inte i matlab.
.
Larz96 skrev:SeriousCephalopod skrev:Dina sista fyra rader är konstigt formulerade.
x(6), y(4) är tillexempel ju inte punkter på cirkeln. (???). Så dessa 'punkter' har inget med cirkeln att göra.
Men felet i koden är att de sista två raderna inte är läsbara i matlab utan kommer ge felmeddelanden.
plot(x(-1),y(5), '*')
plot(x(1), y(-1),'*')Felet i koden är att du inte kan ge negativa argument till listor så som du gör i de två sista raderna x(-1) och y(-1). Du borde explicit få felmedelanden i output som säger att detta är fel. Negativa index kan man ha i många programmeringsspråk men inte i matlab.
Uppgiften går ut på att approximera en cirkel som dessa punkter ska ligga på, så jag ska egentligen bara plotta dessa punkter i grafen och har alltså inget att göra med cirkel jag redan har ritat in och göra, jag ber om ursäkt om jag inte var tydlig med det från början.
Ok, så man kan alltså inte skriva in minus tal som argument på matlab? Hur går man tillväga isåfall då?
Menar du punkterna (6,4), (-1, 5), osv?
Vill du plotta ut dem ska du inte ha x(6), y(4).
Vad x(6) betyder är elementet med index 6 (det 7:e elementet) i listan x och är inte vad du vill ha.
Vill du plotta ut den punkten skriver du bara
plot(6,4,'*')
rakt av.
Du ska inte ha x och y i uttrycken.
SeriousCephalopod skrev:Menar du punkterna (6,4), (-1, 5), osv?
Vill du plotta ut dem ska du inte ha x(6), y(4).
Vad x(6) betyder är elementet med index 6 (det 7:e elementet) i listan x och är inte vad du vill ha.
Vill du plotta ut den punkten skriver du bara
plot(6,4,'*')
rakt av.
Du ska inte ha x och y i uttrycken.
Yes, nu löste det sig! Tack så mycket för din hjälp! :)
Larz96 skrev:SeriousCephalopod skrev:'hold on' låter relevant, ja om du vill köra flera plot-kommandon i en och samma graf
Men du får nog återge kod och bild på output om du vill ha 'bra' vägledning.
.