Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação para Engenharia Trabalho III Victor Soares Braz 1.1 break termina a execução de um loop (repetição) for ou while. A(s) afirmações e/ou operações que vem depois do break não são executadas. Nos loops aninhados, break sai apenas do loop em que ele ocorre. Controle passa para a instrução que segue o fim desse ciclo. Ex: >> for k = 1:5 if k == 3; break; end fprintf('k = %d\n',k); end disp('FIM DO LAÇO'); k = 1 k = 2 FIM DO LAÇO COM CONTINUE RETIRAR ISTO ABAIXO PARA ENVIAR for k = 1:5 if k == 3; continue; end fprint('k = %d\n',k); end disp('FIM DO LAÇO'); 1.2- return gera um retorno normal da função de chamada ou para o teclado. Ele também termina o modo de teclado. Ex: >> for i = 1:5, if i==5 returnend i end i = 1 i = 2 i = 3 i = 4 1.3- eval executa uma expressão válida do Matlab em string texto. Ex: eval('f = sin(pi)') >>fori = 1:5 ifi==5 eval ('i=3') break end end i = 3 1.4- feval(avalia função) avalia os valores dados para a função em questão Ex: >>feval('sin',[0]) ans = 0 >>feval('sin',[pi/6]) ans = 0.5000 1.5- evalinexecuta expressão do Matlab especificada no workspace Ex: 1.6- builtinexecuta função interna do método sobrecarregado Ex: >>builtin('sin',[pi/2]) ans = 1 1.7- assigninatribui valor à variável especificada no workspace. Ex: prompt = {'Enterimagename:', 'Entercolormapname:'}; title = 'Image display - assigninexample'; lines = 1; def = {'my_image', 'hsv'}; answer = inputdlg(prompt, title, lines, def); assignin('base', 'imfile', answer{1}); assignin('base', 'cmap', answer{2}); 1.8- runroda, executa um script do Matlab Ex: >> run ('C:\Documents and Settings\thais\Desktop\teste') ans= -11.9- scriptfunction 1.10- globaladiciona uma variável no código como variável global, tornando possível que todos os códigos tenham acesso a ela e as mudanças que a ela ocorrerem será igual para qualquer que a use. Ex: >> global t >> t=58 t = 58 1.11- mfilenamenome do arquivo de função atualmente em execução Ex: >>p = mfilename('fullpath') p = ' ' 1.12- listsexistretira e separa múltiplos valores de vetores ou estruturas, separando-os com virgula. >> k=[1:5] k =1 2 3 4 5 >> v=['w x y z '] v = w x y z 1.13- isglobaldetermina se a variável de entrada é global. Retorna lógico 1 (verdadeiro) se certa variável foi declarada uma variável global no contexto do qual isGlobal é chamado, e lógico 0 (falso), caso contrário. Ex: isglobal(t) ans = 1 1.14- nargchk valida números de argumentos de entrada. Ex: functionmultiplicacao(x,y) m = x*y ms = nargchk(minargs, maxargs,5,9) 1.15- nargindentro do corpo de uma função definida pelo usuário, o comando nargin retorna o número de argumentos de entrada que foram usados para chamar a função. Ex: erro (nargchk( nargin, 'estrutura')) 1.16- nargoutdentro do corpo de uma função definida pelo usuário, nargout retorna o número de argumentos de saída que foram usadas para chamar a função. Ex: nargout(fun) 1.17- vararginpermite que qualquer número de argumentos para uma função. A variável varargin é um conjunto de células que contém os argumentos opcionais para o função Ex: função myPlot (x, varargin) plot (x, varargin {:})1.18- varargoutapresenta o comprimento da variável e lista de argumentos de saída. 1.19- inputnamenome da variável de entrada da função Ex: inputname (argnum) 1.20- errorexibir mensagem e abortar função Ex: err = MException.last err = MException Properties: identifier: 'myApp:argChk' message: 'Wrong number of input arguments' cause: {} stack: [1x1 struct] Methods err.stack ans = file: 'c:\work\errtest1.m' name: 'errtest1' line: 3 1.21- warningimprimir mensagem de aviso Ex: >>warning('oi') Warning: oi 1.21- lasterrùltima mensagem de erro Ex: function matrix_multiply(A, B) try A * Bcatch errmsg = lasterr; if(strfind(errmsg, 'Inner matrix dimensions')) disp('** Wrong dimensions for matrix multiply') else if(strfind(errmsg, 'not defined for variables of class')) disp('** Both arguments must be double matrices') end end end 1.22- errortrap 1.23- sprintfformatar dados em cadeia Ex: fprintf(fid,'Ola 3 2 1 7.4\r\n'); 1.24- uimenucria menus e itens de menu da figura janela Ex: % Criar o UICONTEXTMENU CMenu = uicontextmenu; % Criar o menu pai fontmenu = uimenu (CMenu, 'label' , 'fonte' ); % Criar os submenus font1 = uimenu (fontmenu, 'label' , 'Helvetica' , 'Callback' , 'HelvFont' ); font2 = uimenu (fontmenu, 'label' , 'Monospace' , 'Callback' , 'MonoFont' ); set (GCF, 'uicontextmenu' , CMenu) 1.25- uicontrolcria usuário objeto de controle de interface Ex: figurehax = axes('Units','pixels'); surf(peaks) Coloque um objeto uicontrol para permitir aos usuários alterar o mapa de cores com um menu pop-up. Fornecer uma alça função como propriedade Callback do objeto: uicontrol('Style', 'popup',... 'String', 'jet|hsv|hot|cool|gray',... 'Position', [20 340 100 50],... 'Callback', @setmap); % Popup function handle callback 1.26-dbstopdefine pontos de interrupção para depuração função z = bugs (x) n = comprimento (x); z =. (1: n) / x; 2) Defina e dê exemplos para cada um dos comandos utilizados na aula. Ex: Fopen e fclose >>fid = fopen('abreefecha.txt','r'); A=fread(fid,Inf,'uint8=>char')' fclose(fid); A =abrindo e fechando arquivos pelo matlab If, elseelseif e end >> c=input('Informe o primeiro valor: '); d=input('Digite o segundo valor: '); if c == d disp('Os valores sao iguais'); elseif c<d disp('O valor de c e menor que o valor de d'); elseif c>d disp('O valor de c e maior que o valor de d'); else disp('Os valores sao diferentes e nao foi possivel compara-los'); end Informe o primeiro valor: 6 Digite o segundo valor: 2 O valor de c e maior que o valor de d For, end for i=1:5 for j=1:5 c(i,j)=1+j; d(i,j)=i-j; end e=c+d;while >> a=3; b=5; while a <= b a=a*2; b=b-1; display(a); display(b); end a = 6 b = 4 3) Crie uma tabela em formato .txt utilizando o matlab com o nome de 10 alunos, notas de 3 avaliações e média final. fid = fopen('tab.txt','w'); fprintf(fid,'Jose 7 8 9 8\r\n'); fprintf(fid,'Thais 6 7 9 7.3\r\n'); fprintf(fid,'Guilherme 5 7 8 6.6\r\n'); fprintf(fid,'Aline 8 10 6 8\r\n'); fprintf(fid,'Anderson 3 10 8 7\r\n'); fprintf(fid,'Eder 8 7 8 7.6\r\n'); fprintf(fid,'Leonardo 9 4 4 5.6\r\n'); fprintf(fid,'Frederico 10 8 8 8.6\r\n'); fprintf(fid,'Leticia 7.8 7 5 6.6\r\n'); fprintf(fid,'Samara 10 6 8 8\r\n'); O Arquivo gerado foi: Jose 7 8 9 8 Thais 6 7 9 7.3 Guilherme 5 7 8 6.6 Aline 8 10 6 8 Anderson 3 10 8 7 Eder 8 7 8 7.6 Leonardo 9 4 4 5.6 Frederico 10 8 8 8.6 Leticia 7.8 7 5 6.6 Samara 10 6 8 84- Leia o arquivo criado no exercício anterior usando o matlab e crie uma rotina para calcular a média de cada prova e a média final. Salve estas médias em um arquivo xls. clc; clearall; close all; %abre arquivo do exercício 3 [nomes, p1, p2, p3, pmedio]=textread('tab.txt','%s %f %f %f %f'); % média da P1 p1m=mean(p1); % média da P2 p2m=mean(p2); % média da P3 p3m=mean(p3); % média final p4m=mean(pmedio); % salva dados em arquivo xls xlswrite('tab_media.xls',[p1m,p2m,p3m,p4m]);
Compartilhar