Conceito

Vocacionado para o cálculo numérico
MATLAB = MATrix LABoratory
Os elementos são sempre matrizes numéricas
Um número é uma matriz com apenas um
elemento
Utilidade
Oferece um leque alargado de bibliotecas
de funções pré-definidas.
Muito amigável em funcionalidades
gráficas para Visualização de Dados.
Largamente divulgado em Universidades e
Laboratórios de Investigação.
Muito conveniente para o desenvolvimento
eficaz de protótipos.
Introdução
Software para análise numérica
Cálculo com matrizes
Processamento numérico
Testes lógicos, testes condicionais, estruturas de repetição
Construção de gráficos, etc
Problemas expressos numa forma mais próxima da
notação matemática
Interpreta comandos do usuário dados na janela de
comando.
Elemento básico de informação: MATRIZ
Alta performance
Alto nível
Ambiente de trabalho
O ambiente gráfico
Janela da comandos
Histórico dos comandos
Para mudar a pasta de
trabalho
Conteúdo da pasta de
trabalho
Documentação e demos
dos produtos instalados
Espaço de trabalho com
as variáveis
Ajuda
Ambiente de trabalho (2)
componentes da janela:
Workspace
> Mostra todas as
variáveis definidas
Command Window
> Executa os comandos
do ambiente MATLAB
Command History
> Mostra o registo dos
comandos utilizados
File Editor Window
> Definição de novas
funções
Ambiente de trabalho (3)
Ajuda
Ajuda MATLAB é uma
contribuição extremamente
importante para a aprendizagem do
MATLAB
Ajuda não só contém a base teórica,
mas também mostra demos de
execução
Ajuda do MATLAB podem ser
abertos usando o menu AJUDA no
menu
Ajuda (2)
Qualquer descrição de um comando
pode ser encontrada introduzindo o
comando no campo de pesquisa.
Sendo mostrado como no exemplo, a
descrição do comando para tirar a raiz
quadrada (sqrt), figura de cima.
Também podemos utilizar a ajuda do
MATLAB (através do comando help) na
janela de comando como mostrado na
figura de baixo.
Tipos de dados
No MATLAB todos os dados são ARRAYS
Os Arrays podem ser dos tipos:
Char (caracter)
String
Numérico (single, double, int8, int16, int32, uint8, uint16,
uint32)
Lógico (true, false)
Célula
Estrutura (ex: Pessoa.idade)
Formatar tipos de dados
Formatar tipos de dados (2)
Operadores aritméticos
+ adição
- subtracção
* multiplicação
/ divisão
^ potenciação
‘ transposta do conjugado complexo
.* multiplicação element-a-elemento
./ divisão elemento-a-elemento
.^ potenciação elemento-a-elemento
.‘ transposta
\ divisão inteira
Operadores aritméticos
Operadores relacionais
== igual
~= diferente
< menor que
<= menor ou igual que
> maior que
>= maior ou igual que
Operadores relacionais
Operadores lógicos
& E
| OU
xor OU exclusivo lógico
~ NÃO
Devolve sempre um valor Booleano, 1 (TRUE) ou 0 (FALSE)
Operadores lógicos
Operadores lógicos
Precedência dos operadores
1. Os operadores aritméticos são avaliados primeiro.
2. Os operadores relacionais são avaliados da
esquerda para a direita.
3. Todos os operadores ~ são avaliados.
4. Todos os operadores & são avaliados.
5. Todos os operadores I são avaliados.
OBS: Sempre use parênteses para indicar a ordem
correcta desejada de avaliação de uma expressão.
Vectores
Variáveis de uma dimensão, de qualquer tipo
de dados válido
x = [1 2 5 1]

