Diferenças entre edições de "Manipulação de vetores"
(→Grandes vetores) |
(→Mais sobre a gestão de ficheiros no Octave) |
||
Linha 164: | Linha 164: | ||
<syntaxhighlight> | <syntaxhighlight> | ||
dir | dir | ||
− | <syntaxhighlight> | + | </syntaxhighlight> |
− | + | ||
Com o comando cd pode-se mudar para outra pasta. Por exemplo, | Com o comando cd pode-se mudar para outra pasta. Por exemplo, | ||
Linha 176: | Linha 175: | ||
cd NomeDaPasta | cd NomeDaPasta | ||
cd 'Nome da Pasta' | cd 'Nome da Pasta' | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | O comando cd, sem argumentos, muda para a pasta do utilizador. É um comando muito útil. | ||
+ | <syntaxhighlight> | ||
+ | cd | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Revisão das 15h51min de 15 de outubro de 2012
Existem muitas formas de manipular vetores no Octave.
Índice
Constantes
A forma mais simples de definir um vetor em Octave é listando os valores do mesmo entre '[' e ']'. Pode separar cada um dos elementos com vírgulas ou com espaços.
octave:1> vel = [ 50 50 70 90 120 ] vel = 50 50 70 90 120 octave:2> peso = [ 82.4, 82.7, 82.5] peso = 82.400 82.700 82.500
Operações
Se aplicar um operador normal, como a multiplicação, a um argumento do tipo vetor, o mesmo é aplicado a todos os elementos do vetor.
octave:13> val = [1 2 3 4 5] val = 1 2 3 4 5 octave:14> val*2 ans = 2 4 6 8 10
Da mesma forma, pode aplicar uma função a todos os elementos de um vetor.
octave:15> valores = [0 pi/2 pi] valores = 0.00000 1.57080 3.14159 octave:16> sin(valores) ans = 0.00000 1.00000 0.00000
Operadores unários
octave:32> x = 4:8 x = 4 5 6 7 8 octave:33> x^2 error: for A^b, A must be square octave:33> x.^2 ans = 16 25 36 49 64
Geração de vetores
Existe um operador específico para gerar vetores utilizando um valor inicial, um incremento e um limite. O operador usa-se da seguinte forma:
valor inicial: incremento: limite
octave:30> 1:1/3:3 ans = 1.0000 1.3333 1.6667 2.0000 2.3333 2.6667 3.0000
Desta forma é muito fácil, por exemplo, calcular os valores da função y = 2 * x - 3 para os valores de 1 a 10.
octave:34> x = 1:1:10 x = 1 2 3 4 5 6 7 8 9 10 octave:35> y = 2*x-3 y = -1 1 3 5 7 9 11 13 15 17
Pode ser abreviado para valor inicial: limite assumindo-se que o incremento é 1. Pode-se fazer, por exemplo:
octave:1> 15:20 ans = 15 16 17 18 19 20
Exercícios
- Crie um vetor com todos os múltiplos de 3, entre 1 e 100.
- Seja x = [1 2 3 4 5].
- Calcule os valores da função y = -3x^2 +4x -1, para os valores de x.
- Calcule o máximo valor de y (no domínio definido por x).
- Calcule o máximo valor de y (no domínio definido por x).
- Considere os seguintes dados. Tem 3 artigos diferentes, cada um com o seu preço unitário, e quer adquirir determinadas quantidades de cada um desses artigos.
- Seja preco = [ 2.45, 3.95, 8]
- Seja quantidade = [2 6 3]
- Calcule o preço a pagar por cada um dos artigos, atendendo à quantidade.
- Calcule valor total, isto é o valor apagar por todos os artigos multiplicados pelas respectivas quantidades.
Soluções dos exercícios | Resumo | Resposta |
---|---|---|
1 | Múltiplos de 3 | 3:3:100 |
2 | Dados do problema | x = [1 2 3 4 5] |
2.1 | Calcular os valores da função y | y = -3*x.^2 + 4*x -1 y = 0 -5 -16 -33 -56 |
2.2 | Máximo de y | max(y) ans = 0 |
3 | Dados do problema | preco = [ 2.45, 3.95, 8 ] quantidade = [2 6 3] |
3.1 | Valor a pagar por cada artigo (preço x quantidade) | preco .* quantidade ans = 4.9000 23.7000 24.0000 |
3.2 | Valor total a pagar | sum(preco .* quantidade) ans = 52.600 |
Valor total a pagar | preco * quantidade' ans = 52.600 | |
Valor total a pagar | dot(preco,quantidade) ans = 52.600 |
Mais sobre a gestão de ficheiros no Octave
Para saber qual é a pasta de trabalho atual:
pwd
Para mostrar o conteúdo da pasta de trabalho atual:
dir
Com o comando cd pode-se mudar para outra pasta. Por exemplo,
cd ..
muda para a pasta anterior.
cd NomeDaPasta cd 'Nome da Pasta'
O comando cd, sem argumentos, muda para a pasta do utilizador. É um comando muito útil.
cd
Pode-se usar a tecla <TAB> para expandir o nome da pasta. Por exemplo, para mudar para a pasta Desktop, basta escrever: cd Desk<TAB> e aparece-lhe cd Desktop
Grandes vetores
No Octave pode-se guardar uma ou mais variáveis num arquivo para posterior utilização. No arquivo heartrate.m, disponível em http://octave.di.uminho.pt/images/files/ tem a definição de um vetor chamado bpm. Descarregue o arquivo, e depois leia o vetor bpm do arquivo heartrate.m, com o comando:
octave:1> load heartrate.m bpm octave:1> load "C:/Users/jgr/Downloads/heartrate.m" octave:2> who Variables in the current scope: ans bpm octave:3> bpm
Neste vetor estão registados os batimentos cardíacos (batimentos por minuto) registados com intervalor de 5 segundos. O registo começou às 08:40:19 do dia 2012-10-03.
i) Diga quantos valores (comprimento) tem o vetor bpm.
ii) Diga qual o valor mínimo do vetor.
ii) Diga qual o valor máximo do vetor.
iii) Diga quantas vezes se registaram batimentos acima dos 160.
iv) Diga qual a média dos batimentos cardíacos.
mean(bpm)
ou
sum(bpm)/length(bpm)
v) Mostre apenas os primeiros 5 elementos do vetor bpm