Exemplo: função cálculo distancia

Tamanho: px
Começar a partir da página:

Download "Exemplo: função cálculo distancia"

Transcrição

1 Funções em Matlab Subprogramas em Matlab são funções. function [saida1, saida2,...] = nome_funcao(ent1, ent2,...) % Comentário numa linha que diz o que faz a função % Mais comentários % Até esta linha aparecem no help % Estes comentários já não aparecem no help Código executável... (return) (end) João Miguel da Costa Sousa 606 Exemplo: função cálculo distancia function distancia = dist2(x1,y1,x2,y2) % DIST2 calcula a distancia entre dois pontos % A funcao DIST2 calcula a distancia entre os % pontos (x1,y1) e (x2,y2) no sistema cartesiano. % % Chamada: distancia = dist2(x1,y1,x2,y2) % Variaveis: % x1 - posicao x do ponto 1 % y1 - posicao y do ponto 1 % x2 - posicao x do ponto 2 % y2 - posicao y do ponto 2 % distancia distancia entre os dois pontos % Revisoes (...) % Calcula distancia distancia = sqrt((x2-x1).^2 + (y2-y1).^2) end João Miguel da Costa Sousa 607 1

2 Teste à função dist2 % Script file: testa_dist2.m % Este programa testa a função dist2 % % Registo das revisões: % (...) % % Variaveis: % a_x - posicao x do ponto a % a_y - posicao y do ponto a % b_x - posicao x do ponto b % b_y - posicao y do ponto b % result distancia entre os dois pontos % Entrada de dados disp('calculo da distancia entre dois pontos') a_x = input('introduza a coordenada x do ponto a: '); a_y = input('introduza a coordenada y do ponto a: '); b_x = input('introduza a coordenada x do ponto b: '); b_y = input('introduza a coordenada y do ponto b: '); % Testa a função result = dist2(a_x, a_y, b_x, b_y); % Escreve o resultado fprintf('a distancia entre os pontos A e B e'' %f\n', result); João Miguel da Costa Sousa 608 Passagem de parâmetros O Matlab passa os parâmetros das funções por valor. Quando uma função muda os valores dos argumentos, estes não são alterados no programa que a chamou. Exemplo: function saida = exemplo(a, b) fprintf('no exemplo: a = %f, b = %f %f\n', a, b) a = b(1) + 2*a; b = a.* b; saida = a + b(1); fprintf('no exemplo: a = %f, b = %f %f\n', a, b) João Miguel da Costa Sousa 609 2

3 Exemplo de passagem de parâmetros Teste da função exemplo.m: % Script file: testa_exemplo.m a = 2; b = [6 4]; fprintf('antes do exemplo: a = %f, b = %f %f\n', a, b) saida = exemplo(a, b); fprintf('depois do exemplo: a = %f, b = %f %f\n', a, b) fprintf('depois do exemplo: saida = %f\n', saida) Execução no Matlab: >> testa_exemplo Antes do exemplo: a = , b = No exemplo: a = , b = No exemplo: a = , b = Depois do exemplo: a = , b = Depois do exemplo: saida = João Miguel da Costa Sousa 610 Exemplo: conversão de coordenadas function [r, theta] = cart2polar(x, y) %CART2POLAR converte coordenadas cartesianas em polares % Funcao CART2POLAR aceita cordendas cartesianas (x,y), e converte-as % em coordenadas polares (r,theta), onde theta e' dada em graus % % Chamada da função: % [r, theta] = cart2polar(x, y) % Variaveis: % r -- comprimento do vector polar % theta -- angulo do vector em graus % x -- posicao x do ponto % y -- posicao y do ponto % Registo das revisões: % Data Programador Descricao das alteracoes % ======== ================ ======================== % 02/05/06 Joao M. C. Sousa Codigo original r = sqrt( x.^2 + y.^2 ); theta = 180/pi * atan2(y,x); end % funcao cart2polar João Miguel da Costa Sousa 611 3

4 Exemplos de execução Existe também a função polar2cart. Exemplos a testar no Matlab: [r, theta] = cart2polar(4,3) [r, theta] = cart2polar(-4,3) [r, theta] = cart2polar(-4,-3) [r, theta] = cart2polar(4,-3) [x, y] = polar2cart(5, ) [x, y] = polar2cart(5, ) [x, y] = polar2cart(5, ) [x, y] = polar2cart(5, ) João Miguel da Costa Sousa 612 Argumentos opcionais O Matlab pode ter argumentos opcionais. As funçõesnargin enargout permitem determinar o número de argumentos de entrada e de saída. Podem ser utilizadas condições para realizar acções dependendo do número de argumentos. nargchk retorna uma mensagem de erro se função for chamada com um número de argumentos errado. As funções error e warning podem ser utilizadas para escrever mensagens de erro ou de aviso. João Miguel da Costa Sousa 613 4

5 Exemplo: cart2polar_2 function [magn, angulo] = cart2polar_2(x,y) %CART2POLAR converte coordenadas cartesianas em polares % Funcao CART2POLAR aceita cordendas cartesianas (x,y), e converte-as % em coordenadas polares (r,theta), onde theta e' dada em graus % Ilustra a utiliacao de arugmentos opcionais % Variaveis: % msg -- mensagem % magn -- magnitude % angulo -- angulo em graus % x -- posicao x do ponto % y -- posicao y do ponto (opcional) % Registo das revisões: % Data Programador Descricao das alteracoes % ======== ================ ======================== % 06/05/06 Joao M. C. Sousa Codigo original % Testa se o numero de argumentos e' correcto. msg = nargchk(1,2,nargin); error(msg); João Miguel da Costa Sousa 614 Exemplo: cart2polar_2 % Se nao for dado o argumento y, atribui-lhe o valor 0. if nargin < 2 y = 0; end % Verifica se os argumentos de entrada sao (0,0), % e nesse caso escreve uma mensagem de aviso (warning). if x == 0 & y == 0 msg = 'Ambos x e y sao zero: o angulo nao tem significado!'; warning(msg); end % Calcula a magnitude. magn = sqrt(x.^2 + y.^2); % Se existe segundo argumento de saida, calcula % o angulo em graus. if nargout == 2 angulo = atan2(y,x) * 180/pi; end end % funcao cart2polar_2 João Miguel da Costa Sousa 615 5

6 Exemplos de execução >> [r ang]=cart2polar_2??? Error using ==> cart2polar_2 Not enough input arguments. >> [r ang]=cart2polar_2(1,-1,1)??? Error using ==> cart2polar_2 Too many input arguments. >> [r ang]=cart2polar_2(1) r = 1 ang = 0 >> [r ang]=cart2polar_2(1,-1) r = ang = -45 João Miguel da Costa Sousa 616 Exemplos de execução (2) >> r = cart2polar_2(1,-1) r = >> [r ang]=cart2polar_2(1,-1) r = ang = -45 >> [r ang]=cart2polar_2(0,0) Warning: Ambos x e y sao zero: o angulo nao tem significado! > In cart2polar_2 at 32 r = 0 ang = 0 João Miguel da Costa Sousa 617 6

