Introdução
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: 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 , e que a variável seria a subtração de e .
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 . O Matlab usa a convenção do ponto, logo .
Mas vamos verificar o que acontece ao colocar a vírgula, no command window digite e dê enter, muito possivelmente irá mostrar isso aqui:
Ou seja, ele entendeu que o é e que o seria uma outra variável que ele nomeou de . 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
Fonte do Exercício. “Elaboração Própria”
Levando em consideração a aula em questão, julgue as afirmações em Verdadeiro ou Falso e justifique:
- 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.
- As variáveis são armazenadas no command window, pois é lá que se localiza os espaçamentos de memória do Matlab.
- 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
Fonte do Exercício. “Elaboração Própria”
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 e que o 81 é uma outra variável diferente. Então ele fez a operação , obtendo um resultado diferente do esperado.
O certo seria:
Resposta
Ei, a resposta está no passo a passo :)
Exercício Resolvido #3
Fonte do Exercício. “Elaboração Própria”
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
Fonte do Exercício.“Elaboração Própria”
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
Fonte do Exercício.“Elaboração Própria”
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
Fonte do Exercício.“Elaboração Própria”
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
Fonte do Exercício.“Elaboração Própria”
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
Fonte do Exercício.“Elaboração Própria”
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 :)