Teoria

Definições Básicas

Opa, como você tá?

Hoje oficialmente iremos começar nossa conversa sobre Matlab, mas antes de brincar com a ferramenta, devemos saber um pouquinho mais sobre ela.

O Matlab é uma linguagem de alto nível, ou seja, a linguagem de programação ela se distancia da linguagem de máquina e se aproxima mais da linguagem do homem (o inglês).

Outra informação interessante é que seu nome é um acrônimo para laboratório de matrizes. Como a base fundamental do Matlab são as matrizes, fica mais fácil entender que seu grande foco é em programação numérica que é uma área de programação cujo o foco é resolução de problemas numéricos ou seja as respostas geralmente são números.

Porém, existem algumas bibliotecas dentro do software que permitem também a realização de programação simbólica, que por exemplo é aquela mesma programação que tem nas catracas de ônibus para você aproximar o seu cartão ele debita um "crédito" e libera sua passagem.

Outro detalhe, é que o Matlab é uma linguagem interpretada e não compilada. Enfim, você deve estar se perguntando “em que isso me ajuda? ”.

Em uma programação você vai escrever um código e como esse código é processado é o que diferencia as linguagens:

Na linguagem compilada o código é transformado em linguagem de máquina gerando um arquivo executável, que depois será executado.

Enquanto na linguagem interpretada, o código é traduzido para linguagem de máquina sempre que for executado, uma linha de cada vez. Então se seu programa é muito grande, o processamento do código fica mais lento porque o Matlab precisa sempre interpretá-lo, mesmo que ele tenha sido executado a 10 segundos atrás.

Então qual a vantagem de usar o Matlab né?

A vantagem está exatamente na simplicidade da programação, apesar do processamento ser mais lento a programação é mais fácil deixando em geral os códigos pequenos fazendo com que o processamento não fique tão lento.

Outra vantagem está nas ferramentas pré-existentes no Matlab que em geral não existem em outras linguagens como veremos em aulas futuras do nosso curso.

Inicializando o Matlab

Agora que sabemos algumas informações importantes sobre o Matlab iremos ver como na prática utilizamos ele. Quando você iniciar o programa, a primeira coisa que vai se deparar é essa janela aqui cheia de informações:

Dentre todas essas ferramentas as que mais vamos utilizar são três (além de abrir arquivos e salvar, é claro kkk.). O Command Window, a workspace e o botão new script.

A workspace é o local onde todas as suas variáveis serão armazenadas, ela é uma amiga muito útil na hora que estiver escrevendo um código, porque quando tiver algum erro no seu código, muitas vezes ele pode ser identificado apenas olhando lá. O new script será o foco em outro momento, mas é nele que iremos escrever nossos programas.

Já a pop star do momento é o Command Window, que funciona como uma espécie de calculadora, e você já consegue fazer diversas coisas aqui, um exemplo simples:

Clique no Command Window e digite os seguintes comandos: A = 5 ;   B = 7 ;   C = A - B e aperte Enter.

Aqui já verificamos que o Matlab irá lhe mostrar as seguintes informações:

Revelando que o Matlab armazenou na Workspace as variáveis A , B e que a variável C seria a subtração de A e B .

Além dessas ferramentas existem outras que se vai descobrindo conforme vai utilizando o software, a famosa reduzida abaixo dá uma ideia de algumas ferramentas existentes no Matlab:

Sintaxe

Talvez você esteja se perguntando o porquê de eu ter colocado aquele “;” no exemplo anterior, né?

A resposta é simples, é a sintaxe do Matlab. Assim, como qualquer outra linguagem de programação, o Matlab também tem aquelas famosas regrinhas na hora de escrever. Como já mencionado, a janela Command Window é a pop star do momento e através dela você consegue fazer um bocado de coisa, mas precisamos saber como utilizá-la, e é isso que iremos aprender ao longo desse curso.

Para um primeiro momento, as “regrinhas” mais importantes são duas. Primeiro que o Matlab não entende vírgula, então não adianta colocar g = 9,81 . O Matlab usa a convenção do ponto, logo g = 9.81 .

Mas vamos verificar o que acontece ao colocar a vírgula, no command window digite g = 9,81 e dê enter, muito possivelmente irá mostrar isso aqui:

Ou seja, ele entendeu que o g é 9 e que o 81 seria uma outra variável que ele nomeou de a n s . Essa é uma das maiores fontes de erros de quem está programando no Matlab pela primeira vez, porque nesse caso ele não acusa o erro, ele identifica como duas variáveis diferentes.

E a segunda sintaxe, que ocasionou toda essa discussão, é o ponto e vírgula, repara que quando um comando é executado o resultado é impresso na Command Window. O ponto e vírgula nesse primeiro momento tem a função de ocultar isso. No caso, isso serve para que você não polua sua “área de trabalho” no Matlab, mostrando apenas as informações que realmente importam.

EEEEEEEEEEE por hoje é só! Dá uma conferida nos exercícios para dar uma fixada mais legal das ideias e vllllllllw.

