[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Índice] | [ ? ] |
8.1 Definições para Criação de Gráficos |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Índice] | [ ? ] |
Valor por omissão: false
Quando in_netmath
é true
, plot3d
imprime uma
saída OpenMath para a consola se plot_format
é
openmath
; caso contrário in_netmath
(mesmo se for
true
) não tem efeito. in_netmath
não tem efeito
sobre plot2d
.
Onde expr, expr_1, ..., expr_n podem ser
expressões, funções ou operadores do Maxima ou do Lisp, ou ainda
uma lista da forma [discrete, [x1, ..., xn],
[y1, ..., yn]]
, [discrete, [[x1, y1],
..., [xn, ..., yn]]
ou [parametric, expr_x,
expr_y, intervalo_t]
.
Mostra o gráfico de uma ou mais expressões em função de uma variável.
plot2d
produz o gráfico de uma expressão expr ou de
várias expressões [expr_1, ..., expr_n]
. As
expressões que não forem do tipo paramétrico ou discreto, deverão
depender todas de uma única variável var e será
obrigatório usar intervalo_x para indicar o nome dessa
variável, e os seus valores mínimo e máximo, usando a
sintaxe: [var, min, max]
. O gráfico
mostrará o eixo horizontal delimitado pelos valores min e
max.
Uma expressão a ser representada no gráfico pode ser dada também
na forma discreta, ou paramétrica. Nomeadamente, por meio de uma lista
a começar pela palavra "discrete" ou "parametric". A palavra
chave discrete deverá ir seguida por duas listas, ambas do mesmo
comprimento, que serão as coordenadas horizontais e verticais de um
conjunto de pontos; em alternativa, as coordenadas de cada ponto podem
ser colocadas numa lista de dois valores, e todas essas coordenadas
deverão estar dentro de outra lista. A palavra chave parametric
deverá ir seguida por duas expressões expr_x e expr_y, e
um intervalo intervalo_t da forma [param, min,
max]
. As duas expressões deverão depender unicamente no
parâmetro param, e o gráfico mostrará o percurso seguido
pelo ponto com coordenadas (expr_x, expr_y) à medida que
param aumenta desde min até max.
O intervalo de valores no eixo vertical não é obrigatório. É
mais uma das opções do comando, com a sintaxe: [y,
min, max]
. Se essa opção for usada, o gráfico
apresentará esse intervalo completo, inclusivamente quando as
expressões não cheguem a atingir esses valores. De outra forma, se
não for indicado um intervalo no eixo vertical por meio de
set_plot_option
, as fronteiras do eixo vertical serão
seleccionadas automaticamente.
Todas as outras opções deverão ser listas, a começar pelo nome da opção. A opção xlabel pode ser usada para dar um texto que identificará o eixo horizontal; se essa opção não for usada, o eixo será identificado com o nome da variável indicada em intervalo_x, ou com a expressão expr_x, se houver unicamente uma expressão paramétrica, ou caso contrário ficará em branco.
O texto para identificar o eixo vertical pode ser indicado com a opção ylabel. Se só houver uma única expressão a ser representada, e a opção ylabel não tiver sido usada, o eixo vertical será identificado com essa expressão, a menos que for muito comprido, ou com a expressão expr_y, se a expressão for paramétrica, ou com o texto "discrete data" se a expressão for discreta.
As opções logx e logy não precisam de quaisquer paraâmetros. Fazem com que os eixos horizontal e vertical sejam apresentados em forma logarítmica.
Se houver vá rias expressões a serem representadas, será escrita uma legenda para identificar cada uma dessas expressões. O texto que deverá ser usado nessa legenda pode ser indicado por meio da opção legend. Se essa opção não for usada, Maxima criará textos para identificar cada expressão.
Por omissão, as expressões dadas serão representadas por pequenos segmentos de recta a ligarem pontos adjacentes num conjunto de pontos que, ou é dado usando a forma discrete, ou é calculado automaticamente a partir das expressões dadas, por meio de um algoritmo com ajuste automático dos intervalos entre pontos, usando como estimativa inicial do número de pontos o valor indicado pela opção nticks. A opção style serve para fazer com que alguma das expressões seja representada por pontos isolados ou por pontos mais segmentos de recta.
Existem várias opções globais, armazenadas na lista
plot_options, quu podem ser modificadas usando a função
set_plot_option
; qualquer uma dessad opções pode ser
contrariada pelos valores locais dados no comando plot2d.
Uma função a ser representada poderá ser identificada pelo nome de uma função ou operador do Maxima ou do Lisp, por meio duma expressão lambda do Maxima, ou como uma expressão geral do Maxima. Se for especificada como um nome ou como expressão lambda, a respectiva função deverá depender dum único argumento.
Exemplos:
Gráficos de funções ordinárias.
(%i1) plot2d (sin(x), [x, -5, 5])$ (%i2) plot2d (sec(x), [x, -2, 2], [y, -20, 20], [nticks, 200])$
Gráfico de funções identificadas pelo seu nome.
(%i3) F(x) := x^2 $ (%i4) :lisp (defun |$g| (x) (m* x x x)) $g (%i5) H(x) := if x < 0 then x^4 - 1 else 1 - x^5 $ (%i6) plot2d (F, [u, -1, 1])$ (%i7) plot2d ([F, G, H], [u, -1, 1], [y, -1.5, 1.5])$
Podemos representar um círculo por meio de um gráfico paramétrico com um parâmetro t. No caso dos gráficos paramétricos não é necessário indicar o intervalo da variável na horizontal, já que o intervalo do parâmetro t determina o domínio. No entanto, como os gráficos são representados numa proporção de 4 para 3 entre os eixos horizontal e vertical, usaremos a opção xrange para obter a mesma escala nos dois eixos:
(%i8) plot2d ([parametric, cos(t), sin(t), [t,-%pi,%pi], [nticks,80]], [x, -4/3, 4/3])$
Se repetirmos esse gráfico com apenas 8 pontos e etndendo o intevalo do parâmetro para que faça duas voltas, obteremos um desenho de uma estrela:
(%i9) plot2d ([parametric, cos(t), sin(t), [t, -%pi*2, %pi*2], [nticks, 8]], [x, -2, 2], [y, -1.5, 1.5])$
Combinação dum gráfico ordinário de um polinómio cúbico com o gráfico paramétrico de um cí:
(%i10) plot2d ([x^3+2, [parametric, cos(t), sin(t), [t, -5, 5], [nticks, 80]]], [x, -3, 3])$
Para mostrar alguns exemplos de gráficos discretos, começaremos por introduzir as coordenadas de 5 pontos, usando os dois métodos que podem ser usados:
(%i12) xx:[10, 20, 30, 40, 50]$ (%i13) yy:[.6, .9, 1.1, 1.3, 1.4]$ (%i14) xy:[[10,.6], [20,.9], [30,1.1], [40,1.3], [50,1.4]]$
Para apresentar esses pontos, ligados por segmentos de recta, usaremos:
(%i15) plot2d([discrete,xx,yy])$
A seguir obteremos o gráfico mostrando únicamente os pontos, e aproveitando para mostrar o uso do segundo método para indicar as coordenadas dos pontos:
(%i16) plot2d([discrete, xy], [style, points])$
O gráfico dos pontos dos dados pode ser apresentado junto com o gráfico de uma função teórica que explica esses resultados:
(%i17) plot2d([[discrete,xy], 2*%pi*sqrt(l/980)], [l,0,50], [style, [points,3,5], [lines,1,3]], [legend,"experiment","theory"], [xlabel,"pendulum's length (cm)"], [ylabel,"period (s)"])$
Veja também plot_options
, que descreve as opções das
funções gráficas e mostra mais exemplos.
Desenha o gráfico da lista de `grupos de pontos' dados em lista, usando xgraph. Se o programa externo xgraph não estiver instalado, o comando falha.
Uma lista de grupos de pontos pode ser da forma
[x0, y0, x1, y1, x2, y2, ...]
ou
[[x0, y0], [x1, y1], ...]
Um grupo de pontos pode também conter símbolos que fornecem rótulos ou outra informação.
xgraph_curves ([pontos1, pontos2, pontos3]);
desenha o gráfico das três curvas que passam pelos três grupos de pontos.
pt_set: append (["NoLines: True", "LargePixels: true"], [x0, y0, x1, y1, ...]);
faz com que o grupo de pontos (e os grupos de pontos que virem a seguir) sejam desenhados sem linhas a ligar os pontos, e que sejam usados pixels grandes. Consulte outras opções que podem ser usadas, na página de manual do programa xgraph.
pt_set: append ([concat ("\"", "x^2+y")], [x0, y0, x1, y1, ...]);
faz com que esse grupo de pontos em particular seja identificado com a
legenda "x^2+y". As aspas, "
, no início
indicam ao programa xgraph que se trata de uma legenda.
pt_set: append ([concat ("TitleText: Dados da Amostra")], [x0, ...])$
faz com que o título do gráfico seja "Dados da Amostra" e não o habitual "Maxima Plot".
Para fazer um gráfico de barras, com largura de 0.2 unidades, mostrando duas possibilidades diferentes dessas barras:
(%i1) xgraph_curves ([append (["BarGraph: true", "NoLines: true", "BarWidth: .2"], create_list ([i - .2, i^2], i, 1, 3)), append (["BarGraph: true", "NoLines: true", "BarWidth: .2"], create_list ([i + .2, .7*i^2], i, 1, 3))]);
Esta função usa um ficheiro temporário `xgraph-out'.
Os elementos desta lista estabelecem os valores por omissaão para as
opções usadas na elaboração de gráficos. Se uma
opção estiver presente numa chamada a plot2d
ou
plot3d
, esse valor terá precedência sobre o valor por
omissção. De outra forma, será usado o valor em
plot_options
. Os valores por omissção das opções
podem ser modificados usando set_plot_option
.
Cada elemento de plot_options
é uma lista de dois ou mais
ítens. O primeiro item é o nome de uma opção, e
os restantes compreendem o valor ou valores atribuídos
à opção. Em alguns casos, o valor atribuído é
uma lista, que pode compreender muitos itens.
As opções globais que são reconhecidas por plot2d
e
plot3d
são as seguintes:
plot_format
Determina a interface gráfica que será usada por plot2d
e
plot3d
.
gnuplot
Gnuplot é o pcote gráfico mais avançado entre os disponíveis no Maxima. Será preciso que o pacote externo gnuplot esteja instalado.
mgnuplot
Mgnuplot é uma interface Tk para o gnuplot. Vem incluída na distribuíção do Maxima. Mgnuplot oferece uma GUI rudimentar para o gnuplot, mas tem menos recursos em geral que a interface padrão do gnuplot. Mgnuplot precisa que os pacotes externos gnuplot e Tcl/Tk estejam instalados.
openmath
Openmath é um programa gráfico escrito em Tcl/Tk. Este formato é fornecido pelo pacote Xmaxima, que é distribuido com Maxima. Se quiser usar este formato instalar o pacote Xmaxima, que funcionará não só a partir do próprio Xmaxima mas também a partir da linha de comandos de outras GUI para o Maxima.
run_viewer
Controla se será executado ou não o visualizador apropriado para o formato do gráfico.
true
Executa-se o programa visualizador.
false
Não se executa o programa visualizador.
y
O intervalo vertical do gráfico.
Exemplo:
[y, - 3, 3]
Faz com que o intervalo vertical seja [-3, 3].
plot_realpart
Quando plot_realpart
for true
, nos pontos onde o valor a
ser representado no eixo vertical for complexo, será apresentada a
sua parte real x; isso é equivalente a mostrar
realpart(x)
em lugar de x. De outra forma, somente
valores com a parte imaginária igual a 0 são mostrados no
gráfico, e os valores complexos serão ignorados.
Exemplo:
plot2d (log(x), [x, -5, 5], [plot_realpart, false]); plot2d (log(x), [x, -5, 5], [plot_realpart, true]);
O valor por omissão é false
.
nticks
No plot2d, é o número de pontos usados, inicialmente, pela rotina gráfica adaptativa. É também o número de pontos que serão apresentados num gráfico paramétrico.
Exemplo:
[nticks, 20]
O valor por omissão para nticks
é 10.
adapt_depth
O número maximo de subdivisões usadas pela rotina gráfica adaptativa.
Exemplo:
[adapt_depth, 5]
O valor por omissão para adapt_depth
é 10.
xlabel
O texto que identifica o eixo horizontal num gráfico a 2d.
Exemplo:
[xlabel, "Tempo em segundos"]
ylabel
O texto que identifica o eixo vertical num gráfico a 2d.
Exemplo:
[ylabel, "Temperatura"]
logx
Faz com que o eixo horizontal num gráfico a 2d seja representado em escala logarítmica. Não precisa de nenhum parâmetro adicional.
logy
Faz com que o eixo vertical num gráfico a 2d seja representado em escala logarítmica. Não precisa de nenhum parâmetro adicional.
legend
Os textos para identificar as diversas expressões num gráfico a 2d com muitas expressões. Se existirem mais expressões do que os textos dados, serão repetidos. Por omissão, seraão usados os nomes das expressões ou das funções, ou as palavras discrete1, discrete2, ..., no caso de conjuntos discretos de pontos.
Exemplo:
[legend, "Grupo 1", "Grupo 2", "Grupo 3"]
style
Os estilos que serão usados para as diversas funções ou conjuntos discretos de pontos, num gráfico a 2d. A palavra style deverá ir seguida por um ou mais estilos. Se houver mais funções e conjuntos de dados do que os estilos definidos, serão repetidos estilos. Cada estilo poderá ser lines para segmentos de recta, points para pontos isolados, linespoints para segmentos e pontos, ou dots para pequenos pontos isolados. O Gnuplot também aceita o estilo impulses.
Cada um dos estilos poderá ser incorporado numa lista, seguido de alguns parâmetros adicionais. lines admite um ou dois números: a largura da linha e um inteiro que identifica uma cor. points admite um ou dois números; o primeiro número é o raio dos pontos, e o segundo número é um inteiro que no Gnuplot permite seleccionar diferentes formas e cores para os pontos e no Openmath muda a cor dos pontos usados. linesdots admite até quatro números; os dois primeiros são os mesmos do que para lines e os dois últimos são os mesmos do que para points.
Exemplo:
[style,[lines,2,3],[points,1,4]]
No Gnuplot, isso faz com que a primeira (e terceira, quinta, etc) expressão seja apresentada com segmentos de recta azuis de largura 2, e a segunda (quarta, sexta, etc) expressão com quadrados verdes de tamanho 1. No Openmath, a primeira expressão será apresentada com rectas magenta de largura 2, e a segunda com pontos laranja de raio 1; repare que openmath_color(3) e openmath_color(4) produzem "magenta" e "orange".
O estilo por omissão é segmentos de recta, com largura 1, e com diferentes cores.
grid
Define o número de pontos nas direções x e y, na grelha usada nos gráficos tridimensionais.
Exemplo:
[grid, 50, 50]
Define uma grelha de 50 por 50 pontos. A grelha padrão é 30 por 30.
transform_xy
Permite a aplicação de transformações nos gráficos tridimensionais.
Exemplo:
[transform_xy, false]
O valor por omiss~ao de transform_xy
é false
. Se não for
false
, deverá ser o resultado produzido por
make_transform ([x, y, z], f1(x, y, z), f2(x, y, z), f3(x, y, z))$
A transformação polar_xy
está previamente definida no
Maxima. É igual ao resultado da transformação
make_transform ([r, th, z], r*cos(th), r*sin(th), z)$
Opções do Gnuplot:
Existem muitas opções específicas para o Gnuplot. Muitas dessas opções são comandos próprios do Gnuplot, especificados como sequências de caracteres. Consulte a documentação do gnuplot para mais pormenores.
gnuplot_term
Define o tipo terminal de saída para gnuplot.
default
A saída do Gnuplot é mostrada em uma janela gráfica separada.
dumb
A saída do Gnuplot é mostrada na consola do Maxima, usando uma aproximação "arte ASCII" para gráficos.
ps
Gnuplot gera comandos na linguagem PostScript de descrição de
páginas. Se à opção gnuplot_out_file
tiver sido dada o
nome de um ficheiro, gnuplot escreverá os comandos PostScript nesse
ficheiro. De outra forma, os comandos PostScript serão gravados no
ficheiro maxplot.ps
.
Gnuplot pode produzir gráficos em muitos outros formatos gráficos
tais como png, jpeg, svg, etc. Para criar gráficos em algum desses
deverá dar-se a gnuplot_term
um (símbolo)
suportado pelo gnuplot ou uma especificação completa de terminal
do gnuplot com opções válidas (sequência de caracteres). Por
exemplo [gnuplot_term,png]
cria gráficos no formato PNG
(Portable Network Graphics) enquanto [gnuplot_term,"png size
1000,1000"]
cria gráficos no formato PNG com tamanho de 1000x1000
pixels. Se à opção gnuplot_out_file
for dado o nome de um
ficheiro, gnuplot gravará o graáfico nesse ficheiro. De outra forma,
o gráfico é gravado no ficheiro maxplot.term
, onde
term é o nome do terminal do gnuplot.
gnuplot_out_file
Grava o gráfico criado por gnuplot para um ficheiro.
false
Nenhum ficheiro de saída especificado.
Exemplo: [gnuplot_out_file, "myplot.ps"]
Quando usada em conjunto com o terminal PostScript do gnuplot, neste
exemplo o gráfico será gravado em formato PostScript no ficheiro
myplot.ps
, .
gnuplot_pm3d
Controla o uso do modo PM3D, que possui recursos avançados em 3D. O
modo PM3D está somente disponível nas versões de
gnuplot posteriores a 3.7. O valor padrão para gnuplot_pm3d
é
false
.
Exemplo:
[gnuplot_pm3d, true]
gnuplot_preamble
Insere comandos antes que o gráfico seja desenhado. Quaisquer comandos
válidos para o gnuplot podem ser usados. Multiplos comandos podem ser
separados com um ponto e vírgula. O exemplo mostrado
produz uma escala logarítmica no gráfico. O valor
padrão para gnuplot_preamble
é uma sequência de caracteres
vazia ""
.
Exemplo:
[gnuplot_preamble, "set log y"]
gnuplot_curve_titles
Controla os títulos dados na legenda do gráfico. O valor
padrão é [default]
, que escolhe automaticamente um
título para função cujo gráfico está a ser
desenhado. Se não for igual a [default]
,
gnuplot_curve_titles
poderá conter uma lista de sequências de
caracteres, cada uma das quais é "title 'nome'"
. (Para
desabilitar a legenda do gráfico, adicione "set nokey"
a
gnuplot_preamble
.)
Exemplo:
[gnuplot_curve_titles, ["title 'Minha primeira função'", "title 'Minha segunda função'"]]
gnuplot_curve_styles
Uma lista de sequências de caracteres a ser enviada para o gnuplot
para controlar a aparência das curvas, nomeadamente, cor, largura,
brilho, etc. O valor padrão é ["with lines 3", "with lines
1", "with lines 2", "with lines 5", "with lines 4", "with lines 6",
"with lines 7"]
, que circula através de diferentes cores. Consulte a
documentação de plot
no manual do gnuplot para mais
informações.
Exemplo:
[gnuplot_curve_styles, ["with lines 7", "with lines 2"]]
gnuplot_default_term_command
O comando do Gnuplot para escolher o tipo de terminal gráfico. O valor
padrão é a sequência de caracteres vazia ""
, nomeadamente,
usar-se-á o formato padrão do gnuplot.
Exemplo:
[gnuplot_default_term_command, "set term x11"]
gnuplot_dumb_term_command
O comando gnuplot para escolher o tipo de terminal não gráfico. O
valor padrão é "set term dumb 79 22"
, que produz
saída em texto com 79 por 22 caracteres.
Exemplo:
[gnuplot_dumb_term_command, "set term dumb 132 50"]
gnuplot_ps_term_command
O comando gnuplot para escolher o tipo de terminal para o terminal
PostScript. O valor padrão é "set size 1.5, 1.5;set term
postscript eps enhanced color solid 24"
, que escolhe o tamanho para 1.5
vezes o padrão do gnuplot, e o tamanho da fonte para 24, além de
outras coisas. Para mais informação, consulte a documentação
de set term postscript
no manual do gnuplot.
Exemplo:
Toda as figuras nos exemplos para a função plot2d neste
manual forma obtidas a partir de ficheiros Postscript que foram
produzidos após ter mudado gnuplot_ps_term_command
par:
[gnuplot_ps_term_command, "set size 1.3, 1.3; set term postscript eps color solid lw 2.5 30"]
Exemplos:
sin(x)
para o ficheiro sin.eps
.
(%i1) plot2d (sin(x), [x, 0, 2*%pi], [gnuplot_term, ps], [gnuplot_out_file, "sin.eps"])$
(%i2) plot2d ([gamma(x), 1/gamma(x)], [x, -4.5, 5], [y, -10, 10], [gnuplot_preamble, "set key bottom"])$
gnuplot_preamble
muito complicado para produzir
rótulos melhores para o eixo x. (Repare que a sequência de
caracteres fornecida a gnuplot_preamble
não pode ter qualquer
quebra de linha.)
(%i3) my_preamble: "set xzeroaxis; set xtics ('-2pi' -6.283, \ '-3pi/2' -4.712, '-pi' -3.1415, '-pi/2' -1.5708, '0' 0, \ 'pi/2' 1.5708, 'pi' 3.1415,'3pi/2' 4.712, '2pi' 6.283)"$ (%i4) plot2d([cos(x), sin(x), tan(x), cot(x)], [x, -2*%pi, 2.1*%pi], [y, -2, 2], [gnuplot_preamble, my_preamble]);
gnuplot_preamble
muito complicado para produzir
rótulos melhores para o eixo x, e produzir saída
PostScript que utiliza o formato de texto avançado
disponível no gnuplot. (Repare que a sequência de
caracteres fornecida a gnuplot_preamble
não pode ter qualquer
quebra de linha.)
(%i5) my_preamble: "set xzeroaxis; set xtics ('-2{/Symbol p}' \ -6.283, '-3{/Symbol p}/2' -4.712, '-{/Symbol p}' -3.1415, \ '-{/Symbol p}/2' -1.5708, '0' 0,'{/Symbol p}/2' 1.5708, \ '{/Symbol p}' 3.1415,'3{/Symbol p}/2' 4.712, '2{/Symbol p}' \ 6.283)"$ (%i6) plot2d ([cos(x), sin(x), tan(x)], [x, -2*%pi, 2*%pi], [y, -2, 2], [gnuplot_preamble, my_preamble], [gnuplot_term, ps], [gnuplot_out_file, "trig.eps"]);
(%i7) plot3d (atan (-x^2 + y^3/4), [x, -4, 4], [y, -4, 4], [grid, 50, 50], [gnuplot_pm3d, true])$
(%i8) my_preamble: "set pm3d at s;unset surface;set contour;\ set cntrparam levels 20;unset key"$ (%i9) plot3d(atan(-x^2 + y^3/4), [x, -4, 4], [y, -4, 4], [grid, 50, 50], [gnuplot_pm3d, true], [gnuplot_preamble, my_preamble])$
gnuplot_preamble
não pode ter qualquer quebra de linha.)
(%i10) plot3d (cos (-x^2 + y^3/4), [x, -4, 4], [y, -4, 4], [gnuplot_preamble, "set view map; unset surface"], [gnuplot_pm3d, true], [grid, 150, 150])$
Mostra o gráfico de uma ou três expressões como funções de duas variáveis.
(%i1) plot3d (2^(-u^2 + v^2), [u, -3, 3], [v, -7, 7]);
desenha o gráfico de z = 2^(-u^2+v^2)
com u
e v
a variar nos intervalos fechados [-3,3] e [-2,2], respectivamente, e
com u sobre o eixo x, e v
sobre o eixo y.
O mesmo gráfico pode ser visualizado usando openmath (se Xmaxima estiver instalado):
(%i2) plot3d (2^(-u^2 + v^2), [u, -3, 3], [v, -2, 2], [plot_format, openmath]);
neste caso o rato pode ser usado para rodar a superfície, mostrando o seu aspecto desde diferentes pontos de observação.
Um exemplo do terceiro modelo de argumento é
(%i3) plot3d ([cos(x)*(3 + y*cos(x/2)), sin(x)*(3 + y*cos(x/2)), y*sin(x/2)], [x, -%pi, %pi], [y, -1, 1], ['grid, 50, 15]);
que desenha o gráfico da fita de Moebius, parametrizada por três
expressões fornecidas como o primeiro argumento para plot3d
.
Um argumento adicional e opcional ['grid, 50, 15]
define o
número de rectâgulos da grelha nas direções x e y.
A função a ser representada graficamente pode ser especificada como o nome de uma função ou operador, do Maxima ou do Lisp, como uma expressão lambda do Maxima, ou como uma expressão geral do Maxima. Se especificada como um nome ou como expressão lambda, a função deve ser uma função de um argumento.
O exemplo seguinte mostra o gráfico da parte real de z^1/3
.
(%i4) plot3d (r^.33*cos(th/3), [r, 0, 1], [th, 0, 6*%pi], ['grid, 12, 80], ['transform_xy, polar_to_xy]);
Outros exemplos são uma superfície de Klein:
(%i5) expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y) + 3.0) - 10.0$ (%i6) expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y) + 3.0)$ (%i7) expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))$ (%i8) plot3d ([expr_1, expr_2, expr_3], [x, -%pi, %pi], [y, -%pi, %pi], ['grid, 40, 40]);
e um toro
+(%i9) expr_1: cos(y)*(10.0+6*cos(x))$ +(%i10) expr_2: sin(y)*(10.0+6*cos(x))$ +(%i11) expr_3: -6*sin(x)$ +(%i12) plot3d ([expr_1, expr_2, expr_3], [x, 0, 2*%pi], [y, 0, 2*%pi], ['grid, 40, 40]);
Algumas vezes será necessário definir uma função para desenhar o gráfico da expressão. Todos os argumentos para plot3d são avaliados antes de serem passados para plot3d; assim, pode ser difi,cil escrever uma expressão que faza apenas o que for preciso; será mais fácil criar uma função.
(%i13) M: matrix([1, 2, 3, 4], [1, 2, 3, 2], [1, 2, 3, 4], [1, 2, 3, 3])$ (%i14) f(x, y) := float (M [?round(x), ?round(y)])$ (%i15) plot3d (f, [x, 1, 4], [y, 1, 4], ['grid, 4, 4])$
Veja plot_options
para mais exemplos.
Produz uma função adequada para a função
transformação em plot3d. Usa-se conjuntamente com a opção
gráfica transform_xy
.
make_transform ([r, th, z], r*cos(th), r*sin(th), z)$
é uma transformação para coordenadas polares.
Atribui valores às opções globais para impressão.
opção é especificada como uma lista de dois ou mais
elementos, na qual o primeiro elemeto é uma das palavras chave
dentro da lista plot_options
.
O argumento dado a set_plot_option
é avaliado e
set_plot_option
retorna a lista completa plot_options
(após modificar um desses elementos).
Veja também plot_options
, plot2d
e plot3d
.
Exemplos:
Modifica a gralha (grid
) e o intervalo de x
. Quando uma
palavra chave em plot_options
tiver um valor
atribuído, colocar um apóstrofo evita que seja
avaliado.
(%i1) set_plot_option ([grid, 30, 40]); (%o1) [[x, - 1.755559702014E+305, 1.755559702014E+305], [y, - 1.755559702014E+305, 1.755559702014E+305], [t, - 3, 3], [grid, 30, 40], [transform_xy, false], [run_viewer, true], [plot_format, gnuplot], [gnuplot_term, default], [gnuplot_out_file, false], [nticks, 10], [adapt_depth, 10], [gnuplot_pm3d, false], [gnuplot_preamble, ], [gnuplot_curve_titles, [default]], [gnuplot_curve_styles, [with lines 3, with lines 1, with lines 2, with lines 5, with lines 4, with lines 6, with lines 7]], [gnuplot_default_term_command, ], [gnuplot_dumb_term_command, set term dumb 79 22], [gnuplot_ps_term_command, set size 1.5, 1.5;set term postscript # eps enhanced color solid 24]] (%i2) x: 42; (%o2) 42 (%i3) set_plot_option (['x, -100, 100]); (%o3) [[x, - 100.0, 100.0], [y, - 1.755559702014E+305, 1.755559702014E+305], [t, - 3, 3], [grid, 30, 40], [transform_xy, false], [run_viewer, true], [plot_format, gnuplot], [gnuplot_term, default], [gnuplot_out_file, false], [nticks, 10], [adapt_depth, 10], [gnuplot_pm3d, false], [gnuplot_preamble, ], [gnuplot_curve_titles, [default]], [gnuplot_curve_styles, [with lines 3, with lines 1, with lines 2, with lines 5, with lines 4, with lines 6, with lines 7]], [gnuplot_default_term_command, ], [gnuplot_dumb_term_command, set term dumb 79 22], [gnuplot_ps_term_command, set size 1.5, 1.5;set term postscript # eps enhanced color solid 24]]
[ << ] | [ >> ] | [Top] | [Contents] | [Índice] | [ ? ] |
This document was generated by Robert Dodier on Dezembro, 22 2007 using texi2html 1.76.