x =
1 2 5 1
Matrizes
Variáveis multidimensionais, de qualquer tipo
de dados válido
x = [1 2 3; 5 1 4; 3 2 -1]
x =
1 2 3
5 1 4
3 2 -1
Gerar matrizes de funções
x = zeros(1,3)
x =
0 0 0
x = ones(1,3)
x =
1 1 1
x = rand(1,3)
x =
0.9501 0.2311 0.6068
• zeros(M,N) MxN matriz de zeros
• ones(M,N) MxN matriz de uns
• rand(M,N) MxN matriz com números
aleatórios uniformemente
distribuídos, no intervalo
(0,1)
• eye(M,N) MxN matriz com uns na
diagonal principal, e zeros
nos outros indices
x = eye(3,3)
x =
1 0 0
0 1 0
0 0 1
Operações sobre matrizes
transposta
y = x. y =
1
2
5
1
aceder ao elemento x(i,j)
y=x(2,3)
y =
4
Toda a linha
Toda a coluna
y=x(3,:)
y =
3 2 -1
y=x(:,2)
y =
2
1
2
Operações sobre matrizes (2)
[ ] concatenação
( ) subscrição
x = [ zeros(1,3) ones(1,2) ]
x =
0 0 0 1 1
x = [ 1 3 5 7 9]
x =
1 3 5 7 9
y = x(2)
y =
3
y = x(2:4)
y =
3 5 7
inv(matriz) -> inverte a matriz
det(matriz) -> calcula o determinante da matriz
Endereçamento de arrays
vecLor:
vector(:) reLorna Lodos os elemenLos
vector(1:5) reLorna o prlmelro e qulnLo elemenLos
vector(2) reLorna o seaundo elemenLo
MaLrlz:
matr|z(1,3) reLorna o Lercelro elemenLo da prlmelra llnha
matr|z(:,2) reLorna Lodos os elemenLos da seaunda coluna
matr|z(1,:) reLorna Lodos os elemenLos da prlmelra llnha
matr|z(3:4,1:3) reLorna Lodos elemenLos enLre a prlmelra e
Lercelra colunas enLre as Lercelra e quarLa llnhas
[l c] = size(array) -> retorna o tamanho em linhas e colunas do array.
num_elem = length(array) -> retorna o tamanho da dimensão mais longa.
max_elem = max(array) -> retorna o elemento com valor máximo do array.
min_elem = min(array) -> retorna o elemento com valor mínimo do array.
sum_array = sum(array) -> retorna a soma dos elementos do array.
Operações sobre variáveis
• Apagar variáveis
– clear v1 v2 apaga as variáveis v1 e v2
– clear all apaga todas as variáveis
• Ver as variáveis no espaço de trabalho (“workspace”)
– whos mostra todas as variáveis do espaço de trabalho
com informação adicional de dimensão e tipo
– who mostra apenas os nomes das variáveis
• Guardar variáveis
– save Guarda em disco todas as variáveis do “workspace”
– load Carrega do disco as variáveis guardadas
– save ficheiro v1 v2 Guarda as variáveis v1 e v2 no ficheiro
– load ficheiro Carrega as variáveis do ficheiro
Comandos básicos
>>who -- Lista as variáveis.
>>whos -- Lista e especifica as variáveis.
>>clc -- Limpa a Janela de Comandos.
>>clf -- Limpa figura actual
>>clear -- Apaga as variáveis da workspace MATLAB.
>>help -- Ajuda do MATLAB, documentação.
>>help elfun – Lista funções do MATLAB
Estrutura de controlo (if)
Estrutura de controlo (if)
IF expressão
Bloco de código
ELSEIF expressão
Bloco de código
ELSE
Bloco de código
END
Estrutura de controlo (switch)
Estrutura de controlo (switch)
SWITCH condição
CASE valor,
Bloco código, …, Bloco código
CASE {valor1, valor2, valor3, …}
Bloco código, …, Bloco código