Inicializando o Matlab

Sintaxe

Exercícios Resolvidos

Exercício Resolvido #1

Levando em consideração a aula em questão, julgue as afirmações em Verdadeiro ou Falso e justifique:

  1. O Matlab é uma linguagem compilada pois ele lê o código fonte inscrito e o transforma em uma linguagem de máquina que em seguida o executa.
  2. As variáveis são armazenadas no command window, pois é lá que se localiza os espaçamentos de memória do Matlab.
  3. O Matlab é focado principalmente em programação simbólica, pois por ser uma linguagem de programação interpretada possui alta velocidade de processamento.

Passo 1

A questão aqui é uma questão puramente teórica, onde você precisa se lembrar dos pontos chaves que foram observados em aula. Uma vez que esses pontos chaves estejam em sua cabeça, basta encontrar o que está errado em cada alternativa.

Passo 2

a)

Como visto em aula, o Matlab é uma linguagem de programação de alto nível e interpretada. Uma linguagem de alto nível é uma linguagem que se aproxima mais da linguagem do homem, no caso do inglês. Além disso, o Matlab é uma linguagem interpretada, ou seja, ele primeiramente lê e interpreta cada linha de código para depois executar.

As linguagens de programação podem ser compiladas ou interpretadas. No caso, a linguagem do matlab não é compilada, logo a alternativa é FALSA

Passo 3

b)

O command Window é a janela pela qual as informações são impressas. Em outras palavras, ele apenas exibe as informações para o usuário. As variáveis são armazenadas na Workspace, logo essa alternativa também é FALSA.

Passo 4

c)

Como comentado na letra A), o Matlab realmente é uma linguagem de programação interpretada, mas o seu foco é a programação Numérica e por ser uma linguagem interpretada toda vez que executar o código ele precisa interpretar cada linha do código fonte deixando seu processamento mais lento em comparação com a compilada. Então essa alternativa também é FALSA

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #2

Um aluno tentou executar uma operação para o cálculo da força peso de um corpo conforme mostrado abaixo, porém o resultado obtido pelo Matlab está diferente do que ele esperava, por que?

Passo 1

Opa, galera! Para a resolução dessa questão precisamos nos lembrar da sintaxe do Matlab. Lembra que falamos que o Matlab não entende a vírgula? Aqui é um exemplo claro. Quando o Aluno tentou executar o código, o Matlab entendeu que g = 9 e que o 81 é uma outra variável diferente. Então ele fez a operação 9 × 15 , obtendo um resultado diferente do esperado.

O certo seria:

g = 9.15   ;

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #3

Quais das variáveis abaixo não está corretamente escrita para o Matlab:

Ca0=70.67;

ya0=0,5;

delta==1;

alfa=3.55E5;

k=0.004;

fa0=2,0000;

tetab=1;

tetac=0;

Passo 1

Para resolver essa questão precisamos analisar cada variável e verificar se tem algum erro em cada. Para simplificar vamos analisar cada parte da definição das variáveis em cada passo.

Passo 2

Quando chegamos em questões desse tipo primeiramente vamos procurar pelo erro, belezinha?

Para simplificar vamos começar pelas nomeações das variáveis, ou seja, o termo que se localiza antes das igualdades. O nome das variáveis precisam começar por letras e não podem ter nenhum caracter especial.

Então se a gente olhar pro nosso grupo de variáveis, vemos que todas passam nesse primeiro teste.

Passo 3

Segundamente, vamos analisar os comandos de indexação. No Matlab nosso operador de igualdade é o “=”.

Então, analisando as alternativas, vemos que quase todas possuem a indexação adequada, ou seja, com apenas um único sinal de igual. A exceção é a variável delta.

Quando se adiciona dois iguais estamos trabalhando com outro tipo de operação que são os testes lógicos, e isso é um tópico que será visto lá na frente. Então, para a indexação comum de uma variável essa operação está errada.

Então encontramos nosso primeiro erro que é a variável delta.

Passo 4

E vamos finalizar com a questão numérica da variável.

Nas variáveis do tipo flutuante, precisamos separar a parte inteira da parte decimal por um ponto. E quase todas estão de acordo, com exceção da variável fa0, pois foi colocado uma vírgula para definir a variável flutuante.

Isso é algo que o Matlab não acusa como um erro. Porém, ele entende a variável fa0 vale 2, ou seja, apenas a parte inteira. E a parte decimal vira uma outra variável qualquer, gerando assim erro no código.

Resposta

Temos que as variáveis erradas são as variáveis fa0 e delta.

Exercício Resolvido #4

Julgue a afirmação abaixo como verdadeiro ou falso:

“Matlab é uma linguagem de programação de alto nível, pois é mais fácil de aprender”

Passo 1

Opa galera, esse lance da linguagem ser fácil ou difícil não tem nada a ver com a programação de alto nível. A programação de alto nível está associada com a forma de escrever o código fonte, pois usa uma sintaxe mais distante da linguagem de máquina e que se aproxima da linguagem do homem (o inglês).

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #5

