LaTeX

Vektorfunktion i tikz

11. november 2008 af virious (Slettet)

Hej

Jeg skal tegne en vektorfunktion:

x(t) = 0,6*cos(1,3t)+0,6*sin(1,3t)+0,35

y(t) = 1,1*cos(1,3t)^2-0,2

Hvordan indtegner jeg det i tikz eller lign. pakke?

Mvh.


Brugbart svar (3)

Svar #1
11. november 2008 af c_aastrup

Umiddelbart vil jeg foreslå dig at indtegne en kurve der indeholder de punkter du ønsker plottet. Jeg bruger pstricks, men man kan sikkert det samme i tikz. Kør nedenståendde LaTeX (og ikke pdfTeX) så skulle det blive smukt

\documentclass[10pt]{article}
\usepackage{pstricks,pstricks-add,pst-math,pst-xkey}
\begin{document}
\psset{xunit=3.0cm,yunit=3.0cm,algebraic=true,dotstyle=*,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
\begin{pspicture*}(-1,-1)(3,1.2)
\psaxes[xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-1,-1)(2,1.2)
\pscurve[linecolor=blue](0.950000000,0.90000000) (0.995773404,0.89305644) (1.037464020,0.87240107) (1.074808267,0.83855544) (1.107570043,0.79237411) (1.135542218,0.73502314) (1.158547941,0.66795060) (1.176441764,0.59285002) (1.189110557,0.51161765) (1.196474222,0.42630454) (1.198486204,0.33906480) (1.195133784,0.25210116) (1.186438155,0.16760940) (1.172454296,0.08772287) (1.153270615,0.01445867) (1.129008399,-0.05033335) (1.099821041,-0.10501722) (1.065893074,-0.14821222) (1.027438999,-0.17882770) (0.984701937,-0.19609064) (0.937952085,-0.19956517) (0.887485011,-0.18916355) (0.833619783,-0.16514842) (0.776696956,-0.12812615) (0.717076413,-0.07903152) (0.655135094,-0.01910414) (0.591264614,0.05014288) (0.525868780,0.12696107) (0.459361048,0.20941085) (0.392161900,0.29541041) (0.324696191,0.38278832) (0.257390460,0.46933834) (0.190670237,0.55287516) (0.124957349,0.63128951) (0.060667252,0.70260150) (-0.001793590,0.76501054) (-0.062030280,0.81694085) (-0.119661982,0.85708122) (-0.174324329,0.88441814) (-0.225671729,0.89826136) (-0.273379547,0.89826136) (-0.317146159,0.88441814) (-0.356694858,0.85708122) (-0.391775605,0.81694085) (-0.422166607,0.76501054) (-0.447675724,0.70260150) (-0.468141678,0.63128951) (-0.483435077,0.55287516) (-0.493459230,0.46933834) (-0.498150763,0.38278832) (-0.497480014,0.29541041) (-0.491451223,0.20941085) (-0.480102507,0.12696107) (-0.463505615,0.05014288) (-0.441765479,-0.01910414) (-0.415019547,-0.07903152) (-0.383436915,-0.12812615) (-0.347217258,-0.16514842) (-0.306589570,-0.18916355) (-0.261810710,-0.19956517) (-0.213163787,-0.19609064) (-0.160956361,-0.17882770) (-0.105518504,-0.14821222) (-0.047200712,-0.10501722) (0.013628310,-0.05033335) (0.076583983,0.01445867) (0.141268279,0.08772287) (0.207272245,0.16760940) (0.274178581,0.25210116) (0.341564285,0.33906480) (0.409003323,0.42630454) (0.476069322,0.51161765) (0.542338270,0.59285002) (0.607391194,0.66795060) (0.670816808,0.73502314) (0.732214115,0.79237411) (0.791194941,0.83855544) (0.847386391,0.87240107) (0.900433203,0.89305644) (0.950000000,0.90000000)
\end{pspicture*}
\end{document}

Jeg har regnet punkterne ud i R, og det ville næsten være nemmere i Excel med træk og slip.

Jeg håber det kan bruges.


Brugbart svar (3)

Svar #2
11. november 2008 af daleif (Slettet)

Jeg ville umiddelbart nok også vælge samme metode (ville mene at man også kan plotte på samme måde med pgf/tikz), altså at man udregner punkter i et eksternt program. LaTeX er ikke beregnet til at skulle lave denne slags tegninger.


Brugbart svar (3)

Svar #3
12. november 2008 af pdebes (Slettet)

Kan jeg så ikke lige smide et tillægsspørgsmål ind.

Hvad er det for en kommando du giver R, for at den giver dig en liste med koordinater?


Brugbart svar (3)

Svar #4
12. november 2008 af c_aastrup

l=80

t<-seq(0,2*pi/1.3,length=l)

X<-matrix(rep(NA,2*l),nrow=l)

X[,1]<-0.6*cos(1.3*t)+0.6*sin(1.3*t)+0.35

X[,2]<-1.1*cos(1.3*t)^2-0.2

X

Og så bare copy'n'paste (Her bruger jeg WinEdt som har en behændig blokfunktion hvor man kan sætte kommaer imellem og parenteser udenom.


Brugbart svar (2)

Svar #5
12. november 2008 af pdebes (Slettet)

Tak


Brugbart svar (3)

Svar #6
12. november 2008 af c_aastrup

MEN!

Hvis man er kendt med R er der en meget nemmere måde at gøre det på. Skriv følgende i R:

l=80

t<-seq(0,2*pi/1.3,length=l)

X<-matrix(rep(NA,2*l),nrow=l)

X[,1]<-0.6*cos(1.3*t)+0.6*sin(1.3*t)+0.35

X[,2]<-1.1*cos(1.3*t)^2-0.2

X

write.table(X,file="C://LaTeX//ps-parameterkurve//test.txt", row.names = FALSE, col.names = FALSE)

Og her forestiller vi os at vores texfil ligger i C:\LaTeX\ps-parameterkurve. Nu kan vi bare skrive følgende i LaTeX

\documentclass[10pt]{article}
\usepackage{pstricks,pstricks-add,pst-math,pst-xkey}
\begin{document}
\psset{xunit=3.0cm,yunit=3.0cm,algebraic=true,dotstyle=*,dotsize=3pt,linewidth=0.8pt,arrowsize=5pt,arrowinset=0.25}
\readdata{\data}{test.txt}
\begin{pspicture*}(-1.1,-1.1)(3,1.2)
\psaxes[xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-1,-1)(2,1.2)
\listplot[linecolor=blue,plotstyle=curve]{\data}
\end{pspicture*}
\end{document}


Brugbart svar (3)

Svar #7
12. november 2008 af c_aastrup

Blot husk at køre den tex => dvi => ps => pdf


Brugbart svar (2)

Svar #8
28. november 2008 af sigmund (Slettet)

Skal bare lægge til, at bruger man TikZ, kan man uden problemer køre tex => pdf. 


Brugbart svar (2)

Svar #9
29. januar 2009 af c_aastrup

Hey Sigmund

Præcis hvad ville du gøre for at opnå det samme i tikz???


Brugbart svar (2)

Svar #10
02. marts 2009 af sigmund (Slettet)

Nu er jeg så sen at svare, men følgende gør noget lignende. "Tickmærker" kan så tilføjes senere, hvis det ønskes; se mere i ftp://tug.ctan.org/pub/tex-archive/graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf:

\documentclass[10pt]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[->] (-1,0) - - (2,0) (0,-1) - - (0,1.2);
\draw[color=blue] plot coordinates {(0.950000000,0.90000000) (0.995773404,0.89305644) (1.037464020,0.87240107) (1.074808267,0.83855544) (1.107570043,0.79237411) (1.135542218,0.73502314) (1.158547941,0.66795060) (1.176441764,0.59285002) (1.189110557,0.51161765) (1.196474222,0.42630454) (1.198486204,0.33906480) (1.195133784,0.25210116) (1.186438155,0.16760940) (1.172454296,0.08772287) (1.153270615,0.01445867) (1.129008399,-0.05033335) (1.099821041,-0.10501722) (1.065893074,-0.14821222) (1.027438999,-0.17882770) (0.984701937,-0.19609064) (0.937952085,-0.19956517) (0.887485011,-0.18916355) (0.833619783,-0.16514842) (0.776696956,-0.12812615) (0.717076413,-0.07903152) (0.655135094,-0.01910414) (0.591264614,0.05014288) (0.525868780,0.12696107) (0.459361048,0.20941085) (0.392161900,0.29541041) (0.324696191,0.38278832) (0.257390460,0.46933834) (0.190670237,0.55287516) (0.124957349,0.63128951) (0.060667252,0.70260150) (-0.001793590,0.76501054) (-0.062030280,0.81694085) (-0.119661982,0.85708122) (-0.174324329,0.88441814) (-0.225671729,0.89826136) (-0.273379547,0.89826136) (-0.317146159,0.88441814) (-0.356694858,0.85708122) (-0.391775605,0.81694085) (-0.422166607,0.76501054) (-0.447675724,0.70260150) (-0.468141678,0.63128951) (-0.483435077,0.55287516) (-0.493459230,0.46933834) (-0.498150763,0.38278832) (-0.497480014,0.29541041) (-0.491451223,0.20941085) (-0.480102507,0.12696107) (-0.463505615,0.05014288) (-0.441765479,-0.01910414) (-0.415019547,-0.07903152) (-0.383436915,-0.12812615) (-0.347217258,-0.16514842) (-0.306589570,-0.18916355) (-0.261810710,-0.19956517) (-0.213163787,-0.19609064) (-0.160956361,-0.17882770) (-0.105518504,-0.14821222) (-0.047200712,-0.10501722) (0.013628310,-0.05033335) (0.076583983,0.01445867) (0.141268279,0.08772287) (0.207272245,0.16760940) (0.274178581,0.25210116) (0.341564285,0.33906480) (0.409003323,0.42630454) (0.476069322,0.51161765) (0.542338270,0.59285002) (0.607391194,0.66795060) (0.670816808,0.73502314) (0.732214115,0.79237411) (0.791194941,0.83855544) (0.847386391,0.87240107) (0.900433203,0.89305644) (0.950000000,0.90000000)};
\end{tikzpicture}
\end{document} 


Skriv et svar til: Vektorfunktion i tikz

Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk? Klik her for at oprette en bruger.