7 Variáveis globais Podem ser definidas da seguine forma: global VAR1 VAR2 VAR3... As variáveis globais são em geral definidas em maiúsculas para serem facilmente reconhecidas. As variáveis globais devem ser definidas imediatamente após os comentários iniciais. Devem ser evitadas. Podem ser utilizadas para passar grandes quantidades de dados entre funções. João Miguel da Costa Sousa 618 Funções de funções fzero encontra o zero de funções de uma variável: >> fzero('cos', [0 pi]) ans = >> fzero('exp(x)-2', [0 1]) ans = João Miguel da Costa Sousa 619 7

8 Funções eval e feval >> x = eval('sin(pi/4)') x = Exemplo: x = 1; cadeia = ['exp(' num2str(x) ') -1']; res = eval(cadeia); retorna: 'exp(1) -1', logo res = eval('exp(1) -1') e tem o valor de >> x = feval('sin', pi/4) x = João Miguel da Costa Sousa 620 Exemplo: função plot_rapido function plot_rapido(fun,lim_x) %PLOT_RAPIDO faz os graficos de uma função de forma rapida % Funcao PLOT_RAPIDO faz os graficos de uma % função numa m-file entre os limites xlim especificados. % Variaveis: % fun -- Funcao para fazer o grafico % msg -- Mensagem de erro % n_passos -- Numero de passos no grafico % tam_passo -- Tamanho do passo % x -- Valores em x para o grafico % y -- Valores em y para o grafico % lim_x -- Limites em x para o grafico (dados pelo utilizador) % % Registo das revisões: % Data Programador Descricao das alteracoes % ======== ================ ======================== % 06/05/06 Joao M. C. Sousa Codigo original % Testa se o numero de argumentos e' correcto. msg = nargchk(2,2,nargin); error(msg); João Miguel da Costa Sousa 621 8

9 Exemplo: função plot_rapido % Verifica se o 2º argumento tem dois elementos. % Poderá assim ser um vector linha ou coluna. if (size(lim_x,1) == 1 & size(lim_x,2) == 2)... (size(lim_x,1) == 2 & size(lim_x,2) == 1) n_passos = 100; tam_passo = (lim_x(2) - lim_x (1)) / n_passos; x = lim_x (1):tam_passo:lim_x (2); y = feval(fun,x); plot(x,y); title(['\bfgrafico da funcao ' fun '(x)']); xlabel('\bfx'); ylabel(['\bf' fun '(x)']); else % O numero de elementos em lim_x esta' incorrecto. error('numero de elementos em lim_x incorrecto'); end end % funcao plot_rapido João Miguel da Costa Sousa 622 Exemplos de execução >> plot_rapido??? Error using ==> plot_rapido Not enough input arguments. >> plot_rapido('sin')??? Error using ==> plot_rapido Not enough input arguments. >> plot_rapido('sin',[-2*pi 2*pi],3)??? Error using ==> plot_rapido Too many input arguments Grafico da funcao sin(x) >> plot_rapido('sin',-2*pi)??? Error using ==> plot_rapido Numero de elementos em lim_x incorrecto >> plot_rapido('sin',[-2*pi 2*pi]) sin(x) x João Miguel da Costa Sousa 623 9

10 Grafico do sin(x) João Miguel da Costa Sousa 624 Subfunções Os M-files de funções podem conter mais de uma função. A função primária é a principal, ou seja, a que é invocada pelo nome do ficheiro M-file. As funções adicionais no ficheiro são sub-funções, e só são visíveis pela função primária, ou por outras subfunções no mesmo ficheiro. Cada sub-função começa pela sua linha de definição, estão umas a seguir às outras. A ordem das subfunções é opcional, mas a função primária deve aparecer em primeiro lugar. João Miguel da Costa Sousa

11 Subfunções File Ficheiro mystats.m estatisticas2.m mystats estatisticas2 Function Função mystats estatisticas2 é accessible acessível from outside do exterior. the file. mean media mediana Functions Funções mean media and e mediana só are only são accessible acessíveis from dentro insidedo the file. ficheiro. João Miguel da Costa Sousa 626 Exemplo: estatisticas2 function [media,mediana] = estatisticas2(u) % ESTATISTICAS2 calcula a media e a mediana com funcoes internas % Função ESTATISTICAS2 calcula a media e a mediana de um conjunto % de dados utilizando sub-funcoes. n = length(u); media = mean(u,n); mediana = median(u,n); end % funcao estatisticas2 function med = mean(v,n) % Subfuncao que calcula a media. med = sum(v)/n; end % funcao mean function m = median(v,n) % Subfuncao que calcula a mediana. w = sort(v); if rem(n,2) == 1 m = w((n+1)/2); else m = (w(n/2) + w(n/2 + 1))/2; end end % funcao median João Miguel da Costa Sousa

12 Funções privadas As funções privadas estão em sub-directorias com o nome de private. Estas funções só são visíveis nas funções da directoria de raíz (parent directory). Estas directorias com o nome específico de private podem ser criadas pelo programador, utilizando os procedimentos habituais de criação de directorias ou folders no computador. Estas directorias private não devem ser colocadas na path! João Miguel da Costa Sousa 628 Funções internas (nested) host_function funcao_principal nested_function_1 func_interna_1 end end %% nested_function_1 func_interna_1 nested_function_2 func_interna_2 end end %% nested_function_2 func_interna_2 end end %% host_function funcao_principal Variables As variáveis defined definidas in the host na função function principal are visible são visíveis inside any em todas as nested functions. funções internas. Variables As variáveis defined definidas within nested nas funções functions internas are não not são visible visíveis in the na função host function. principal. nested_function_1 can be func_interna_1 pode ser called from within host_function chamada por funcao_principal or nested_function_2. e por func_interna_2 nested_function_2 func_interna_2can pode be ser called chamada from por within funcao_principal host_function or e por func_interna_1 nested_function_1. João Miguel da Costa Sousa