Julgue a afirmação abaixo como verdadeiro ou falso:

“A sintaxe de uma linguagem de programação é sempre igual”

Passo 1

Opa pessoal, essa alternativa está..... ERRADA. Na realidade, a sintaxe de uma linguagem de programação pode ser semelhante a outras em alguns aspectos, mas nunca é igual. Por exemplo, se você escreve um código em Matlab, ele não vai ser executado pelo software do C++. A sintaxe, de certa forma, é a identidade da linguagem de programação. Por isso, você pode verificar que quem é muito bom em uma linguagem de programação as vezes pode ter algumas dificuldades quando muda de linguagem, apesar dos conhecimentos gerais da programação serem iguais.

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #6

Julgue a afirmação abaixo como verdadeiro ou falso:

“Matlab é uma linguagem de programação de alto nível, pois é difícil de aprender”

Passo 1

Opa pessoal, vamos lá.

Primeiramente para responder essa questão precisamos entender duas coisas, primeiro o que é uma linguagem de alto nível e segundamente precisamos saber se realmente existe uma relação entre o nível da linguagem e a facilidade de aprendizado, belezinha?

Vamos lá, a linguagem de alto nível corresponde a um tipo de linguagem onde a programação se afasta da linguagem de máquina e se aproxima mais da linguagem do homem, para ser mais preciso se aproxima mais do inglês.

Devido a essa aproximação os códigos são mais fáceis de serem memorizados e a estrutura de um código se torna de certa forma mais simples, pois a nomenclatura usada nas funções têm mais chance de fazer parte do nosso vocabulário, por exemplo para plotar um gráfico a função que faz isso é a função plot.

E o Matlab se enquadra nesta classe, o que faz com o que as pessoas criem uma falsa relação entre linguagem de alto nível e facilidade de aprendizado.

Mas essa relação é bem falsa, o aprendizado de uma linguagem de programação tanto de alto nível quanto de baixo nível depende de diversos fatores, inclusive fatores pessoais, como por exemplo a sua afinidade com determinada linguagem.

Para você pode ser super fácil aprender Matlab, mas talvez para seu amiguinho que curte Python que é outra linguagem de alto nível e que já tenha bastante prática no Phyton, seja horrível aprender Matlab.

Então, pelo que foi exposto não existe uma relação direta entre o nível de linguagem de programação e seu aprendizado, mesmo que na afirmação tivesse falando que a linguagem era de fácil aprendizado a resposta ainda seria FALSA.

Resposta

Falsa.

Exercício Resolvido #7

Julgue a afirmação abaixo como verdadeiro ou falso:

“Matlab é um software de computação numérica, então é utilizado para resolver problemas de engenharia”

Passo 1

Primeiramente, para entendermos esse exercício precisamos entender o que é o Matlab em si.

O Matlab realmente é um software de programação numérica, pois boa parte de seu leque é destinado para a resolução de problemas numéricos , inclusive alguns professores universitários não o julgam como uma linguagem de programação mas sim como uma espécie de calculadora.

Por exemplo, em sites de história de programação dificilmente você acha a galera colocando o Matlab na cronologia histórica da origem da programação, como mostrado abaixo:

E além do seu grande leque de programação numérica, ainda existe a possibilidade de aumentarmos essa sua capacidade operacional através da implementação de códigos e rotinas que não estão incluídas no pacote de instalação do software e que são desenvolvidas pelo próprio usuário da ferramenta.

Essa grande versatilidade de trabalho fez com que a Engenharia viesse abraçar o Matlab como uma relação de pai e filho, gerando essa ideia de que o Matlab foi criado para resolver problemas de engenharia.

Porém problemas de programação numérica não é destinado apenas a engenharia, existem por exemplo economistas, contadores e probabilistas que utilizam de técnicas de otimização que é um outro tipo de programação numérica e que não fazem parte do grupo de engenharia.

Além disso, o seu único objetivo não é esse. O Matlab possui diversas toolbox e possui infinitas ferramentas que aumentam o seu leque para muito além da computação numérica inclusive até para a computação simbólica.

Então para deixar claro a afirmativa está falsa, pois ela fala que o Matlab foi desenvolvido e destinado unicamente para a programação numérica e seu uso é exclusivo da engenharia, o que não é pelo que foi exposto aqui.

Resposta

Falsa.

Exercício Resolvido #8

Julgue a afirmação abaixo como verdadeiro ou falso:

“Na estrutura de um programa em Matlab, as instruções contêm expressões, que por sua vez, criam e processam matrizes.”

Passo 1

Opa, para resolver essa questão vai ajudar se a gente se lembrar que o nome do Matlab é um acrônimo para Matrix Laboratory, ou seja, laboratório de matrizes.

Então a base do Matlab são as matrizes!

E sim, é verdade que quando você realiza qualquer operação no Matlab, por traz da sua sintaxe você tá criando e operando matrizes.

Então essa resposta é Verdadeira.

Resposta

Ei, a resposta está no passo a passo :)