sexta-feira, 30 de março de 2012

O Paradoxo do Aniversário

O paradoxo do aniversário, ou problema do aniversário, vem da probabilidade de duas pessoas em um grupo de n pessoas terem o mesmo dia de aniversário. Para esta probabilidade considera-se o ano com 365 dias (excluindo 29 de Fevereiro), desconsideram-se gêmeos e consideram-se que todos os dias são equiprováveis para aniversário (pois na realidade a quantidade oscila com a época do ano ou dia da semana).

O paradoxo é que em um grupo de apenas 23 pessoas, a probabilidade de duas terem o mesmo dia de aniversário é de 50%. Com um grupo de 57 pessoas esta probabilidade sobe para 99%. Obviamente os 100% são atingidos com um grupo de 366 pessoas. A probabilidade parece alta demais, parece incompatível, dando esta ideia de paradoxo.

Entretanto a probabilidade está certa. A matemática prova isto. Veja:

Sendo P(A) a probabilidade de duas pessoas em um grupo terem o mesmo dia de aniversário, então P('A) é o inverso, é a probabilidade de duas pessoas não terem o mesmo dia de aniversário. A e 'A são eventos complementares e sendo P(A) e P('A) as únicas possibilidades e mutuamente exclusivas, então P(A) + P('A) = 1.

O cálculo da probabilidade, de duas pessoas em um grupo terem o mesmo dia de aniversário, fica mais fácil se calcularmos primeiro a probabilidade P('A).

A probabilidade P('A) é igual ao produto das probabilidades individuais, ou eventos, de cada pessoa. Se P('A) pode ser descrito como n eventos independentes, então P('A) = P(1) x P(2) x P(3) x ... x P(n), sendo n o número de pessoas no grupo. A probabilidade de um evento é dada por P(A) = n(A)/n(U).

Considerando que estamos calculando P('A), a primeira pessoa pode fazer aniversário em qualquer dia do ano, ou seja, em qualquer um dos 365 dias do ano. Assim P(1) = 365/365 = 1 = 100% (ou 1-0/365). A segunda pessoa pode fazer aniversário em qualquer dia exceto no dia do aniversário da primeira. Assim P(2) = 364/365 = 0,9973 = 99,73% (ou 1-1/365). A terceira pessoa pode fazer aniversário em qualquer dia exceto nos dias da primeira e da segunda pessoa. Assim P(3) = 363/365 = 0,9945 = 99,45% (ou 1-2/365).

Generalizando este processo para um grupo de n pessoas, P('A) é dada por: (com n menor que 366)

P('A) = 365/365 x 364/365 x 363/365 x ... x (365-(n-1))/365

ou

P('A) = (1-0/365) x (1-1/365) x (1-2/365) x ... x (1-(n-1)/365)


Simplificando uma ou outra equação, chega-se em:

P('A) = (365! / (365-n)!)/365^n = (365^-n x 365!)/(365-n)!


Se P(A) = 1 - P('A) então P(A) = 1 - (365!/(365-n)!)/365^n, visto isso, calcularemos a probabilidade para alguns grupos:

Para n=23: P(A) = 1 - (365!/(365-23)!)/365^23 = 0,5073 = 50,73%

Para n=57: P(A) = 1 - (365!/(365-57)!)/365^57 = 0,9901 = 99,01%

Para n=78: P(A) = 1 - (365!/(365-78)!)/365^78 = 0,9999 = 99,99%


Como podemos observar, a probabilidade é realmente grande de encontrarmos duas pessoas que façam aniversário no mesmo dia em grupos de 23 ou mais pessoas. Impressionantemente, com 78 pessoas é praticamente certo que teremos duas que façam aniversário no mesmo dia, mesmo existindo um número bem maior de possibilidades, 365 dias no ano.

O que acontece é que se apenas uma pessoa compara seu aniversário com as outras do grupo, a probabilidade é baixa, são poucas comparações. Mas se todas as pessoas comparam seus aniversários com as outras do grupo, a probabilidade aumenta consideravelmente, são muito mais comparações. E à medida que o número de pessoas do grupo aumenta, as probabilidades se multiplicam.

Saiba mais sobre probabilidades em http://dan-scientia.blogspot.com.br/search/label/probabilidade

quinta-feira, 29 de março de 2012

O Cientista e o Motorista

Aquele cientista famoso estava a caminho de uma conferência quando o seu motorista comentou:

- Patrão, já ouvi tantas vezes a sua palestra que tenho certeza de que poderia fazê-lo no seu lugar, se o senhor ficasse doente.
- Isso é impossível!
- Quer apostar?

E fizeram a aposta. Trocaram de roupa e, quando chegaram no local da conferência, o motorista foi para a tribuna enquanto o cientista instalou-se na última fila, como se fosse seu motorista.

Depois da palestra, começou a sessão de perguntas, que ele respondeu com precisão. No entanto, em certo momento, levantou-se um sujeito que apresentou uma questão dificílima. Longe de entrar em pânico, ele saiu-se com esta:

- Meu jovem, essa pergunta é tão fácil... mas, tão fácil... que vou pedir para o meu motorista responder!

(autor desconhecido)

Modos de rede no VirtualBox

O VirtualBox (https://www.virtualbox.org/) é uma aplicação multi-plataforma de virtualização. Com ele, é possível executar múltiplos sistemas operacionais ao mesmo tempo em máquinas virtuais.

Cada máquina virtual poderá ter sua configuração específica de hardware, como se fossem computadores reais, e o suporte à rede é bastante refinado, com diversos modos de operação.

No mundo da virtualização existem alguns termos e alguns serão úteis para o entendimento deste artigo:

Host OS (Hospedeiro)
É o sistema operacional do computador físico onde o VirtualBox está instalado.

Guest OS (Convidado)
É o sistema operacional executado dentro de uma máquina virtual.

Máquina Virtual (VM)
É o ambiente especial que o VirtualBox cria para simular um hardware de computador.

Adicionais para Convidado
É um pacote especial de software fornecido pelo VirtualBox para ser instalado no sistema convidado.


Na seção de rede das configurações da máquina virtual, é possível determinar como o VirtualBox concede os adaptadores de rede e os modos de operação na VM. O VirtualBox é bastante flexível na virtualização da rede. Os modos de operação dos adaptadores virtuais são em consideração ao hardware de rede físico do hospedeiro.

Para cada adaptador de rede habilitado é possível especificar um dos seguintes modos de virtualização:


Não Conectado

Neste modo, o VirtualBox informa ao sistema convidado que a placa de rede está presente porém não há conexão, como se não houvesse um cabo de rede plugado. É um modo de simular uma retirada do cabo da placa de rede.


NAT (Network Address Translation)

É o modo padrão de rede no VirtualBox. Com este modo, o VirtualBox age como um roteador, mapeando o tráfego, mascarando os IPs e possibilitando a comunicação da VM com a rede externa. O sistema convidado recebe um endereço IP que não faz parte da rede externa, do servidor DHCP integrado ao VirtualBox, e portando, durante todo o tráfego, os endereços e portas são traduzidos. Cada máquina virtual terá um roteador particular e elas não farão parte de uma mesma rede, impossibilitando a comunicação entre elas.

Este modo é necessário quando não é possível a máquina virtual obter um endereço IP real da rede externa. Ou quando deseja tornar a VM invisível e inalcançável pela rede externa, pelo menos não diretamente.


Placa Em Modo Bridge

Neste modo, o VirtualBox usa um driver de dispositivo para interceptar e injetar dados no adaptador de rede físico, tornando-se um adaptador de rede por software. O sistema convidado, usando este adaptador de rede por software, consegue conectar-se diretamente na rede externa e assim receber um endereço IP válido na rede externa.

O sistema hospedeiro e também todas as máquinas da rede, na qual a máquina hospedeira pertence, enxergarão normalmente a VM pela rede como se a VM fosse uma máquina real.

É um modo geralmente utilizado em sistemas convidados que são servidores de rede. Este modo possui algumas limitações dependendo do sistema operacional hospedeiro.


Rede Interna

Este modo é utilizado para criar uma rede por software onde somente as máquinas virtuais selecionadas ficarão visíveis entre elas. Nenhuma máquina da rede externa, nem mesmo o próprio hospedeiro enxergará as VMs da rede interna. Desta forma, todo o tráfego ficará restrito à rede interna e completamente isolado e escondido da rede externa.

É um modo seguro de se fazer rede entre as VMs, pois será impossível capturar pacotes pela rede externa.


Placa De Rede Exclusiva De Hospedeiro

Neste modo, o VirtualBox monta uma rede contendo somente o hospedeiro e um conjunto de máquinas virtuais, sem a necessidade do adaptador de rede físico do hospedeiro. É um modo híbrido entre o modo bridge e o modo de rede interna, as VMs se enxergarão entre si e ao hospedeiro, como se estivessem conectadas a uma mesma rede física, porém, como a rede interna está conectada somente à interface virtual do hospedeiro, o acesso a rede externa não é possível.

O VirtualBox cria no sistema hospedeiro uma interface virtual de rede, semelhante a interface de loopback. Esta interface proporciona a conectividade entre as VMs e o sistema hospedeiro.


Driver Genérico

Este modo é raramente usado. Permite ao usuário selecionar um driver que pode ser incluído no VirtualBox, numa recompilação, ou fornecido por um pacote de extensão.

Possui submodos os quais permitem que máquinas virtuais, em hospedeiros distintos, fiquem conectadas numa mesma infraestrutura de rede. Em outras palavras, permite a conexão em rede de sistemas convidados que estão em diferentes sistemas hospedeiros.

Generalizando, é uma parte opcional do VirtualBox que só está incluída no código fonte. O pacote fornecido pela Oracle não inclui os drivers necessários.

sexta-feira, 16 de março de 2012

Repositórios extras para o CentOS

O CentOS (Community ENTerprise Operating System) (http://www.centos.org/) é uma distribuição Linux baseada nos pacotes fontes livres do RHEL (Red Hat Enterprise Linux), portanto totalmente livre e gratuito, sendo 100% compatível com a distribuição da Red Hat. A cada nova versão do RHEL é lançada uma nova versão equivalente para o CentOS.

Além do repositório de software oficial da comunidade desenvolvedora do CentOS, existem outros repositórios compatíveis com o RHEL e derivados, como o CentOS, fornecendo centenas de pacotes de softwares que complementam o repositório oficial. Em destaque temos o EPEL, Repoforge e ATrpms. Estes são repositórios mantidos por terceiros.

A instalação dos softwares fornecidos por estes repositórios pode ser feita isoladamente, pacote a pacote, ou configurando os repositórios no YUM para que a busca e instalação se torne automatizada. É este segundo modo que será exemplificado neste artigo.


O EPEL (Extra Packages for Enterprise Linux) (http://fedoraproject.org/wiki/EPEL) é um grupo especial da comunidade Fedora que mantém e gerencia um conjunto de alta qualidade de pacotes adicionais, para o Enterprise Linux e compatíveis. Os pacotes fornecidos pelo EPEL nunca conflitam ou substituem os pacotes básicos das distros Enterprise Linux, são pacotes que complementam. O EPEL usa a mesma infraestrutura dos repositórios do Fedora. São pacotes 100% livres, de softwares de código aberto.

Para usar o EPEL no CentOS, de forma automática pelo YUM, basta instalar o pacote de configuração. Este pacote instala os detalhes do repositório nos arquivos de configuração do YUM. O pacote de configuração deve estar de acordo com a versão do CentOS.

Por exemplo, para instalar o pacote de configuração do EPEL no CentOS 6, o pacote será:

http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm

Instale com a ferramenta que desejar, seja com "yum localinstall ..." ou "rpm -ivh ..." direto na URL do arquivo, e o repositório do EPEL será incluido no YUM. Lembre-se de instalar o pacote apropriado para a versão do CentOS.


Outro repositório é o Repoforge (http://repoforge.org/), anteriormente chamado de RPMforge. Também é um projeto que mantém pacotes para o RHEL e derivados.

O Repoforge contém um repositório com pacotes que não causam qualquer conflito com a base RHEL e outro repositório separado (rpmforge-extras) que fornece versões mais novas, e assim com um certo conflito, dos pacotes da base oficial do RHEL.

Por exemplo, para instalar o pacote de configuração do Repoforge no CentOS 6, numa máquina compatível com i686, o pacote será:

http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

Na instalação deste pacote, o repositório rpmforge-extras vem desabilitado por padrão.


Além do EPEL e do Repoforge, existe o repositório ATrpms (http://atrpms.net/). Este repositório fornece principalmente pacotes de softwares multimídia e drivers das placas de vídeo nVidia. Assim como o Repoforge, as configurações do ATrpms oferecem repositórios extras de versões ainda em testes e extremamente novas. Estes não vem habilitados por padrão, apenas o repositório de versões estáveis.

Por exemplo, para instalar o pacote de configuração do ATrpms no CentOS 6, numa máquina compatível com i686, o pacote será:

http://dl.atrpms.net/all/atrpms-repo-6-5.el6.i686.rpm


Estes três são os principais repositórios, mantidos por terceiros, para a distribuição RHEL e derivadas. Existem outros. Compensa bastante habilitá-los no CentOS pois assim tem-se uma quantidade maior de softwares disponíveis. Com estes repositórios habilitados no YUM, qualquer chamada por pacotes, seja em um comando de procura, de instalação ou de atualização, os respectivos repositórios serão verificados na busca. As dependências também serão resolvidas automaticamente.


E aproveitando este artigo, o repositório de ferramentas forenses do CERT (http://www.cert.org/forensics/repository/) para uso em computação forense, pode ser configurado com a instalação do seguinte arquivo (para CentOS 6):

http://www.cert.org/forensics/tools/cert-forensics-tools-release-el6.rpm


Os pacotes de configurações citados nos exemplos são versões no momento da redação deste artigo. Quando for instalá-los, procure pelas versões atuais:

http://download.fedoraproject.org/pub/epel/
http://pkgs.repoforge.org/rpmforge-release/
http://packages.atrpms.net/name/atrpms-repo/

quinta-feira, 15 de março de 2012

Problema de Lógica: Os três parentes

Dani, Eli e Cris são parentes entre eles, mas não incestuosamente.

1) Entre os três estão o pai de Dani, a única filha de Eli e o irmão ou irmã de Cris.
2) O irmão ou irmã de Cris não é o pai de Dani nem a filha de Eli.

Qual deles é de sexo diferente dos outros dois?





RESPOSTA





Da afirmativa 1, entre os três estão um pai, uma filha e um irmão ou irmã. Se o pai de Dani fosse Cris, então o irmão ou irmã de Cris teria que ser Eli. Depois, pela afirmativa 2, a filha de Eli teria que ser Dani. E assim, Dani seria a filha de ambos Eli e Cris, e Eli e Cris seriam irmãos. Esta relação é incestuosa e não é permitida. Portanto, o pai de Dani é Eli. E então, pela afirmativa 2, o irmão ou irmã de Cris é Dani. De modo que a filha de Eli é Cris. E por isso, pela afirmação 1, Dani é filho de Eli. Respondendo a questão, Cris é a única do sexo feminino.

Alterar a resolução da tela de uma máquina virtual Mac OS X

Numa instalação comum, no próprio hardware da Apple, é simples alterar a resolução do ambiente gráfico do Mac OS X. Com apenas alguns cliques é possível selecionar uma das resoluções suportadas pela placa de vídeo e monitor:

1º Pelo menu Apple da barra de menus, ou pelo Dock, vá em "Preferências do Sistema".

2º Na janela das "Preferências do Sistema", clique em "Monitores".

3º Na janela "Monitor", selecione a resolução desejada.

4º Feche a janela das "Preferências do Sistema".

Entretanto, quando o sistema operacional Mac OS X está em ambiente virtualizado, pelo menos no VirtualBox ou no VMware, o Mac OS X pode apresentar uma limitação nesta funcionalidade. Numa instalação virtual, é possível que tenha somente uma resolução disponível na interface das "Preferências do Sistema".

Em casos assim, se desejar alterar a resolução, é necessário editar um arquivo de configuração do sistema, para forçar determinada resolução na máquina virtual Mac OS X. Siga os passos abaixo:

1º No desktop do Mac OS X, dê um duplo clique no ícone do dispositivo "Mac OS X".

2º Avance pelas pastas seguindo o caminho "Library/Preferences/SystemConfiguration".

3º Clique com o botão direito sobre o arquivo "com.apple.Boot.plist", clique em "Abrir Com" e depois em "TextEdit".

4º No arquivo aberto para edição, procure pela primeira linha que contenha "<string></string>" e abra uma linha em branco após esta linha.

5º No espaço em branco, digite estas duas linhas especificando a resolução e os bits de cor desejado:

<key>Graphics Mode</key>
<string>800x600x32</string>

6º Na barra de menus, vá em "Arquivo" e clique em "Salvar".

7º Feche a janela do "TextEdit" e reinicie o sistema operacional Mac OS X.

Se tudo der certo, na próxima inicialização o ambiente gráfico estará na resolução especificada. Na janela "Monitor" das "Preferências do Sistema" agora fica disponível somente esta resolução, definida no arquivo "com.apple.Boot.plist".

Edição do arquivo com.apple.Boot.plist.

Caso receba um aviso de que seu usuário não possui permissão de escrita no arquivo que está sendo editado. Siga estes passos para modificar as permissões do arquivo e da pasta que ele está:

1º Feche a janela do "TextEdit", descartando as alterações.

2º Clique com o botão direito sobre o arquivo "com.apple.Boot.plist" e clique em "Obter Informações".

3º Clique no cadeado, localizado no canto inferior direito e digite sua senha de administrador.

4º Expanda a última seção, "Compartilhamento e Permissões", e modifique o "Privilégio" do seu usuário para "Leitura e Gravação". Se necessário adicione seu usuário clicando no "+", selecionando um novo usuário.

5º Feche a janela de "Informações".

6º Repita os mesmos passos para a pasta "SystemConfiguration", faça o mesmo para modificar a permissão da pasta.

Volte a editar o arquivo "com.apple.Boot.plist".

Outra forma de alterar a resolução seria forçar pela ferramenta de virtualização, o VirtualBox possui este recurso. Contudo, o procedimento descrito neste artigo serve para qualquer ferramenta de virtualização.

terça-feira, 13 de março de 2012

Funções matemáticas no Wolfram Mathematica

Combinando com o artigo "Tipografia no Wolfram Mathematica" (http://dan-scientia.blogspot.com/2012/03/tipografia-no-wolfram-mathematica.html), este artigo traz um resumo das funções matemáticas contidas no software Mathematica.
   
Para realizar um cálculo, digita-se a função desejada e pressiona-se Shift+Enter para processar o cálculo. Para cada expressão de entrada (in) é agrupada sua saída (out) em células, esta indicação fica visível na margem direita da página.

A estrutura de uma chamada à uma função segue o padrão nome_da_função[argumentos,separados,por,vírgulas]. Os argumentos (ou opções), sempre entre colchetes, podem ser valores, variáveis, expressões e até outras funções. Se os argumentos formarem uma lista, eles devem ficar entre chaves.

Avaliar numericamente a expressão: 

N[Pi, 100]                   Número Pi com 100 casas

N[E, 50]                     Número E com 50 casas

E // N                       Número E com o número de casas padrão


Funções básicas:

Sin[60 Degree]               Seno de 60 graus

Sin[60 Degree] // N          Seno de 60 graus na forma numérica

Sin[Pi/3]                    Seno de Pi/3 radianos

Cos[45 Degree]               Cosseno de 45 graus

Cos[Pi/6]                    Cosseno de Pi/6 radianos

Tan[30 Degree]               Tangente de 30 graus

Sqrt[16]                     Raiz quadrada de 16

Exp[x]                       Exponencial de x (e^x)

Power[2, 10]                 Potência de 2 elevado a 10

Log[2, 128]                  Logarítmo de 128 na base 2

Mod[5, 2]                    Resto da divisão de 5 por 2

Binomial[10, 3]              Coeficiente binomial de 10 na classe 3

Sum[i^2, {i, 2, 10}]         Somatório de i^2, com i de 2 a 10


Estatística:

Mean[{1.21, 3.4, 2.15, 4, 1.55}]                      Média

Variance[{1.21, 3.4, 2, 4.6, 1.5, 5.61, 7.2}]         Variância

StandardDeviation[{1.2, 3.4, 2, 4.6, 1.5, 5.6, 7.2}]  Desvio Padrão

Median[{1, 2, 3, 4, 5, 6, 7}]                         Mediana


Gera lista dos valores da expressão: 

Table[Prime[n], {n, 20}]            20 primeiros números primos

Table[Fibonacci[n], {n, 20}]        20 primeiros números de Fibonacci

Table[n!, {n, 10}]                  Fatorial de n, com n de 1 a 10

Column[Table[Binomial[n, k], {n, 0, 5}, {k, 0, n}], Center]  Triângulo de Pascal


Matriz:

Det[{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}]        Determinante

Inverse[{{u, v}, {v, u}}]                     Matriz inversa

Transpose[{{a, b, c}, {x, y, z}}]             Matriz transposta


Soluções para as variáveis:

Solve[x^2 - 5 x + 6 == 0, x]

Solve[{2 x + 2 y + 3 z == 5, x + y + 2 z == 3, 3 x + 4 y + 2 z == 0}, {x, y, z}]

NSolve[{2^2 a + 2 b + c == 0, 4^2 a + 4 b + c == 3, 6^2 a + 6 b + c == 0}, {a, b, c}]

NSolve[2^2 a + 2 b + c == 0 && 4^2 a + 4 b + c == 3 && 6^2 a + 6 b + c == 0, {a, b, c}]


Expande expressão polinomial: 

Expand[(x - 3)^2]

Expand[(x + 2)^3]


Simplifica a expressão: 

Simplify[(x - 1) (x + 1) (x^2 + 1) + 1]

Simplify[(x^2 - 8x + 16)/(x^2 - 16)]


Fatora uma expressão: 

Factor[x^2 - 7x + 10]

Factor[x^2 - 2^2]

Factor[(x^3 - 3^3)]


Limite da expressão: 

Limit[x^2 + 16, x -> 2]

Limit[(1 + x/n)^n, n -> Infinity]

f[x] := 2 x + 1
Limit[(f[x + h] - f[x])/h, h -> 0]


Derivada e Integral em x: 

D[x^2 + 16, x]

D[x^4 - 4 x^3 + 2 x^2 - 9, x]

D[x^4 - 4 x^3 + 2 x^2 - 9, {x, 2}]

Integrate[1 + 3 x, {x, 0, 2}]

Integrate[x^3 + 3 x + 1, {x, 2, 3}]

Integrate[Integrate[((x^2)/2) + 1, y], x]


Gráficos de funções (representados na figura abaixo): 

Plot[3 x + 1, {x, -2, 2}]


Plot[3 x + 1, {x, -1, 1}, AspectRatio -> Full, AxesOrigin -> {0, 0}, PlotRange -> {{-4, 4}, {-4, 4}}, AxesLabel -> {x, y}, Ticks -> {{-4, -3, -2, -1, 0, 1, 2, 3, 4}, {-4, -3, -2, -1, 0, 1, 2, 3, 4}}, PlotStyle -> {Thickness[0.005]}]


Plot[x^2 - 2 x + 1, {x, -4, 4}, AspectRatio -> Full, AxesOrigin -> {0, 0}, PlotRange -> {{-4, 4}, {-4, 4}}, AxesLabel -> {x, y}, Ticks -> {{-4, -3, -2, -1, 0, 1, 2, 3, 4}, {-4, -3, -2, -1, 0, 1, 2, 3, 4}}, PlotStyle -> {Thickness[0.005]}]


Plot[Sin[x], {x, 0, 6 Pi}, PlotStyle -> {Thickness[0.005]}]


PolarPlot[x, {x, 0, 10 Pi}]


ContourPlot[x^2 + y^2 == 1, {x, -1, 1}, {y, -1, 1}]


ParametricPlot[{Cos[x], Sin[x]}, {x, 0, 2 Pi}]


RegionPlot[x^2 + y^2 <= 1, {x, -1, 1}, {y, -1, 1}]

Gráficos das funções acima.

Gráficos em três dimensões (representados na figura abaixo): 

ParametricPlot3D[{Cos[2 t], Sin[2 t], t}, {t, 0, 2 \[Pi]}]


ParametricPlot3D[{{4 + (3 + Cos[v]) Sin[u], 4 + (3 + Cos[v]) Cos[u], 4 + Sin[v]}, {8 + (3 + Cos[v]) Cos[u], 4 + Sin[v], 4 + (3 + Cos[v]) Sin[u]}}, {u, 0, 2 Pi}, {v, 0, 2 Pi}, PlotStyle -> {Red, Green}]


ParametricPlot3D[{v Cos[u], v Sin[u], 2 v}, {u, 0, 2 Pi}, {v, 0, 1}, Mesh -> 5, BoundaryStyle -> Black, PlotStyle -> FaceForm[Red, Yellow]]


RevolutionPlot3D[{Cos[t], Sin[t]}, {t, -Pi/2, Pi/2}]


Plot3D[(x^2 + y^2) Exp[-(x^2 + y^2)], {x, -2, 2}, {y, -2, 2}]

Gráficos das funções acima.


Áudio:

Play[Sin[440 2 Pi t], {t, 0, 1}]


Sound[{SoundNote["C"], SoundNote["G"]}]


O Mathematica é um software extremamente rico de funções e comandos. Praticamente todos os cálculos matemáticos são suportados neste software. Experimente testar estes comandos, teclando após a entrada de cada um deles a combinação Shift+Enter.