13 Exemplo com uma função interna function res = testa_internas % Nivel mais alto. Define variaveis a = 1; b = 2; x = 0; y = 9; % Escreve valor das variaveis antes de chamar funcao1 fprintf('antes de chamar funcao1:\n'); fprintf('a, b, x, y = %2d %2d %2d %2d\n', a, b, x, y); % Chama funcao interna funcao1 x = funcao1(x); % Escreve valor das variaveis depois de chamar funcao1 fprintf('\ndepois de chamar funcao1:\n'); fprintf('a, b, x, y = %2d %2d %2d %2d\n', a, b, x, y); %Declara funcao interna funcao1 function res = funcao1(y) % Variaveis no inicio de funcao1 fprintf('\nno inicio de funcao1:\n'); fprintf('a, b, x, y = %2d %2d %2d %2d\n', a, b, x, y); João Miguel da Costa Sousa 630 Exemplo com uma função interna (2) y = y + 5; a = a + 1; res = y; % Variaveis no fim de funcao1 fprintf('\nno fim de funcao1:\n'); fprintf('a, b, x, y = %2d %2d %2d %2d\n', a, b, x, y); end % funcao funcao1 end % funcao testa_internas retorna: >> testa_internas Antes de chamar funcao1: a, b, x, y = No inicio de funcao1: a, b, x, y = No fim de funcao1: a, b, x, y = Depois de chamar funcao1: a, b, x, y = João Miguel da Costa Sousa

14 Avaliação de funções 1. O Matlab verifica se existe uma função interna com um dado nome. Se existir, executa-a. 2. É procurada uma subfunção com o nome dado. Se existir, executa essa subfunção. 3. É procurada uma função com o nome dado na directoria private. Será executada se existir. 4. É procurada uma função com o nome dado na directoria de trabalho. Se existir, é executada. 5. Finalmente, é procurado na MATLAB path. Se existir uma função na path, será executada. João Miguel da Costa Sousa 632 Tipos de dados em Matlab MATLAB Data Types double single int8, unit8 int16, uint16 logical char int32, unit32 int64, unint64 logical data double precision (real and complex) single precision (real and complex) integer and unsigned integer data types character strings cell structure user classes function handles cell arrays structures objects function handles João Miguel da Costa Sousa

15 Tipo de dados complexo >> complexo1 = 4 + i*3 complexo1 = i >> complexo1 = 4 + 3i complexo1 = i Podem ser utilizados operadores relacionais == e ~=. Os operadores relacionais >, <, >= e <= comparam a parte real do complexo! Solução: abs(comp1) > abs(com2) imaginary axis θ z P a + bi real axis João Miguel da Costa Sousa 634 Funções em Matlab para complexos conj(c) retorna o complexo conjugado. real(c) retorna a parte real de c. imag(c) retorna a parte imaginária de c. isreal(c) retorna true(1) se c não tiver nenhum componente imaginário (é um array de reais). abs(c) retorna o módulo do número complexo c. angle(c) retorna o ângulo do número complexo c, calculado através de atan2(imag(c),real(c)). João Miguel da Costa Sousa

16 Gráficos de complexos Se o plot for utilizado, apenas mostra a parte real. Solução (pág. 271 do Chapman): x = 0:pi/20:4*pi; y = exp(-0.2*t).*(cos(t)+i*sin(t)); plot(t,real(y), b-, LineWidth,2); hold on; plot(t,imag(y), r--, LineWidth,2); title( Plot of Complex Function vs Time ); xlabel( \bf\itt ); ylabel( \bf\ity(t) ); legend( real, imaginary ); hold off; João Miguel da Costa Sousa 636 Figura parte real/ parte imaginária x = 0:pi/20:4*pi; y = exp(-0.2*t).*(cos(t)+i*sin(t)); plot(y, b-, LineWidth,2); title( Plot of Complex Function ); xlabel( \bfreal part ); ylabel( \bfimaginary part ); João Miguel da Costa Sousa

17 Funções para strings >> cadeia = 'Isto sao caracteres'; >> whos cadeia Name Size Bytes Class cadeia 1x19 38 char array Grand total is 19 elements using 38 bytes >> x = double(cadeia) x = Columns 1 through Columns 12 through >> z = char(x) z = Isto sao caracteres João Miguel da Costa Sousa 638 Arrays de caracteres >> nome = ['Joao M. C. Sousa';'Engenheiro']??? Error using ==> vertcat All rows in the bracketed expression must have the same number of columns. >> nome = char('joao M. C. Sousa','Engenheiro') nome = Joao M. C. Sousa Engenheiro >> linha2 = nome(2,:); >> ['*' linha2 '*'] ans = *Engenheiro * >> linha2_s_brancos = deblank(nome(2,:)); >> ['*' linha2_s_brancos '*'] ans = *Engenheiro* João Miguel da Costa Sousa

18 Comparação de strings >> cad1 = 'ola'; >> cad2 = 'Ola'; >> cad3 = 'olaria'; >> c = strcmp(cad1,cad2) c = 0 >> c = strcmpi(cad1,cad2) c = 1 >> c = strncmp(cad1,cad3,3) c = 1 >> a = 'faca'; >> b = 'lata'; >> res = a == b res = João Miguel da Costa Sousa 640 Tabelas multidimensionais >> a = [ ; ]; >> a(:,:,2) = [ ; ]; >> a(:,:,3) = [ ; ] a(:,:,1) = a(:,:,2) = a(:,:,3) = >> a(2,2,2) ans = 14 >> ndims(a) ans = 3 >> size(a) ans = João Miguel da Costa Sousa

19 Tipo de dados single >> var = single(3.1) var = >> whos Name Size Bytes Class var 1x1 4 single array Grand total is 1 element using 4 bytes >> b = 7; >> c = var * b c = >> whos Name Size Bytes Class b 1x1 8 double array c 1x1 4 single array var 1x1 4 single array Grand total is 3 elements using 16 bytes A operação de umsingle com umdouble retorna umsingle! Na maior parte das linguagens (Fortran, C, C++, Java) o resultado seria umdouble. João Miguel da Costa Sousa 642 Tipos de dados inteiro Existem oito tipos de dados inteiros em Matlab: int8, int16, int32, int64, uint8, uint16, uint32, int64. Os números n = 8, 16, 32 e 64 correspondem ao número de bits do inteiro. Exemplos: 2 8 = 256, 2 16 = 65536, etc. uint são inteiros sem sinal. Exemplos: int8 inteiros de -128 a 127 uint8 inteiros de 0 a 255 (utilizado em RGB, por exemplo) João Miguel da Costa Sousa

20 Exemplos com inteiros >> var = int8(3) var = 3 >> whos Name Size Bytes Class var 1x1 1 int8 array Grand total is 1 element using 1 bytes >> b=7; >> c = var * b c = 21 >> whos Name Size Bytes Class b 1x1 8 double array c 1x1 1 int8 array var 1x1 1 int8 array Grand total is 3 elements using 10 bytes A operação de umint com umdouble retorna umint! Na maior parte das linguagens (Fortran, C, C++, Java, Basic, etc.) o resultado seria umdouble. João Miguel da Costa Sousa 644 Características de inteiros e single Matlab utiliza saturação aritmética de inteiros. Quando o resultado de uma operação é maior que o maior número possível, retorna este último valor. Exemplo: Em int8, a soma: int8(100)+int8(50) retorna 127. Os tipos int não pode ser operacionado com single. Os tipos int e single devem apenas ser utilizados quando explicitamente necessário. Um exemplo é em processamento de imagem (cores RGB). João Miguel da Costa Sousa

