




















































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
MATLAB (MATrix LABoratory) trata-se de um software interativo de alta performance voltado para o cálculo numérico. O MATLAB integra análise numérica, cálculo com matrizes, processamento de sinais e construção de gráficos em ambiente fácil de usar onde problemas e soluções são expressos somente como eles são escritos matematicamente, ao contrário da programação tradicional.
Tipologia: Traduções
1 / 60
Esta página não é visível na pré-visualização
Não perca as partes importantes!
1 Introdução
1.1 O que é o OCTAVE?
O Octave é um software livre, escrito por Eaton (1997) e por vários outros colaboradores. Originalmente concebido como livro texto para estudantes de graduação de química para a resolução de equações químicas complexas; inicialmente foi escrita por James B. Rawlings da University of Wisconsin-Madison e John G. Ekerdt of the University of Texas. O Octave é um programa de linguagem aberta, logo muitas pessoas contribuem com sentenças de comando que são adicionados às versões em fase de teste, essas contribuições estão disponíveis no site da GNU Octave.
O software está disponível sob os termos da Licença Pública Geral do GNU (GPL) (Free Software Foundation, 1991).
O programa possui uma interface por linha de comandos para a solução numérica de problemas lineares e/ou não lineares e para implementar outros experimentos numéricos usando uma linguagem que é compatível com o programa comercial Matlab.
O Matlab foi desenvolvido no início da década de 80 por Cleve Moler, no Departamento de Ciência da Computação da Universidade do Novo México, EUA É um "software" interativo de alta performance voltado para o cálculo numérico. Faz análise numérica, cálculo com matrizes, processamento de sinais e construção de gráficos em ambiente fácil de usar, onde problemas e soluções são expressos somente como eles são escritos matematicamente, ao contrário da programação tradicional, os elementos básicos de informação é uma matriz que não requer dimensionamento. Além disso, as soluções dos problemas são expressas no MATLAB quase exatamente como elas são escritas matematicamente.
O Octave possui muitas ferramentas para a solução numérica de problemas comuns de álgebra linear, para a determinação de raízes de equações, polinômios e integração de equações diferenciais e equações diferencias algébricas.
Programas como o Octave são usados freqüentemente no lugar de linguagens de programação científica como o C ou Fortran, por já trazerem embutidas muitas ferramentas numéricas e permitirem a visualização gráfica dos resultados de forma mais fácil.
Instalação do OCTAVE
Para instalar o software, deve-se acessar o endereço https://www.gnu.org/software/octave/
Baixar o arquivo referente ao sistema operacional desejado, e instalar no computador.
Algumas constantes usadas em OCTAVE
Comando Função desempenhada pi π ( 3.141592...) i ( ou j) Unidade imaginária ( se forem atribuídos valores, eles serão encarados como variáveis comuns), Se não houver atribuição, eles valem: √- inf Infinito ans Resultado da ultima operação sem atribuição
Temos abaixo algumas de demonstrações de sistemas modelados neste tipo de software
1.4 Fazendo um exemplo simples
Suponha que temos dois pontos P1 e P2 cujas coordenadas são:
P1=(1,5) e P2=(4,7)
Queremos calcular a distancia entre dois pontos, que é a hipotenusa de um triângulo retângulo, conforme mostra a figura abaixo. Usando o teorema de Pitágoras, podemos calcular a distancia d com a seguinte equação:
Observaçôes: 1) o sinal de percentagem serve como comentário no Octave
2)Salve o arquivo com um nome sem acentos, espaços, e sinais alternativos.
Esta saída coincide com o valor que calculamos no exemplo manual. Se a solução OCTAVE não coincidir com o exemplo manual, devemos rever ambas soluções a fim de encontrar o erro.
Testem o programa de vocês agora com outros pontos:
P3=(4,-2) e P2=(10,2). A resposta deve ser de: 7.
Percebe-se que todas as vezes que precisamos mudar os valores dos pontos temos que abrir o arquivo salvo. Podemos fazer melhorias no programa com o objetivo de evitar a modificação do arquivo.
Façamos então:
%este programa calcula e imprime a distancia em linha reta, entre dois pontos
p1x=input('Entre com o valor de x do ponto 1:') p1y=input('Entre com o valor de y do ponto 1:') p2x=input('Entre com o valor de x do ponto 2:') p2y=input('Entre com o valor de y do ponto 2:') d=sqrt((p2x-p1x)^2+(p2y-p1y)^2) % calcula a distância
Obs: Podemos incluir no fim deste programa os seguintes comandos também.
Distancia=['A distancia entre os pontos é:' num2str(d)]; disp(Distancia)
1.5 Outro exemplo
Para entrar com uma matriz pequena, por exemplo usa-se
A = [1 2 3; 4 5 6; 7 8 9]
colocando colchetes em volta dos dados e separando as linhas por ponto e vírgula.. Quando se pressiona a tecla
Para inverter esta matriz usa-se
B = inv(A)
e o OCTAVE responde com o resultado.
(colocar aqui o resultado obtido) O que achou do resultado?
1.6- Funções especiais de matrizes no Octave
zeros(n) – Matriz quadrada de zeros de ordem n
ones(n) – Matriz quadrada de uns de ordem n
eye(n) – Matriz quadrada identidade de ordem n
size(A) – Retorna 2 valores: número de linhas e número de colunas da matriz A
length(A) – Retorna a maior dimensão da matriz A.
rank(A) – Posto de uma matriz A
eig(A) – Autovetores de A
max(A) – Maior valor da matriz por colunas
rand(m,n) – matriz de dimensão m x n em que os elementos são aleatoriamente distribuídos entre 0 e 1.
clc a = a+ b = b- pause(1) end disp('fim do loop')
a condição a<b é testada. Se ela for verdadeira o corpo do laço, será executado.
Então a condição é retestada, e se verdadeira o corpo será executado novamente. Quando o teste se tornar falso o laço terminará, e a execução continuará no comando que segue o laço após o end.
2.3 Declarações if e break
A seguir, é apresentado um exemplo do uso da declaração if no OCTAVE.
for i = 1:5, for j = 1:5, if i == j A(i,j) = 2; else if abs(i-j) == 1 A(i,j) = -1; else A(i,j) = 0; end end end end
Os valores de i e j variam de 1 a 5, varrendo toda a matriz A. Se (if) i for igual a j , A(i,j)=2 , ou se (elseif) o valor absoluto de i-j for igual a 1, A(i,j)=-1 , ou (else) A(i,j)=0 , se nenhuma das condições anteriores forem satisfeitas.
Vejam que estas declarações também podem conter o comando ELSE que executa outro conjunto de comandos se o resultado do IF for falso.
É conveniente, às vezes, controlarmos a saída deu m laço de outro modo além do teste, no início ou no fim do mesmo. O comando break permite uma saída antecipada de um for ou while. Um comando break faz com que o laço mais interno seja terminado imediatamente.
Exemplo a ser feito em casa.
caras=
coroas= quantidade_de_lancamento= x=rand(1,quantidade_de_lancamento)
for i=1:length(x) if x(i) <0. x(i)=0 %cara else x(i)=1 %coroa end end
figure hist(x); title('caras e coroas')
for i=1:length(x) if x(i)== caras=caras+1; else coroas=coroas+1; end end
P=caras/length(x)
Um elemento individual da matriz pode ser indicado incluindo os seus subscritos entre parênteses. Por exemplo, dada a matriz A:
a declaração
A(3,3) = A(1,3) + A(3,l)
resulta em
3.2 - OPERAÇÕES COM MATRIZES
As operações com matrizes no OCTAVE são as seguintes:
· Adição; · Subtração · Multiplicação; · Transposta;
A seguir cada uma dessas operações é mostrada com mais detalhe.
3.2.1 Transposta
O caracter apóstrofo, " ' " , indica a transposta de uma matriz. A declaração
que resulta em
e
x = [-1 0 2]'
Produz
Se Z é uma matriz complexa, Z ' será o conjugado complexo composto. Para obter simplesmente a transposta de Z deve-se usar Z. ', como mostra o exemplo
Z = [1 2; 3 4] + [5 6; 7 8]*i Z1 = Z'
que resulta em:
3.2.2 Determinante
O determinante de uma matriz é obtido através do comando det(A).
Portanto, se
é aceitável, e resulta em
Ans = 4 É evidente que o resultado da multiplicação y'x* será o mesmo. Existem dois outros produtos que são transpostos um do outro.
x*y'
y*x'
3.2.5 Divisão
Existem dois símbolos para divisão de matrizes no OCTAVE "" e "/". Se A é uma matriz quadrada não singular, então A\B e B/A correspondem respectivamente à multiplicação à esquerda e à direita da matriz B pela inversa da matriz A , ou inv(A)B* e Binv(A),* mas o resultado é obtido diretamente. Em geral,
X = A\B é a solução de A*X = B
X = B/A é a solução de X*A = B
Por exemplo, como o vetor B foi definido como Ax,* a declaração
z = A\B
resulta em
3.2.6 Exponenciação
A expressão A^p eleva A à p -ésima potência e é definida se A é matriz quadrada e p um escalar. Se p é um inteiro maior do que um, a exponenciação é computada como múltiplas multiplicações. Por exemplo,
A^
Agora vamos aplicar este conhecimento na resolução de um sistema de equações baseado no circuito abaixo.
3.3 - OPERAÇÕES COM CONJUNTOS
O termo operações com conjuntos é usado quando as operações aritméticas são realizadas entre os elementos que ocupam as mesmas posições em cada matriz (elemento por elemento). As operações com conjuntos são feitas como as operações usuais, utilizando-se dos mesmos caracteres (" ***** ", " / ", " * ", "^" e " ‘ ") precedidos por um ponto ".* " (" .* ", " ./ ", " *.* ", ". ^ " e " .‘ ").
3.3.1 Adição e Subtração
Para a adição e a subtração, a operação com conjuntos e as operações com matrizes são as mesmas. Deste modo os caracteres "+" e "-" podem ser utilizados tanto para operações com matrizes como para operações com conjuntos.
Ou, a base pode ser um escalar.
z = 2.^[x y]
3.3.4 Operações Comparativas
Estes são os seis operadores usados para comparação de duas matrizes com as mesmas dimensões:
< menor
<= menor ou igual
maior
= maior ou igual
== igual
~= diferente
A comparação é feita entre os pares de elementos correspondentes e o resultado é uma matriz composta dos números um e zero, com um representando VERDADEIRO e zero, FALSO. Por exemplo ,
2 + 2 ~= 4
ans = 0 Pode-se usar, também os operadores lógicos & (e) e I (ou). Por exemplo,
1= = 1 & 4 = = 3
ans = 0
ans = 1
3.13 Funções Matemáticas e Lógicas
A funções trigonométricas incluídas no OCTAVE são
sin - seno cos - cosseno tan - tangente asin - arco-seno acos - arco-cosseno atan - arco-tangente
atan2 - arco-tangente para os quatro quadrantes sinh - seno hiperbólico cosh - cosseno hiperbólico tanh - tangente hiperbólica asinh - arco-seno hiperbólico acosh - arco-cosseno hiperbólico atanh - arco-tangente hiperbólico
OCTAVE inclui como funções elementares
abs(x) - valor absoluto ou módulo de um número complexo angle(x) - ângulo de fase sqrt(x) - raiz quadrada real(x) - parte real imag(x) - parte imaginária conj(x) - complexo conjugado round(x) - arredondamento para o inteiro mais próximo fix(x) - arredondamento para o inteiro mais próximo de zero floor(x) - arredondamento para o inteiro mais próximo de - ceil(x) - arredondamento para o inteiro mais próximo de + sign(x) - função sinal rem(x,y) - remanescente ou módulo gcd - máximo divisor comum lcm - mínimo múltiplo comum exp(x) - exponencial de base e log(x) - logaritmo natural log10(x) - logaritmo de base 10 root(x) – encontra a raiz do polinômio cujos coeficientes estão no vetor x poly(x) – encontra os coeficientes do polinômico cujas raízes estão no vetor x