1.1 funktion kuvaaja - jyväskylän yliopistousers.jyu.fi/~lehtonen/opetus/kl2012/funktioiden... ·...
TRANSCRIPT
Funktioiden_havainnollistamisesta.wxm 1 / 11
(%i1) load(draw)$
Windoze-koneissa komentojen muodostamat kuvat ilmestyväterilliseen Gnuplot-ohjelman ikkunaan. Jatkaaksesi eteenpäinsulje Gnuplot-ikkuna.
Mac OS X -koneissa käynnistä ensin X11-ohjelma.Gnuplot-ohjelman kuvat ilmestyvät X11-ohjelman ikkunaan
3d-kuvissa kappaletta voi kiertää hiiren avulla.
1
1.1 Funktion kuvaaja
(%i2) wxdraw2d(explicit(x*sin(1/x), x,-%pi/2,%pi/2) )$
(%t2)
(%i3) wxdraw2d(user_preamble="set size ratio -1",explicit(x*sin(1/x), x,-%pi/20,%pi/20) )$
(%t3)
1.2 Polku (=parametrisoitu käyrä)
Polku on jatkuva kuvaus reaaliakselin väliltä euklidiseen avaruuteen.Polun jälki (=polun käyrä) on polun kuvajoukko.
Funktioiden_havainnollistamisesta.wxm 2 / 11
(%i4) wxdraw2d(user_preamble="set size ratio -1",parametric( cos(t), sin(t), t,0,2*%pi) )$
(%t4)
Eri polku, mutta sama jälki:
(%i5) wxdraw2d(user_preamble="set size ratio -1",parametric( cos(t^2), sin(t^2), t,0,sqrt(2*%pi)) )$
(%t5)
Samat kuvaukset, mutta nyt piirretään kuvaajat, ei jälkiä:
Funktioiden_havainnollistamisesta.wxm 3 / 11
(%i6) wxdraw3d(proportional_axes=xyz,xrange=[0,6*%pi], yrange=[-1,1], zrange=[-1,1],xlabel="X", ylabel="Y", zlabel="Z",nticks=100,parametric( t, cos(t), sin(t), t,0,12*%pi) )$
(%t6)
(%i7) wxdraw3d(proportional_axes=xyz,xrange=[0,6*%pi], yrange=[-1,1], zrange=[-1,1],xlabel="X", ylabel="Y", zlabel="Z",nticks=100,parametric( t, cos(t^2), sin(t^2), t,0,sqrt(12*%pi)) )$
(%t7)
1.3 Funktion tasa-arvokäyrät
Hyperbelit x^2 - y^2 = 1 ja x^2 - y^2 = -1 sekä niiden asymptootit(= suorat y = x ja y = -x):
Funktioiden_havainnollistamisesta.wxm 4 / 11
(%i8) wxdraw2d(user_preamble="set size ratio -1",color=green, implicit(x^2 - y^2 = 1, x,-3,3, y,-3,3),color=red, implicit(x^2 - y^2 = -1, x,-3,3, y,-3,3),color=blue, explicit(x, x,-3,3), explicit(-x, x,-3,3) )$
(%t8)
2
2.1 Funktion kuvaaja
Pinta z = f(x,y)
(%i9) wxdraw3d(xu_grid=50, yv_grid=50,xrange=[0,2*%pi], yrange=[0,2*%pi], zrange=[-1, 1],xlabel="X", ylabel="Y", zlabel="Z",enhanced3d=false, surface_hide=true, view=[60, 30],explicit(sin(x)*sin(y), x,-2*%pi,2*%pi, y,-2*%pi,2*%pi) )$
(%t9)
2.2 Funktion tasa-arvokäyrät
Tasokäyriä f(x,y) = c vakion c eri arvoille:
Funktioiden_havainnollistamisesta.wxm 5 / 11
(%i10) wxdraw3d(xu_grid=50, yv_grid=50,proportional_axes=xy,xlabel="X", ylabel="Y", zlabel="Z",contour_levels=10, contour=map,explicit(sin(x)*sin(y), x,0,2*%pi, y,0,2*%pi) )$
(%t10)
2.3 Funktion kuvaaja ja tasa-arvokäyrät
Tasokäyrät f(x,y) = c sekä projisoituna xy-tasoonettä nostettuna pinnalle z = f(x,y), eli pistejoukot{(x,y) | f(x,y) = c} ja {(x,y,z) | f(x,y) = c, z = c}.
(%i11) wxdraw3d(xu_grid=50, yv_grid=50,/*proportional_axes=xyz,*/xrange=[0,2*%pi], yrange=[0,2*%pi], zrange=[-1, 1],xlabel="X", ylabel="Y", zlabel="Z",enhanced3d=false, surface_hide=true, view=[60, 30],contour_levels=10, contour=both,explicit(sin(x)*sin(y), x,0,2*%pi, y,0,2*%pi) )$
(%t11)
2.4 Origossa epäjatkuva funktio
Funktioiden_havainnollistamisesta.wxm 6 / 11
(%i12) wxdraw3d(xu_grid=50, yv_grid=50,/*proportional_axes=xyz,*//*xrange=[-1,1], yrange=[-1,1], zrange=[-1, 1],*/xlabel="X", ylabel="Y", zlabel="Z",enhanced3d=false, surface_hide=true, view=[60, 30],contour_levels=10, contour=base,explicit(x^2*y/(x^4 + y^2), x,-1,1, y,-1,1) )$
(%t12)
2.5 Parametrisoitu pinta
"Läpinäkyvä" pallo (piirrettynä pallokoordinaattien avulla)
(%i14) wxdraw3d(xu_grid=50, yv_grid=50,proportional_axes=xyz,xrange=[-1,1], yrange=[-1,1], zrange=[-1, 1],xlabel="X", ylabel="Y", zlabel="Z",enhanced3d=false, surface_hide=false, view=[60, 30],parametric_surface(cos(u)*cos(v), sin(u)*cos(v), sin(v), u,-%pi,%pi, v,-%pi/2,%pi/2) )$
(%t14)
Pallo piirrettynä stereografisen projektion (käänteiskuvauksen) avulla
Funktioiden_havainnollistamisesta.wxm 7 / 11
(%i15) wxdraw3d(xu_grid=50, yv_grid=50,proportional_axes=xyz,xrange=[-1,1], yrange=[-1,1], zrange=[-1, 1],xlabel="X", ylabel="Y", zlabel="Z",enhanced3d=false, surface_hide=true, view=[60, 30],parametric_surface(2*u/(1+u^2+v^2), 2*v/(1+u^2+v^2), (-1+u^2+v^2)/(1+u^2+v^2), u,-%pi,%pi, v,-%pi,%pi) )$
(%t15)
Möbiuksen nauha
(%i16) wxdraw3d(xu_grid=50, yv_grid=7,proportional_axes=xyz,xrange=[-3,3], yrange=[-3,3], zrange=[-1, 1],xlabel="X", ylabel="Y", zlabel="Z",enhanced3d=false, surface_hide=true, view=[60, 30],parametric_surface(2*cos(u)+v*cos(u/2)*cos(u), 2*sin(u)+v*cos(u/2)*sin(u), v*sin(u/2), u,0,2*%pi, v,-1,1) )$
(%t16)
2.6 Tasa-arvopinta (hyperboloidi)
Funktioiden_havainnollistamisesta.wxm 8 / 11
(%i17) wxdraw3d(x_voxel=20, y_voxel=20, z_voxel=20,proportional_axes=xyz,xlabel="X", ylabel="Y", zlabel="Z",surface_hide=true, view=[60, 30],implicit(x^2 + y^2 - z^2 = 1, x,-2,2, y,-2,2, z,-2,2) )$
(%t17)
3 "complexmap"
xy-tason alueen kuvaus uv-tasoon.(Ei ole valmiina Maximassa.)
Komennossa complexmap_xy2uv xy-tasosta rajataankoordinaattiakseleiden suuntainen suorakaide.
(%i18) complexmap_xy2uv(f,g, x,x1,x2,dx, y,y1,y2,dy):=block([xylist,ylist,j,nx,ny,y_lines,x_lines], nx:floor((x2-x1)/dx), xlist:makelist(x1+j*dx,j,0,nx), ny:floor((y2-y1)/dy), ylist:makelist(y1+j*dy,j,0,ny), y_lines:makelist( parametric( subst(xlist[j], x, f), subst(xlist[j], x, g), y, y1, y2), j,1,length(xlist) ), x_lines:makelist( parametric( subst(ylist[j], y, f), subst(ylist[j], y, g), x, x1, x2), j,1,length(ylist) ),return([color=blue, y_lines, color=red, x_lines]))$
Komennossa complexmap_polar2uv xy-tasosta rajataannapakoordinaattien avulla ympyräsektoreiden muodostama alue.
(%i19) complexmap_polar2uv(f,g, x,y, r1,r2,dr, theta1,theta2,dtheta):=block([r,theta,fp,gp,rlist,thetalist,j,nr,ntheta,theta_lines,r_lines], fp:subst([x=r*cos(theta), y=r*sin(theta)], f), gp:subst([x=r*cos(theta), y=r*sin(theta)], g), nr:floor((r2-r1)/dr), rlist:makelist(r1+j*dr,j,0,nr), ntheta:floor((theta2-theta1)/dtheta), thetalist:makelist(theta1+j*dtheta,j,0,ntheta), theta_lines:makelist( parametric( subst(rlist[j], r, fp), subst(rlist[j], r, gp), theta, theta1, theta2), j,1,length(rlist) ), r_lines:makelist( parametric( subst(thetalist[j], theta, fp), subst(thetalist[j], theta, gp), r, r1, r2), j,1,length(thetalist) ),return([color=blue, theta_lines, color=red, r_lines]))$
Funktioiden_havainnollistamisesta.wxm 9 / 11
3.1 Karteesiset koordinaatit
Kuvaus (f,g): (x,y) -> (%e^x*cos(y), %e^x*sin(y))
Identtinen kuvaus eli piirretään xy-tason alue,joka kuvauksella (x,y) -> (f(x,y), g(x,y)) kuvataan uv-tasoon
(%i20) wxdraw2d(user_preamble="set size ratio -1",complexmap_xy2uv(x, y, x, 0.1, 1, 0.1, y, 0.1, 3.1, 0.1))$
(%t20)
Punaiset käyrät kuvautuvat punaisiksi, siniset sinisiksi:
(%i21) wxdraw2d(user_preamble="set size ratio -1",complexmap_xy2uv(%e^x*cos(y), %e^x*sin(y), x, 0.1, 1, 0.1, y, 0.1, 3.1, 0.1))$
(%t21)
Funktioiden_havainnollistamisesta.wxm 10 / 11
(%i22) wxdraw(gr2d(user_preamble="set size ratio -1",title="xy-region mapped...",complexmap_xy2uv(x, y, x, 0.1, 1, 0.1, y, 0.1, 3.1, 0.1)),gr2d(user_preamble="set size ratio -1",title="...to uv-region",complexmap_xy2uv(%e^x*cos(y), %e^x*sin(y), x, 0.1, 1, 0.1, y, 0.1, 3.1, 0.1)) )$
(%t22)
3.2 Napakoordinaatit
Komennossa complexmap_polar2uv xy-tasosta rajataannapakoordinaattien (r,theta) avulla ympyräsektoreiden muodostama alue;x = r*cos(theta), y = r*sin(theta),missä r1<=r<=r2 ja theta1<=theta<=theta2.
Kuvaus (f,g): (x,y) -> (%e^x*cos(y), %e^x*sin(y))
Identtinen kuvaus eli piirretään xy-tason alue,joka kuvauksella (x,y) -> (f(x,y), g(x,y)) kuvataan uv-tasoon
(%i23) wxdraw2d(user_preamble="set size ratio -1",complexmap_polar2uv(x, y, x, y, 0.1, 1, 0.1, 0.1, 3.1, 0.2))$
(%t23)
Punaiset käyrät kuvautuvat punaisiksi, siniset sinisiksi:
Funktioiden_havainnollistamisesta.wxm 11 / 11
(%i24) wxdraw2d(user_preamble="set size ratio -1",complexmap_polar2uv(%e^x*cos(y), %e^x*sin(y), x, y, 0.1, 1, 0.1, 0.1, 3.1, 0.2))$
(%t24)
(%i25) wxdraw(gr2d(user_preamble="set size ratio -1",title="xy-region mapped...",complexmap_polar2uv(x, y, x, y, 0.1, 1, 0.1, 0.1, 3.1, 0.2)),gr2d(user_preamble="set size ratio -1",title="...to uv-region",complexmap_polar2uv(%e^x*cos(y), %e^x*sin(y), x, y, 0.1, 1, 0.1, 0.1, 3.1, 0.2)) )$
(%t25)