21 Outros tipos de gráficos x = [ ]; y = [ ]; stem(x,y); title( Example of a Stem Plot ); xlabel( \bf\itx ); ylabel ( \bf\ity ); Axis([ ]); João Miguel da Costa Sousa 646 Gráfico em escada Utilizando stairs em vez de stem: João Miguel da Costa Sousa

22 Gráficos de barras Utilizando bar ou barh: João Miguel da Costa Sousa 648 Gráficos circulares Utilizando compass: João Miguel da Costa Sousa

23 Histogramas Gráficos que mostram distribuição de valores num conjunto de dados. y = randn(10000,1); hist(y,15); João Miguel da Costa Sousa 650 Gráficos tridimensionais t = 0:0.1:10; x = exp(-0.2*t).* cos(2*t); y = exp(-0.2*t).* sin(2*t); plot3(x,y,t); title( Three-Dimensional Line Plot ); xlabel( \bfx ); ylabel( \bfy ); zlabel( \bftime ); grid on; João Miguel da Costa Sousa

24 Gráficos em rede [x,y] = meshgrid(-4:0.2:4); z = exp(-0.5*(x.^2+y.^2)); mesh(x,y,z); title( Mesh Plot ); xlabel( \bfx ); ylabel( \bfy ); zlabel( \bfz ); João Miguel da Costa Sousa 652 Gráficos de superfície [x,y] = meshgrid(-4:0.2:4); z = exp(-0.5*(x.^2+y.^2)); surf(x,y,z); title( Surface Plot ); xlabel( \bfx ); ylabel( \bfy ); zlabel( \bfz ); João Miguel da Costa Sousa

25 Gráficos de contorno [x,y] = meshgrid(-4:0.2:4); z = exp(-0.5*(x.^2+y.^2)); surf(x,y,z); title( Gráfico de contorno ); 4 xlabel( \bfx ); ylabel( \bfy ); 3 Gráfico de contorno 2 1 y x João Miguel da Costa Sousa 654 Matrizes esparsas Na matriz a = eye(10), 90 elementos são zero. Este é um exemplo de uma matriz esparsa. Considere-se que b é uma matriz esparsa de 10 10, onde só a diagonal principal é diferente de zero. A multiplização de a por b requere 1900 multiplicações, muitas das quais desnecessárias. O Matlab possui uma versão do tipo double que permite lidar com este tipo de matrizes: Nas matrizes sparse só os elementos não negativos têm memória alocada. João Miguel da Costa Sousa

26 Exemplos >> a = eye(10) a = >> as = sparse(a) as = (1,1) 1 (2,2) 1 (3,3) 1 (4,4) 1 (5,5) 1 (6,6) 1 (7,7) 1 (8,8) 1 (9,9) 1 (10,10) 1 João Miguel da Costa Sousa 656 Exemplos (continuação) >> whos Name Size Bytes Class a 10x double array as 10x double array (sparse) Grand total is 110 elements using 964 bytes >> a = speye(4) a = (1,1) 1 (2,2) 1 (3,3) 1 (4,4) 1 >> b = full(a); >> a(2,1) = -2 a = (1,1) 1 (2,1) -2 (2,2) 1 (3,3) 1 (4,4) 1 João Miguel da Costa Sousa

27 Exemplo: resolução de equações % Ficheiro script: simul.m % Este programa resolve um sistema de 8 equações lineares % com 8 incógnitas (a*x = b), utilizando matrizes esparsas e completas. % % Definicao das variavais: % a -- Coeficientes em x (matriz completa) % as -- Coeficientes em x (matriz esparsa) % b -- Coeficientes constantes (matriz completa) % bs -- Coeficientes constantes (matriz esparsa) % x -- Solução (matriz completa) % xs -- Solução (matriz esparsa) % Define os coeficientes da equação a*x = b para a solução % da matriz completa. a = [ ; ; ; ; ; ; ; ]; b = [ ]'; João Miguel da Costa Sousa 658 Exemplo: resolução de equações (2) % Define os coeficientes da equação a*x = b para a solução % da matriz esparsa. as = sparse(a); bs = sparse(b); % Resolve o systema de equações das duas formas disp('solução com matriz completa:'); x = a\b disp ('Solução com matriz esparsa:'); xs = as\bs % Mostra espaço de trabalho disp('espaço de trabalho com as soluções:') whos João Miguel da Costa Sousa

28 Execução >> simul Solução com matriz completa: x = Solução com matriz esparsa: xs = (1,1) (2,1) (3,1) (5,1) (6,1) (7,1) (8,1) Espaço de trabalho com as soluções: Name Size Bytes Class a 8x8 512 double array as 8x8 276 double array (sparse) b 8x1 64 double array bs 8x1 104 double array (sparse) x 8x1 64 double array xs 8x1 92 double array (sparse) Grand total is 115 elements using 1112 bytes João Miguel da Costa Sousa

Funções em Matlab. Subprogramas em Matlab são funções.

Funções em Matlab. Subprogramas em Matlab são funções. MATLAB Funções Funções em Matlab Subprogramas em Matlab são funções. function [saida1, saida2,...] = nome_funcao(ent1, ent2,...) % Comentário numa linha que diz o que faz a função % Mais comentários %

Leia mais

Tópicos avançados sobre funções (cont.)

Tópicos avançados sobre funções (cont.) Tópicos avançados sobre funções (cont.) Definição de function handle Utilização de function handles Funções anónimas Funções em que os argumentos são funções (function functions) Funções com número de

Leia mais

Tópicos avançados sobre funções

Tópicos avançados sobre funções Tópicos avançados sobre funções Definição de function handle Utilização de function handles Funções anónimas Funções em que os argumentos são funções (function functions) Funções com número de parâmetros

Leia mais

MATLAB. Programação básica. Abordagem topo-base. Início. Definição das. Divisão em Sub-problemas. Divisão em Sub-problemas. Abordagem topo-base

MATLAB. Programação básica. Abordagem topo-base. Início. Definição das. Divisão em Sub-problemas. Divisão em Sub-problemas. Abordagem topo-base MATLAB Programação básica Abordagem topo-base Início Definição Definição do do problema problema Definição das entradas Definição entradas e das e saídas saídas Projecto Projecto do do algoritmo algoritmo

Leia mais

Estruturas de dados complexas: cell arrays e structures

Estruturas de dados complexas: cell arrays e structures Estruturas de dados complexas: cell arrays e structures Cell arrays Criação de cell arrays Aceder a elementos Visualizar elementos Modificar elementos Eliminar elementos Guardar strings em cell arrays

Leia mais

MATLAB. Programação básica

MATLAB. Programação básica MATLAB Programação básica Tipo de dados logical Podem ter valores true ou false. Dados do tipo lógico podem ser utilizados com valores numéricos. São convertidos nos valores 0 e 1. Operadores relacionais

