Вы находитесь на странице: 1из 19

O MATLAB tambm nos permite combinar comparaes

com operadores lgicos (and, not e 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

VERDADEIRAS!!!

1, ou seja, todas as comparaes so

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 0
Isso significa que a condio verdadeira para os trs primeiros
elementos e falsa para os doi ltimos.

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.

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.

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.

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

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)

Um fluxograma combinado com o


pseudogdigo

especialmente

mais

apropriado para programas mais comlexos.


Voc pode criar uma grande figura do
seu

programa

graficamente

ento

converter seu projeto num pseudocdigo


adequado para entrar no programa como

comentrios.

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.

8.3.1 Comando find


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

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

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.

8.4.1 Comando if
A funo if possui 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

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.

Por exemplo:
if x >0
y = log(x)
else
disp('The input to the log function must be positive')
end

Вам также может понравиться