OTHERWISE
Bloco código, …, Bloco código
END
Estruturas de repetição
FOR variável=expressão
Bloco de código
END
WHILE expressão
Bloco de código
END
Funções úteis
Funções Elementares
• abs(x) - valor absoluto de x.
• acos(x) - arco cujo cassino é x.
• asin(x) - arco cujo seno é x.
• atan(x) - arco cuja tangente é x.
• cos(x) - cassino de x.
• exp(x) - exponencial ex.
• gcd(x,y) - Maximo divisor comum de x e y.
• lcm(x,y) - mínimo múltiplo comum de x e y.
• log(x) - logaritmo de x na base e.
• log10(x) - logaritmo de x na base 10.
• rem(x,y) - resto da divisão de x por y.
• sin(x) - seno de x.
• sqrt(x) - raiz quadrada de x.
• tan(x) - tangente de x.
Strings
Internamente são Arrays de caracteres
Operações:
Concatenação: strcat(...) [horizontal], strvcat(...) [vertical]
Comparação [devolve 1 ou 0 por caracter consoante é igual ou diferente]
strcmp(a,b) [Strings completas]
strncmp(a,b,n) [primeiros n caracteres]
strcmpi(a,b) [ignorar diferenças entre maiúsculas e minúsculas]
strncmpi(a,b,n) [primeiros n caracteres]
Procura e Substituição: findstr(s,v) - strmatch(a,b,’exact’) [exact usa-se apenas qd a procura é exacta]
Conversão:
Maiúsculas / Minúsculas: upper(s) - lower(s)
Número -> String: int2str(n) - num2str(n) - num2str(n, ‘format’)
String -> Número: str2double(s) - str2num(s)
Conversão de bases númericas
Decimal <-> binário
dec2bin(n10) - bin2dec(n2)
Decimal <-> hexadecimal
dec2hex(n10) - hex2dec(nh)
Decimal <-> qualquer base
dec2base(n10) - base2dec(nb)
Saída de dados
Em Matlab há vários processos de escrever os resultados
(output), permitindo controlar, de algum modo, o aspecto
com que essa informação é escrita. Os mais simples são:
1. Instruções sem (;);
2. Função disp;
3. Função fprintf (para o monitor).
Ficheiros
FILE_ID = fopen(‘ficheiro.txt’, ‘r,r+,w,w+,a,a+’); (3-sucesso a abrir)
Line = fgetl(File_ID); (ler linha)
Line = fgets(File_ID); (ler string)
fread(FILE_ID,len); (ler até len)
fwrite(FILE_ID,var,len); (escrever var de tamanho len)
fseek(FILE_ID, ‘eof, bof, cof’); (posicionar no ficheiro)
ftell(FILE_ID); (posição corrente)
fclose(FILE_ID); (fechar)
Gráficos 2D
Comando plot
t = 0:pi/100:2*pi;
x = sin(t);
plot(t,x)
t = linspace(0,10*pi,1001);
x = t + 3*sin(2*t);
y = t + 5*cos(5*t);
figure(1)
plot(x,y)
t = linspace(0,5*pi,5001);
x = cos(t) - cos(80*t).*sin(t);
y = 2*sin(t) - sin(80*t);
figure(2)
plot(x,y)
Lembrar as funções
hold on e hold off
Gráficos 2D
Gráficos 2D
X = 0:0.05:1;
subplot(121), plot(X,X.^2,’k*’)
subplot(122), plot(X,X.^2,’b --‘)
Gráficos 3D
mesh
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z)
Ficheiros m
• Os ficheiros M são macros de comandos
do MATLAB que são armazendas como
ficheiros de texto com extensão "m", isto
é nomeficheiro.m.
• Um ficheiro M tanto pode ser uma
função com variáveis de E/S ou uma lista
de comandos.
Ficheiros m
Como Criar um Ficheiro M (M-file)
Para criar um arquivo M-file, siga os seguintes
passos:
Inicialmente, você deve abrir o programa
MATLAB, dando um duplo click no ícone do
MATLAB que está na área de trabalho.
Selecione o menu File.
Selecione o comando New M-file.
Ficheiros m
Exemplo de script-file.
% script-file: circulo.m
% Este programa calcula a área de um circulo
raio = 2.5;
area = pi*raio^2;
fprintf(‘Area do circulo = %.3f ', area);
Ficheiros m
Como Executar um Ficheiro M (M-file)
Para executar um arquivo M-file no MATLAB é preciso
gravar o arquivo correspondente. Para isto, selecione o
item Save Workspace As do menu File. Dê preferência
salvar o arquivo no diretório corrente do MATLAB, ou
seja, na pasta work. Para executar o arquivo M, digite
no prompt do MATLAB o nome do arquivo salvado
anteriormente, sem a extensão ‘.m’. Feito isso o
MATLAB gera o executável do programa.
Exemplo: >>circulo
Funções do utilizador
Funções Definidas pelo utilizador.
function [outarg1, outarg2, ...] = fname(inarg1, inarg2, ...)
% H1 comentário
% Mais um comentário
...
(Código executável)
...
(return)
Funções do utilizador
function [resultado] = distancia2(xa,ya,xb,yb)
% DISTANCIA2 Calcula a distancia entre dois pontos
% Function DISTANCIA2 calcula a distancia entre dois pontos
% A(xa,ya) e B(xb,yb) no sistema de coordenadas cartesiano.
%
% Chamada a função
%
% res = distancia2(xa, ya, xb, yb)
%
% Definiçao das variaveis
% xa: abscissa do ponto A
% ya: ordenada do ponto A
% xb: abscissa do ponto B
% yb: ordenada do ponto B
% resultado: Distancia entre os pontos A e B.
% Calculo da distancia
resultado = sqrt((xb - xa).^2 + (yb - ya).^2)
Funções do utilizador
Uso da função teste_distancia.
% Script file: teste_distancia.m
% Este programa testa a funçao distancia2
% Definiçao das variaveis:
% xa: abscissa do ponto A
% ya: ordenada do ponto A
% xb: abscissa do ponto B
% yb: ordenada do ponto B
% resultado: distancia entre os dois pontos A e B.
% Dados fornecidos pelo usuario
disp('Calcule a distancia entre os pontos A e B');
xa = input('Forneca a abscissa do ponto A: ');
ya = input('Forneca a ordenada do ponto A: ');
xb = input('Forneca a abscissa do ponto B: ');
yb = input('Forneca a ordenada do ponto B: ');
% Uso da funçao definida pelo programador
resultado = distancia2(xa, ya, xb, yb); % Chamada a funçao.
% Exibiçao do resultado
fprintf('A distancia entre os pontos A e B e %f\n', resultado);
>> teste_distancia2
Calcule a distancia entre os pontos A e B
Forneca a abscissa do ponto A: 1
Forneca a ordenada do ponto A: 1
Forneca a abscissa do ponto B: 2
Forneca a ordenada do ponto B: 2
resultado =
1.4142
A distancia entre os pontos A e B e 1.414214
>>
Muito obrigado!

Conceito
Vocacionado para o cálculo numérico MATLAB = MATrix LABoratory Os elementos são sempre matrizes numéricas Um número é uma matriz com apenas um elemento

Utilidade
Oferece um leque alargado de bibliotecas de funções pré-definidas. Muito amigável em funcionalidades gráficas para Visualização de Dados. Largamente divulgado em Universidades e Laboratórios de Investigação. Muito conveniente para o desenvolvimento eficaz de protótipos.

Introdução
Software para análise numérica
Cálculo com matrizes Processamento numérico Testes lógicos, testes condicionais, estruturas de repetição Construção de gráficos, etc

Problemas expressos numa forma mais próxima da notação matemática Interpreta comandos do usuário dados na janela de comando. Elemento básico de informação: MATRIZ Alta performance Alto nível

Ambiente de trabalho
O ambiente gráfico comandos Janela da
Ajuda Para mudar a pasta de trabalho Documentação e demos dos produtos instalados Espaço de trabalho com as variáveis Histórico dos comandos Conteúdo da pasta de trabalho

Ambiente de trabalho (2) componentes da janela: Workspace > Mostra todas as variáveis definidas Command Window > Executa os comandos do ambiente MATLAB Command History > Mostra o registo dos comandos utilizados File Editor Window > Definição de novas funções .

Ambiente de trabalho (3) .

Ajuda Ajuda MATLAB é uma contribuição extremamente importante para a aprendizagem do MATLAB Ajuda não só contém a base teórica. mas também mostra demos de execução Ajuda do MATLAB podem ser abertos usando o menu AJUDA no menu .

a descrição do comando para tirar a raiz quadrada (sqrt). Sendo mostrado como no exemplo. figura de cima. Também podemos utilizar a ajuda do MATLAB (através do comando help) na janela de comando como mostrado na figura de baixo. .Ajuda (2) Qualquer descrição de um comando pode ser encontrada introduzindo o comando no campo de pesquisa.

idade) . int32. uint16.Tipos de dados No MATLAB todos os dados são ARRAYS Os Arrays podem ser dos tipos: Char (caracter) String Numérico (single. int8. uint32) Lógico (true. int16. uint8. double. false) Célula Estrutura (ex: Pessoa.

Formatar tipos de dados .

Formatar tipos de dados (2) .

* ./ .^ .Operadores aritméticos + * / ^ ‘ .‘ \ adição subtracção multiplicação divisão potenciação transposta do conjugado complexo multiplicação element-a-elemento divisão elemento-a-elemento potenciação elemento-a-elemento transposta divisão inteira .

Operadores aritméticos .

Operadores relacionais == ~= < <= > >= igual diferente menor que menor ou igual que maior que maior ou igual que .

Operadores relacionais .

Operadores lógicos & | xor ~ E OU OU exclusivo lógico NÃO Devolve sempre um valor Booleano. 1 (TRUE) ou 0 (FALSE) .

Operadores lógicos .

Operadores lógicos .

Os operadores aritméticos são avaliados primeiro. 4.Precedência dos operadores 1. 3. . Todos os operadores I são avaliados. Todos os operadores ~ são avaliados. 5. Os operadores relacionais são avaliados da esquerda para a direita. 2. Todos os operadores & são avaliados. OBS: Sempre use parênteses para indicar a ordem correcta desejada de avaliação de uma expressão.

Vectores Variáveis de uma dimensão. de qualquer tipo de dados válido x = [1 2 5 1] x= 1 2 5 1 .

5 1 4. de qualquer tipo de dados válido x = [1 2 3.Matrizes Variáveis multidimensionais. 3 2 -1] x= 1 2 5 1 3 2 3 4 -1 .

2311 0. no intervalo (0.N) MxN matriz de uns • rand(M.3) x= 1 0 0 0 1 0 0 0 1 • ones(M.N) MxN matriz de zeros x = zeros(1.3) x= 1 1 1 x = rand(1.Gerar matrizes de funções • zeros(M.6068 x = eye(3.1) MxN matriz com uns na diagonal principal. e zeros nos outros indices • eye(M.3) x= 0.9501 0.N) MxN matriz com números aleatórios uniformemente distribuídos.3) x= 0 0 0 x = ones(1.N) .

Operações sobre matrizes y = x.3) y= 4 Toda a linha y=x(3. y= 1 2 5 1 transposta aceder ao elemento x(i.j) y=x(2.:) y= 3 2 y=x(:.2) y= 2 1 2 -1 Toda a coluna .

2) ] x= 0 0 0 1 1 x = [ 1 3 5 7 9] x= 1 3 5 7 9 y = x(2) y= 3 y = x(2:4) y= 3 5 7 ( ) subscrição inv(matriz) -> inverte a matriz det(matriz) -> calcula o determinante da matriz .Operações sobre matrizes (2) [ ] concatenação x = [ zeros(1.3) ones(1.

Endereçamento de arrays [l c] = size(array) -> retorna o tamanho em linhas e colunas do array. min_elem = min(array) -> retorna o elemento com valor mínimo do array. . max_elem = max(array) -> retorna o elemento com valor máximo do array. sum_array = sum(array) -> retorna a soma dos elementos do array. num_elem = length(array) -> retorna o tamanho da dimensão mais longa.

Operações sobre variáveis • Apagar variáveis – clear v1 v2 – clear all – whos – who apaga as variáveis v1 e v2 apaga todas as variáveis mostra todas as variáveis do espaço de trabalho com informação adicional de dimensão e tipo mostra apenas os nomes das variáveis • Ver as variáveis no espaço de trabalho (“workspace”) • Guardar variáveis – – – – save Guarda em disco todas as variáveis do “workspace” load Carrega do disco as variáveis guardadas save ficheiro v1 v2 Guarda as variáveis v1 e v2 no ficheiro load ficheiro Carrega as variáveis do ficheiro .

>>clf -. >>whos -.Ajuda do MATLAB.Lista e especifica as variáveis. >>help elfun – Lista funções do MATLAB .Apaga as variáveis da workspace MATLAB.Limpa a Janela de Comandos.Comandos básicos >>who -.Limpa figura actual >>clear -. documentação. >>help -.Lista as variáveis. >>clc -.

Estrutura de controlo (if) .

Estrutura de controlo (if) IF expressão Bloco de código ELSEIF expressão Bloco de código ELSE Bloco de código END .

Estrutura de controlo (switch) .

…. Bloco código CASE {valor1. …. Bloco código … OTHERWISE Bloco código. Bloco código.Estrutura de controlo (switch) SWITCH condição CASE valor. valor2. …. valor3. …} Bloco código. Bloco código END .

Estruturas de repetição FOR variável=expressão Bloco de código END WHILE expressão Bloco de código END .

. rem(x. sqrt(x) .logaritmo de x na base e.y) . asin(x) .cassino de x. log(x) .arco cujo seno é x. cos(x) . log10(x) . exp(x) .Maximo divisor comum de x e y. lcm(x.Funções úteis Funções Elementares • • • • • • • • • • • • • • abs(x) .logaritmo de x na base 10.arco cujo cassino é x. tan(x) . sin(x) .valor absoluto de x. gcd(x.arco cuja tangente é x. acos(x) .exponencial ex.tangente de x.resto da divisão de x por y.raiz quadrada de x.y) .y) . atan(x) .seno de x.mínimo múltiplo comum de x e y.

’exact’) [exact usa-se apenas qd a procura é exacta] Número -> String: int2str(n) .b) [Strings completas] strncmp(a.b) [ignorar diferenças entre maiúsculas e minúsculas] strncmpi(a..num2str(n) . ‘format’) String -> Número: str2double(s) .b.num2str(n.) [vertical] Comparação [devolve 1 ou 0 por caracter consoante é igual ou diferente] strcmp(a.Strings Internamente são Arrays de caracteres Operações: Concatenação: strcat(.v) Conversão: Maiúsculas / Minúsculas: upper(s) lower(s) strmatch(a.n) [primeiros n caracteres] Procura e Substituição: findstr(s.) [horizontal].n) [primeiros n caracteres] strcmpi(a.str2num(s) .b..b... strvcat(.

hex2dec(nh) Decimal <-> qualquer base dec2base(n10) .bin2dec(n2) Decimal <-> hexadecimal dec2hex(n10) .base2dec(nb) .Conversão de bases númericas Decimal <-> binário dec2bin(n10) .

Saída de dados Em Matlab há vários processos de escrever os resultados (output). de algum modo. Os mais simples são: 1. Função fprintf (para o monitor). Função disp. permitindo controlar.). . 3. Instruções sem (. o aspecto com que essa informação é escrita. 2.

‘eof.txt’. (escrever var de tamanho len) fseek(FILE_ID.len).var.len). (posição corrente) fclose(FILE_ID).Ficheiros FILE_ID = fopen(‘ficheiro. (posicionar no ficheiro) ftell(FILE_ID).a+’). (ler string) fread(FILE_ID.r+. (ler linha) Line = fgets(File_ID).w+. (fechar) . cof’).w.a. bof. (ler até len) fwrite(FILE_ID. ‘r. (3-sucesso a abrir) Line = fgetl(File_ID).

x = t + 3*sin(2*t).*sin(t).10*pi. figure(2) plot(x. y = 2*sin(t) . x = cos(t) .x) t = linspace(0.y) Lembrar as funções hold on e hold off .sin(80*t).1001). plot(t. figure(1) plot(x.Gráficos 2D Comando plot t = 0:pi/100:2*pi.5001).cos(80*t). y = t + 5*cos(5*t).y) t = linspace(0.5*pi. x = sin(t).

Gráficos 2D .

plot(X.^2.’b --‘) . subplot(121).’k*’) subplot(122).Gráficos 2D X = 0:0.X.^2. plot(X.05:1.X.

R = sqrt(X.Z) .^2 + Y. mesh(X.Gráficos 3D mesh [X.^2) + eps.Y] = meshgrid(-8:.5:8)./R. Z = sin(R).Y.

Ficheiros m • Os ficheiros M são macros de comandos do MATLAB que são armazendas como ficheiros de texto com extensão "m". • Um ficheiro M tanto pode ser uma função com variáveis de E/S ou uma lista de comandos.m. . isto é nomeficheiro.

você deve abrir o programa MATLAB. . siga os seguintes passos: Inicialmente. Selecione o menu File. Selecione o comando New M-file. dando um duplo click no ícone do MATLAB que está na área de trabalho.Ficheiros m Como Criar um Ficheiro M (M-file) Para criar um arquivo M-file.

% script-file: circulo.5. area = pi*raio^2.Ficheiros m Exemplo de script-file. area). .m % Este programa calcula a área de um circulo raio = 2.3f '. fprintf(‘Area do circulo = %.

digite no prompt do MATLAB o nome do arquivo salvado anteriormente. Feito isso o MATLAB gera o executável do programa. sem a extensão ‘. Exemplo: >>circulo .Ficheiros m Como Executar um Ficheiro M (M-file) Para executar um arquivo M-file no MATLAB é preciso gravar o arquivo correspondente. Para executar o arquivo M. Para isto.m’. selecione o item Save Workspace As do menu File. na pasta work. Dê preferência salvar o arquivo no diretório corrente do MATLAB. ou seja.

function [outarg1. (return) .... outarg2.) % H1 comentário % Mais um comentário ..... .] = fname(inarg1. inarg2. (Código executável) .. .Funções do utilizador Funções Definidas pelo utilizador.

ya) e B(xb.xa).^2 + (yb .^2) .ya).yb) % DISTANCIA2 Calcula a distancia entre dois pontos % Function DISTANCIA2 calcula a distancia entre dois pontos % A(xa. ya. % Calculo da distancia resultado = sqrt((xb .xb. yb) % % Definiçao das variaveis % xa: abscissa do ponto A % ya: ordenada do ponto A % xb: abscissa do ponto B % yb: ordenada do ponto B % resultado: Distancia entre os pontos A e B.Funções do utilizador function [resultado] = distancia2(xa. xb.yb) no sistema de coordenadas cartesiano. % % Chamada a função % % res = distancia2(xa.ya.

resultado).4142 A distancia entre os pontos A e B e 1. % Exibiçao do resultado fprintf('A distancia entre os pontos A e B e %f\n'.m % Este programa testa a funçao distancia2 % Definiçao das variaveis: % xa: abscissa do ponto A % ya: ordenada do ponto A % xb: abscissa do ponto B % yb: ordenada do ponto B % resultado: distancia entre os dois pontos A e B. % Dados fornecidos pelo usuario disp('Calcule a distancia entre os pontos A e B').Funções do utilizador Uso da função teste_distancia. yb = input('Forneca a ordenada do ponto B: ').414214 >> . % Uso da funçao definida pelo programador resultado = distancia2(xa. >> teste_distancia2 Calcule a distancia entre os pontos A e B Forneca a abscissa do ponto A: 1 Forneca a ordenada do ponto A: 1 Forneca a abscissa do ponto B: 2 Forneca a ordenada do ponto B: 2 resultado = 1. ya = input('Forneca a ordenada do ponto A: '). xa = input('Forneca a abscissa do ponto A: '). xb = input('Forneca a abscissa do ponto B: '). % Chamada a funçao. % Script file: teste_distancia. ya. yb). xb.

Muito obrigado! .

Sign up to vote on this title
UsefulNot useful