Leia mais

Cell arrays e estruturas: exemplos

Cell arrays e estruturas: exemplos Cell arrays e estruturas: exemplos Cell arrays e estruturas: Comparação entre os dois tipos de dados; Exemplos. Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Cell arrays e estruturas

Leia mais

Manipulação de strings e conversão entre tipos de dados

Manipulação de strings e conversão entre tipos de dados e conversão entre tipos de dados Criação de variáveis do tipo string: As strings como arrays uni-dimensionais Operações sobre strings Concatenação Formatação Comparação Procura, Substituição e Separação

Leia mais

Estruturas de dados complexas: cell arrays e structures

Estruturas de dados complexas: cell arrays e structures Estruturas de dados complexas: cell arrays e structures Structures (estruturas) Criação de estruturas Alterar, acrescentar e remover campos (fields) Visualizar (apresentar) uma estrutura Estruturas como

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 10 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 10 Passagem de argumentos por valor Âmbito

Leia mais

MATLAB. Introdução. João Miguel da Costa Sousa 310

MATLAB. Introdução. João Miguel da Costa Sousa 310 MATLAB Introdução MATLAB (MATrix LABoratory) Programa optimizado para cálculos de engenharia e científicos Programa MATLAB implementa a linguagem de programação MATLAB. Contém mais de 1000 funções pré

Leia mais

Introdução. MATLAB (MATrix LABoratory) Programa optimizado para cálculos de engenharia e científicos Programa MATLAB implementa a linguagem de

Introdução. MATLAB (MATrix LABoratory) Programa optimizado para cálculos de engenharia e científicos Programa MATLAB implementa a linguagem de MATLAB Introdução MATLAB (MATrix LABoratory) Programa optimizado para cálculos de engenharia e científicos Programa MATLAB implementa a linguagem de programação MATLAB. Contém mais de 1000 funções pré

Leia mais

Sistemas e Sinais. Laboratório 0 (parte c) Miguel Pedro Silva e João Reis

Sistemas e Sinais. Laboratório 0 (parte c) Miguel Pedro Silva e João Reis Sistemas e Sinais Laboratório 0 (parte c) (MATLAB : Cell arrays e structures) Miguel Pedro Silva e João Reis Instituto Superior Técnico, Dep. de Engenharia Mecânica - Secção Sistemas, Grupo de Controlo

Leia mais

Matlab Noções introdutórias. Roteiro para aula

Matlab Noções introdutórias. Roteiro para aula Matlab Noções introdutórias Roteiro para aula Matlab- Variáveis Pode-se criar variáveis na área de trabalho Comandos encerrados com ; não geram eco na área de trabalho >> a = 65 a = 65 >> a = 65; >> Matlab-

Leia mais

Input/Output em Matlab

Input/Output em Matlab Comandos load e save save nome_ficheiro [variáveis] [opções] Grava por defeito no ficheiro matlab.mat na directoria de trabalho. Opções: -mat no formato MAT-file (por defeito). -ascii no formato ASCII

Leia mais

INTRODUÇÃO AO MATLAB - PARTE 2

INTRODUÇÃO AO MATLAB - PARTE 2 INTRODUÇÃO AO MATLAB - PARTE 2 Murilo F. Tomé - ICMC-USP Operadores Relacionais/Lógicos Estruturas de Seleção e Repetição Introdução polinômios Gráficos Operadores relacionais Símbolo Operador = = igual

Leia mais

Sistemas e Sinais. Laboratório 0 (parte a) (Iniciação ao MATLAB ) Miguel Pedro Silva e João Reis

Sistemas e Sinais. Laboratório 0 (parte a) (Iniciação ao MATLAB ) Miguel Pedro Silva e João Reis Sistemas e Sinais Laboratório 0 (parte a) (Iniciação ao MATLAB ) Miguel Pedro Silva e João Reis Instituto Superior Técnico, Dep. de Engenharia Mecânica - Secção Sistemas, Grupo de Controlo Automação e

Leia mais

MATLAB Avançado. Melissa Weber Mendonça 1 2011.2. 1 Universidade Federal de Santa Catarina. M. Weber Mendonça (UFSC) MATLAB Avançado 2011.

MATLAB Avançado. Melissa Weber Mendonça 1 2011.2. 1 Universidade Federal de Santa Catarina. M. Weber Mendonça (UFSC) MATLAB Avançado 2011. MATLAB Avançado Melissa Weber Mendonça 1 1 Universidade Federal de Santa Catarina 2011.2 M. Weber Mendonça (UFSC) MATLAB Avançado 2011.2 1 / 37 MATLAB Básico: Números reais >> a = 1 >> b = 2 >> a + b M.

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 21 Introdução à linguagem compilada C Estrutura e compilação do código fonte Tipos de dados básicos Operadores aritméticos e lógicos

Leia mais

Computação e Programação

Computação e Programação Computação e Programação 10ª Aula de Problemas Tópicos Avançados sobre Funções Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Problema 1 3. The velocity of sound in air is 49.02xT^(1/2)

Leia mais

Engenharia Biomédica Jorge Henriques, Fevereiro, 2007

Engenharia Biomédica Jorge Henriques, Fevereiro, 2007 MatLab+Simulink Introdução Engenharia Biomédica Jorge Henriques, Fevereiro, 2007 Índice 1. Em que consiste o MATLAB? 2. Como usar o MATLAB? 2.1Linha de comando 2.2Uso de scripts 3. Tipos de Dados Fundamentais

Leia mais

Computação e Programação

Computação e Programação Computação e Programação 10ª Aula de (Iniciação ao MATLAB ) 00-009 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Introdução O MATLAB é um programa para cálculos científicos e de engenharia,

Leia mais

2. Seja a lista de números N = [ 5, 23, 99, -8, 11, 39, 63 ]. Faça um programa MATLAB, para obter o menor elemento da lista. Escrever o valor menor.

2. Seja a lista de números N = [ 5, 23, 99, -8, 11, 39, 63 ]. Faça um programa MATLAB, para obter o menor elemento da lista. Escrever o valor menor. INE 5201 INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO - LISTA 2-28/10/2016 Aluno 1. Faça um script MATLAB que calcule uma divisão usando somente a operação de subtração entre números inteiros e que forneça o resto

Leia mais

Objectivos. Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA)

Objectivos. Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA) Objectivos Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA) Vantagens da programação Eficiência em operações repetitivas Melhor clarividência na decomposição

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 7 Matlab Noções Básicas de MATLAB INTRODUÇÃO Cálculo Numérico 3/55 LAYOUT DO MATLAB Espaço destinado às variáveis veis que

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 7 Matlab Noções Básicas de MATLAB INTRODUÇÃO Cálculo Numérico 3/55 Current Folder Window Local onde as operações podem ser

Leia mais

RESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem:

RESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem: Computação e Programação (2009/2010-1º Semestre) 1º Teste MEMec - LEAN (11/11/2009) DURAÇÃO: 1h30m RESOLUÇÃO Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha,

Leia mais

TÉCNICO DE INFORMÁTICA - SISTEMAS

TÉCNICO DE INFORMÁTICA - SISTEMAS 782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar

Leia mais

Correção do 1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de 2006, 2º Semestre

Correção do 1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de 2006, 2º Semestre Correção do º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 3 de Junho de 26, 2º Semestre. (2.) Perguntas de resposta rápida de Fortran (.4 valores cada).. Todos os componentes

Leia mais

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 3ª Parte Prof. Sandra Pais Soares

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 3ª Parte Prof. Sandra Pais Soares Curso Profissional de Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Módulo 1 3ª Parte Prof. Sandra Pais Soares Fundamentos de Programação 1. Palavras Reservadas 2.

Leia mais

1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível?

1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível? P1 Conceitos (2,4 valores) 1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível? (0.8v) 1.b) Indique três vantagens de criar um programa

Leia mais

Introdução ao SciLab. SciLab O que é? Onde obter o programa:

Introdução ao SciLab. SciLab O que é? Onde obter o programa: Introdução ao SciLab SciLab O que é? SciLab é uma plataforma interativa para computação numérica composta de uma rica coleção de algoritmos numéricos e de uma linguagem de programação associada. CN04 2010

Leia mais

Tipos de Dados Simples (Continuação)

Tipos de Dados Simples (Continuação) SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Tipos de Dados Simples (Continuação) Prof. Vanderlei Bonato: vbonato@icmc.usp.br Prof. Claudio Fabiano Motta Toledo: claudio@icmc.usp.br Sumário

Leia mais

Introdução à linguagem C++

Introdução à linguagem C++ Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 2: Introdução à linguagem C++ Introdução à linguagem C++ Conceitos básicos: variáveis, tipos de dados, constantes, I/O, etc. Estruturas

Leia mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃO E PROGRAMAÇÃO COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN Ficha da Aula Prática 3: Entrada/saída de dados. Scripts e funções. Estruturas de selecção. Sumário das tarefas e objectivos da aula: 1. Utilizar

Leia mais

Mini curso básico. Gilberto A. S. Segundo Fábio Carmo. Programa de Educação Tutorial

Mini curso básico. Gilberto A. S. Segundo Fábio Carmo. Programa de Educação Tutorial Programa de Educação Tutorial Mini curso básico Universidade Federal do Espírito Santo Departamento de Informática Gilberto A. S. Segundo Fábio Carmo Agenda Apresentação Vetores e matrizes em matlab Comandos

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 13 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 13 Estruturas de dados Cell arrays Manipulação

Leia mais

Utilidades Diversas. Aplicações Informáticas para Engenharia. SérgioCruz

Utilidades Diversas. Aplicações Informáticas para Engenharia. SérgioCruz Utilidades Diversas Habitualmente os comandos que compõem um dado programa desenvolvido em matlab não são introduzidos usando a janela de comando mas sim escritos e gravados num ficheiro.m Para criar um

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 7 Matlab Noções Básicas de MATLAB INTRODUÇÃO Cálculo Numérico 3/55 Current Folder Window Local onde as operações podem ser

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2 Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 3.3. Conceitos Básicos de C: Expressões, Operadores e Bibliotecas

Leia mais

Computação e Programação (2007/2008-1º Semestre)

Computação e Programação (2007/2008-1º Semestre) Computação e Programação (2007/2008-1º Semestre) Exame Tipo: 2008-01-14 MEMec - LEAN DURAÇÃO: 3 horas Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha, e número

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 20 Números complexos Tópicos Avançados sobre Funções Funções com número variável de argumentos de entrada e saída Funções como

Leia mais

Computação e Programação 201*/201* - 1º Semestre

Computação e Programação 201*/201* - 1º Semestre Computação e Programação 201*/201* - 1º Semestre Exame Tipo MEMec LEAN DURAÇÃO: 2h30min Leia com atenção os pontos que se seguem: Comece por IDENTIFICAR TODAS AS FOLHAS DO EXAME. Não desagrafe as folhas.

Leia mais

Introdução ao MATLAB. 2 - Apresentação de resultados em gráfico. 3 - Controlo de fluxo 3.1. Tipos de controlo 3.2. Expressões Lógicas

Introdução ao MATLAB. 2 - Apresentação de resultados em gráfico. 3 - Controlo de fluxo 3.1. Tipos de controlo 3.2. Expressões Lógicas 1 - Tipos de dados fundamentais 1.1. Introdução/Definição de Matrizes 1.. Referência a elementos de Matrizes 1.3. Números complexos 1.4. Operações elementares 1.5. Vectores e Escalares 1.6. Operações Elementares

Leia mais

Manipulação de strings e conversão entre tipos de dados

Manipulação de strings e conversão entre tipos de dados Manipulação de strings e conversão entre tipos de dados Avaliação de strings A função eval() A estrutura try-catch A função IS para strings Conversão entre tipos de dados Instituto Superior Técnico, Dep.

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Introdução à Ciência da Computação Unidade III Programação de Computadores com Octave Uso do Octave no Modo Interativo Prof. Roberto M. de Faria/DSC/UFCG Ajuda para o Octave Para ter acesso à documentação

Leia mais

Computação e Programação

Computação e Programação Computação e Programação 7ª Aula de Problemas Sub-funções; Vectorização; Manipulação de strings; Estrutura try-catch Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Problema 1 Seja um

Leia mais

Introdução ao MatLab Gráficos e manipulação de dados

Introdução ao MatLab Gráficos e manipulação de dados Análise de Sinais (500) Ficha Prática Laboratorial III Curso: Ciências Biomédicas Duração prevista: 2 horas Introdução ao MatLab Gráficos e manipulação de dados I. Introdução No decorrer deste laboratório

Leia mais

Introdução ao MatLab Princípios de Programação

Introdução ao MatLab Princípios de Programação Análise de Sinais (5001) Ficha Prática Laboratorial II Curso: Ciências Biomédicas Duração prevista: 4 horas Introdução ao MatLab Princípios de Programação I. Introdução O trabalho realizado na última ficha

Leia mais

17 a 19 de fevereiro de 2009

17 a 19 de fevereiro de 2009 CURSO de NIVELAMENTO Métodos Computacionais Data: 10 a 12 de fevereiro de 2009 e 17 a 19 de fevereiro de 2009 PARTE I - INTRODUÇÃO À PROGRAMAÇÃO Rogério Pagano (MatLab) Eduardo Lemos (Maple e EMSO) INTRODUÇÃO

Leia mais

I-3 Introdução ao Matlab

