Matlab 4-2

Embed Size (px)

Citation preview

  • 7/25/2019 Matlab 4-2

    1/19

    O MATLAB tambm nos permite combinar comparaes

    com operadores lgicos (and, note or), por exemplo:

    x = [ 1, 2, 3, 4, 5];

    y = [-2, 0, 2, 4, 6];

    z = [ 8, 8, 8, 8, 8];

    z > x & z > y

    ans = 1 1 1 1 1, ou seja, todas as comparaes so

    VERDADEIRAS!!!

  • 7/25/2019 Matlab 4-2

    2/19

    Outro exemplo:

    x = [ 1, 2, 3, 4, 5];

    y = [-2, 0, 2, 4, 6];

    z = [ 8, 8, 8, 8, 8];

    x > y | x > z

    ans = 1 1 1 0 0Isso significa que a condio verdadeira para os trs primeiros

    elementos e falsa para os doi ltimos.

  • 7/25/2019 Matlab 4-2

    3/19

    8.2 Fluxograma e Pseudocdigo

    Com a adio da estrutura seleo e de repetio para

    seu grupo de ferramentas do programa, isso torna ainda mais

    importante planejar seu programa antes de comear a

    programar. Duas abordagens comuns so: Utilizar um

    fluxograma e um psedoucdigo. O fluxograma uma abordagem

    grfica para criar o planejamento do seu cdigo.

  • 7/25/2019 Matlab 4-2

    4/19

    Para programas simples, o pseudocdigo pode ser a

    melhor abordagem de planejamento:

    Delinear um conjunto de declaraes descrevendo os passos

    que voc ir realizar pra resolver o problema;

    Converter esses passos em comentrio no M-File;

    Inserir o cdigo apropriado no MATLAB em um arquivo entre as

    linhas de comentrios.

  • 7/25/2019 Matlab 4-2

    5/19

    Por exemplo, criar um programa que transforma mph (milhas

    por hora) em ft/s (ps por segundo). A sada deve ser uma

    tabela, copleta com ttulo e cabealho nas colunas, seguindo os

    seguintes passos: Define um vetor mph;

    Converter mph em ft/s;

    Combinar os vetores mph e ft/s em uma matriz;

    Criar um ttulo para a tabela; Criar um cabealho para as colunas;

    Exibir a tabela.

  • 7/25/2019 Matlab 4-2

    6/19

    Primeiro definimos os comentrios:

    % Define um vetor mph

    % Converter mph em ft/s

    % Combinar os vetores mph e ft/s em uma matriz

    % Criar um ttulo para a tabela

    % Criar um cabealho para as colunas

    % Exibir a tabela

  • 7/25/2019 Matlab 4-2

    7/19

    Entre os comentrios inserir o cdigo apropriado:

    % Define um vetor mph

    mph = 0:10:100;

    % Converter mph em ft/s

    fps = mph*5280/3600;

    % Combinar os vetores mph e ft/s em uma matriz

    table = [mph;fps]

    % Criar um ttulo para a tabela

    disp('Velocity Conversion Table')% Criar um cabealho para as colunas

    disp(' mph f/s')

    % Exibir a tabela

    fprintf('%8.0f %8.2f \n',table)

  • 7/25/2019 Matlab 4-2

    8/19

    Um fluxograma combinado com o

    pseudogdigo especialmente mais

    apropriado para programas mais comlexos.

    Voc pode criar uma grande figura do

    seu programa graficamente e ento

    converter seu projeto num pseudocdigo

    adequado para entrar no programa como

    comentrios.

  • 7/25/2019 Matlab 4-2

    9/19

  • 7/25/2019 Matlab 4-2

    10/19

    8.3 Funes Lgicas

    O MATLAB oferece ambas estruturas tradicionais de

    seleo, bem como a famlia de funes if, e uma srie de

    funes lgicas que realizam as mesmas tarefas. A primeira

    funo lgica a funo find, que pode frequentemente ser

    utilizada no lugar de ambas estruturas tradicionais de seleo e

    loops.

  • 7/25/2019 Matlab 4-2

    11/19

    8.3.1 Comandofind

    O comando find busca uma matriz e identifica quais

    elementos na matriz atendem um dado critrio conhecido. Por

    exemplo:

    height = [63,67,65,72,69,78,75]

    Para obter os elementos cujos valores so maior ou igula a 66:

    accept = find(height>=66 )

    Resposta: accept = 2 4 5 6 7

  • 7/25/2019 Matlab 4-2

    12/19

    Esse comando mostra os elementos da matriz que

    atendem ao critrio. Se voc deseja saber quais os valores que

    atendem o critrio, basta chamar os elementos da matriz, como:

    height(accept)

    Resposta: ans = 67 72 69 78 75

    Uma alternativa para obter o mesmo resultado :

    height(find(height(>=66)))

    Resposta: ans = 67 72 69 78 75

  • 7/25/2019 Matlab 4-2

    13/19

  • 7/25/2019 Matlab 4-2

    14/19

  • 7/25/2019 Matlab 4-2

    15/19

  • 7/25/2019 Matlab 4-2

    16/19

    8.4 Estrutura de Seleo

    Na maioria das vezes, o comando find deve ser utilizado

    ao invs de uma declarao if. Em algumas situaes, portanto, a

    declarao if requerida. Esta funo executada caso a

    declarao seja verdadeira, caso contrrio pula-se a funo e

    executa-se a prxima linha.

  • 7/25/2019 Matlab 4-2

    17/19

    8.4.1 Comando if

    A funo ifpossui a seguinte estrutura:

    If comparao

    declarao

    end

    Por exemplo:

    G = 40;

    if G < 50

    disp('G um valor menor ou igual a:')

    disp(G);

    end

  • 7/25/2019 Matlab 4-2

    18/19

    Esta funo s vlida para escalares. Caso utilize um

    vetor, a funo no executada. Entretanto, possvel executar

    cada valor do vetor atravs de um loop(for).

    8.4.2 Estrutura if/else

    A funo else nos permite executar um conjunto de

    declaraes caso a comparao seja verdadeira e um diferente

    conjunto caso seja falsa.

  • 7/25/2019 Matlab 4-2

    19/19

    Por exemplo:

    ifx >0

    y = log(x)

    else

    disp('The input to the log function must be positive')end