LaTeX
Vektorfunktion i tikz
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.
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.
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.
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?
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.
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}
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.
Svar #9
29. januar 2009 af c_aastrup
Hey Sigmund
Præcis hvad ville du gøre for at opnå det samme i tikz???
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.