I-3 Introdução ao Matlab I-3 Introdução ao Matlab Comunicações Sumário 1. Matlab MATrix LABoratory 2. Formas de utilização a) A janela de comandos b) Scripts c) Funções 3. Sintaxe, variáveis, matrizes e vetores 4. Operações comuns

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 10 04/2014 Matlab Métodos para zeros reais de funções Algoritmo do Método da Bissecção Seja f (x) contínua em [a, b] e tal

Leia mais

Computação e Programação Exame 2ª Época

Computação e Programação Exame 2ª Época Computação e Programação 2012-2013 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame 2ª Época 30 de janeiro de 2013 Exame sem consulta (2 horas

Leia mais

Introdução ao Fortran 90. Aula 3

Introdução ao Fortran 90. Aula 3 Introdução ao Fortran 90 Aula 3 Usando vetores e matrizes Definição Uma matriz ou vetor consiste de um conjunto retangular de elementos, todos do mesmo tipo e espécie do tipo. Uma matriz ou vetor é um

Leia mais

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica. Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);

Leia mais

Visual Basic. III Procedimentos. CFAC Concepção e Fabrico Assistidos por Computador. João Manuel R. S. Tavares

Visual Basic. III Procedimentos. CFAC Concepção e Fabrico Assistidos por Computador. João Manuel R. S. Tavares Visual Basic III Procedimentos CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Sumário 1) Criar Subrotinas em Visual Basic; 2) Criar Funções; 3) Mecanismo de passagem de parâmetros;

Leia mais

Características Básicas

Características Básicas Características Básicas Software de simulação matemática; Realiza operações matriciais,constrói gráficos em 2D e 3D,ajuda no processamento de sinais; Facilidade na linguagem em um ambiente interativo;

Leia mais

CFAC: Visual Basic: III - Procedimentos

CFAC: Visual Basic: III - Procedimentos Visual Basic III Procedimentos CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Sumário 1) Criar Subrotinas em Visual Basic; 2) Criar Funções; 3) Mecanismo de passagem de parâmetros;

Leia mais

Exercícios. Os exercícios estão na pag 11 (3 de 28); pag 17 (9 de 28) e pag 56 (28 de 28) Use o seguinte cabeçalho para os arquivos elaborados

Exercícios. Os exercícios estão na pag 11 (3 de 28); pag 17 (9 de 28) e pag 56 (28 de 28) Use o seguinte cabeçalho para os arquivos elaborados Exercícios Forme uma grupo de até 3 alunxs. Para os Exercícios a seguir, crie os arquivos Ex01.m, Ex02.m e Ex03.m Os exercícios estão na pag 11 (3 de 28); pag 17 (9 de 28) e pag 56 (28 de 28) Use o seguinte

Leia mais

4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ).

4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ). 2626262626262626262626262626262626262626262626262626 4 - OPERADORES Podem ser: aritméticos, relacionais, lógicos, incremento e decremento, atribuição. Operadores aritméticos têm precedência sobre os relacionais

Leia mais

Introdução ao MATLAB. Introdução ao MATLAB. Introdução ao MATLAB. Introdução ao MATLAB. Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE

Introdução ao MATLAB. Introdução ao MATLAB. Introdução ao MATLAB. Introdução ao MATLAB. Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE Prof. Sergio 1 O nome origina da abreviatura sobre Matrix Laboratory. Foco do MATLAB é oferecer um ambiente interativo de programação para

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 3 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 3 MATLAB Comandos básicos Variáveis e Constantes

Leia mais

Programação em MATLAB

Programação em MATLAB Programação em MATLAB Estruturas de Repetição Ciclo WHILE As instruções BREAK e RETURN A função ERROR Vectorização Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Estruturas de repetição

Leia mais

Programação em MATLAB

Programação em MATLAB Programação em MATLAB Desenvolvimento de software em MATLAB Scripts ou M-files Funções definidas pelo programador Estruturas de Selecção Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII

Leia mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

Conceitos de Programação

Conceitos de Programação Conceitos de Programação J. Barbosa 1 Conceitos básicos de programação Algoritmo Conjunto finito de regras sobre as quais se pode dar execução a um dado processo (Knuth73v1) Ex: ordenação de um conjunto,

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Introdução à Ciência da Computação Variáveis Conceitos Básicos Variáveis x Constantes a = x + 5 a, x e 5 são variáveis ou constantes? Variáveis As variáveis são recipientes de valores É um espaço reservado

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Introdução ao FORTRAN Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para

Leia mais

Pragmática das Linguagens de

Pragmática das Linguagens de Instituto Superior Técnico Pragmática das Linguagens de Programação 2004/2005 Primeiro Exame/Segundo Teste 17/12/2004 Número: Turma: Nome: Escreva o seu número em todas as folhas do teste. O tamanho das

Leia mais

Computação e Programação (2009/2010-1º Semestre)

Computação e Programação (2009/2010-1º Semestre) Computação e Programação (2009/2010-1º Semestre) 2º Exame: 2010-02-10 DURAÇÃO: 3 horas MEMec - LEAN Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha, e número,

Leia mais

Minicurso MATLAB BÁSICO MÓDULO 1

Minicurso MATLAB BÁSICO MÓDULO 1 Minicurso MATLAB BÁSICO MÓDULO 1 Vitorino Biazi Robertson Junior Jhonata Moraes Comissão do Minicurso Sávio Alves Gabriel Nunes Thiago Bragança Roteiro do primeiro módulo Introdução Área de trabalho Variáveis

Leia mais

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17 Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17 Sumário Resolução de problemas Metodologia e níveis de abstração. Funções. Testes unitários. Ficheiros com

Leia mais

Introdução ao Fortran 90-1

Introdução ao Fortran 90-1 Introdução ao Fortran 90-1 Departamento de Física UFPel Definição de Programa em Fortran 90 Programa ou Código-fonte Programa ou código-fonte é um conjunto de instruções, também chamadas de comandos, escritas

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4 Algoritmos e Estruturas de Dados I (DCC/003) 2013/1 Estruturas Básicas Aula Tópico 4 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para

Leia mais

Minicurso MATLAB BÁSICO MÓDULO 3

Minicurso MATLAB BÁSICO MÓDULO 3 Minicurso MATLAB BÁSICO MÓDULO 3 Roteiro do terceiro módulo Gráficos Bidimensionais e Tridimensionais Interpolação e Extrapolação Ajuste de Curvas Gráficos Bidimensionais O MatLab se apresenta como uma

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Introdução ao FORTRAN Professor Hugo de Oliveira Barbalho hbarbalho@ic.uff.br Material produzido pelo professor: Leandro Augusto Frata Fernandes (laffernandes@ic.uff.br)

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Aula 4 Professora Bianca (Sala 302 Bloco E) bianca@ic.uff.br http://www.ic.uff.br/~bianca/prog3/ Aula 4-14/09/2006 1 Atribuições Depois que as variáveis são declaradas,

Leia mais

Resumo. Sinais e Sistemas Introdução ao Matlab/Octave. Arquitectura. Matlab/Octave

Resumo. Sinais e Sistemas Introdução ao Matlab/Octave. Arquitectura. Matlab/Octave Resumo Sinais e Sistemas Introdução ao Matlab/Octave Luís Caldas de Oliveira lco@istutlpt Cálculos interactivos Vectores e Matrizes Gráficos Funções Processamento de sinais Instituto Superior Técnico Sinais

Leia mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃO E PROGRAMAÇÃO COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2015/2016 MEMec, LEAN Ficha da Aula Prática 6: Cadeias de caracteres (strings). Estruturas de dados (structures). Sumário das tarefas e objectivos da aula: 1. Utilizar

Leia mais

Linguagens de Programação Conceitos e Técnicas. Amarrações

Linguagens de Programação Conceitos e Técnicas. Amarrações Linguagens de Programação Conceitos e Técnicas Amarrações Conceituação Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável e seu valor ou entre um identificador

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

CCI Laboratório de Matemática Computacional

CCI Laboratório de Matemática Computacional CCI 22 Laboratório de Matemática Computacional Prof. Paulo André http://www.comp.ita.br/~pauloac pauloac@ita.br Sala 110 Prédio da Computação Roteiro Representação de ponto flutuante Precisão da máquina

Leia mais

Nome: Número: Computação e Programação. Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas

Nome: Número: Computação e Programação. Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas Nome: Número: Computação e Programação 2016-2017 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de Recurso 1 de Fevereiro de 2017 Exame

Leia mais

MATLAB. Tópicos Elementares. 1. Tipos de dados: vectores e matrizes 2. Operadores 3. Controlo de Fluxo

MATLAB. Tópicos Elementares. 1. Tipos de dados: vectores e matrizes 2. Operadores 3. Controlo de Fluxo MATLAB Tópicos Elementares Sumário 1. Tipos de dados: vectores e matrizes 2. Operadores 3. Controlo de Fluxo a. Operadores de selecção b. Operadores de repetição 4. Funções em Matlab 5. Leitura e escrita

Leia mais

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema ALGORITMIA Resolução De Problemas Em Informática Docente: Ana Paula Afonso 2000-2001 Resolução de Problemas 1. Analisar o problema Conhecer o bem o problema Descrever o problema: subdividir, detalhar 2.

Leia mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃO E PROGRAMAÇÃO COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2014/2015 MEMec, LEAN Ficha da Aula Prática 1 Exercícios escritos Sumário das tarefas e objectivos da aula: 1. Realizar exercícios escritos, em condições semelhantes

Leia mais

Conceitos Fundamentais de MatLab/Octave. Prof. Responsáveis Wagner Santos C. de Jesus

Conceitos Fundamentais de MatLab/Octave. Prof. Responsáveis Wagner Santos C. de Jesus Disciplina Processamento de Sinais Curso Análise e Desenvolvimento de Sistemas Conceitos Fundamentais de MatLab/Octave e-mail : wagners@bighost.com.br Prof. Responsáveis Wagner Santos C. de Jesus Introdução

Leia mais

Introdução ao MATLAB. Parte 3

Introdução ao MATLAB. Parte 3 Introdução ao MATLAB Parte 3 6 Gráficos 2D Há diversos comandos para produzir gráficos em 2D (veja a Figura ). O mais utilizado deles é o comando plot. Ele admite argumentos de entrada, que permitem adicionar

Leia mais

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas Nome: Número: Computação e Programação 2017-2018 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época Normal 10 de janeiro de 2018 Exame sem

Leia mais

Programação de Computadores:

Programação de Computadores: Instituto de C Programação de Computadores: Introdução ao FORTRAN Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Introdução ao FORTRAN Cinco aspectos

Leia mais

Exemplo 1. t = [0:2:20] ; g = 9.81; m = 68.1; cd = 0.25; v = sqrt(g*m/cd)*tanh(sqrt(g*cd/m)*t); plot(t, v) 2013/02/14

Exemplo 1. t = [0:2:20] ; g = 9.81; m = 68.1; cd = 0.25; v = sqrt(g*m/cd)*tanh(sqrt(g*cd/m)*t); plot(t, v) 2013/02/14 Gráficos Aqui é que há uma diferença entre as capacidades gráficas dos dois ambientes, MATLAB e Octave. O MATLAB permite mais variantes. No curso bastam-nos as possibilidades do Octave que trabalha sobre

Leia mais

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18 ÍNDICE MÓDULO 1 INTRODUÇÃO À ALGORITMIA 11 1.1 PROGRAMAS E ALGORITMOS 12 Fases da programação 12 Algoritmos e algoritmia 13 Algoritmos em linguagem informal, pseudocódigo e fluxogramas 14 Símbolos utilizados

Leia mais

MATLAB. Sumário. Tópicos Avançados. 1. Estruturas 2. Células. J. R. Caldas Pinto, J. M. da Costa Sousa 357

MATLAB. Sumário. Tópicos Avançados. 1. Estruturas 2. Células. J. R. Caldas Pinto, J. M. da Costa Sousa 357 MATLAB Tópicos Avançados Sumário 1. Estruturas 2. Células J. R. Caldas Pinto, J. M. da Costa Sousa 357 1 Tipos de dados avançados em Matlab J. R. Caldas Pinto, J. M. da Costa Sousa 358 Estruturas As estruturas

Leia mais

Sumário. Ficheiros. Ficheiros

Sumário. Ficheiros. Ficheiros Sumário Ficheiros Motivação Operações Ficheiros de texto e binários Manipulação de ficheiros de texto Abertura Encerramento Descritores de ficheiros: stdin, stdout, stderr Escrita Leitura Outras funções

Leia mais

= = = = = = = = = = = = = = = =

= = = = = = = = = = = = = = = = Página 1 de 7 A Linguagem PASCAL = = = = = = = = = = = = = = = = 1) ALFABETO: são os símbolos (ié, caracteres ) permitidos na linguagem. São as letras (maiúsculas e minúsculas), os algarismos (ou dígitos)

Leia mais

Introdução ao FORTRAN 90. Aula 4

Introdução ao FORTRAN 90. Aula 4 Introdução ao FORTRAN 90 Aula 4 Usados quando o programa contém estruturas complexas e com estruturas contendo conjuntos de instruções repetidas. O conjunto de instruções repetidas não se enquadra em uma

Leia mais

SCS Sistemas de Controle / Servomecanismos. Aula 01 Introdução ao software MATLAB

SCS Sistemas de Controle / Servomecanismos. Aula 01 Introdução ao software MATLAB Aula 01 Introdução ao software MATLAB O MATLAB (Matrix Laboratory) é um ambiente de programação de alto desempenho voltado para a resolução de problemas expressos em notação matemática, projeto e simulação

Leia mais