O que o programa matlab faz? Informações gerais sobre MATLAB

27.02.2024

UNIVERSIDADE TÉCNICA DO ESTADO DE TAMBOV


DEPARTAMENTO

"Processos e Gestão da Informação"

Desenvolvimento metodológico

para aula de laboratório nº 1

na disciplina "Teoria da Tomada de Decisão"

Nome da disciplina

nome do tópico

Assunto: Estudo de métodos de otimização unidimensionais

Objetivo do trabalho:

Estudo de métodos de otimização unidimensional e métodos de sua implementação algorítmica no ambiente de um sistema multifuncional de automação integrado para cálculos matemáticos e técnico-científicos MATLAB 7.1;

Avaliação comparativa do valor dos custos computacionais dos métodos: varredura direta, dicotomia, “seção áurea” e método de Fibonacci.

Literatura:

1. Aoki M. Introdução aos métodos de otimização. M.: Nauka, 1977. 444 p.

2. Batishchev D.I. Métodos de design ideais. M.: “Rádio e Comunicações”, 1984. 248 p.

3. Bodrov V.I., Lazareva T.Ya., Martemyanov Yu.F. Métodos matemáticos de tomada de decisão: livro didático. mesada. Tambov: Editora Tamb. estado aqueles. Univ., 2004. 124 p.

4. Polak E. Métodos de otimização numérica. M.: Mundo, 1997. 376 p.

5. Himmelblau D. Programação não linear aplicada. M.: Mundo, 1975. 534 p.

6. Yudin D.B. Métodos computacionais de teoria da decisão. M.: Nauka, 1989. 316 p.

7. Ketkov Yu., Ketkov A. Yu., Shultz M. M. MATLAB 7: programação, métodos numéricos. - São Petersburgo: BHV-Petersburgo, 2005. - 752 p.

Ao conduzir a aula

As aulas laboratoriais da disciplina “Teoria da Tomada de Decisão” são realizadas com o objetivo de aprofundar e consolidar os conhecimentos teóricos adquiridos pelos alunos nos vários tipos de aulas e no processo de estudo autónomo de material didático, adquirindo competências na implementação prática de métodos matemáticos. de tomada de decisão. Com base nos resultados das aulas laboratoriais, os alunos deverão

Material teórico com base no qual foi realizada a modelagem, bem como a essência dos processos físicos formalizados nos programas;

Métodos básicos de modelação de processos relevantes;

Selecionar e avaliar a influência dos principais parâmetros no resultado da modelagem;

Analisar e resumir os resultados obtidos.

A conclusão do trabalho laboratorial inclui três etapas: preparação preliminar para a aula laboratorial, a aula propriamente dita e relatório da aula laboratorial.

A aula tem como objetivo mostrar a conexão entre o material teórico e a prática e ensinar os alunos a aplicar a teoria na resolução de problemas práticos.

O trabalho laboratorial está estruturado de forma a não pressupor o conhecimento dos alunos em MATLAB. Cada laboratório começa com um resumo do MATLAB que fornece ao aluno as informações básicas necessárias para concluir a atividade.

Preparação para a aula

Na véspera da aula os alunos deverão:

Leia o manual deste laboratório;

Repetir o material da aula e estudar a literatura proposta sobre o tema;

Estude o procedimento para execução do trabalho;

Prepare-se para responder a perguntas de segurança.

Procedimento de aula

Na parte introdutória da aula, é recebido o grupo de estudo, é feita uma conexão com o material previamente estudado, são anunciados o tema, o objetivo, a ordem e as características desta aula e é verificada a preparação do grupo de estudo para a aula.

Em seguida, os alunos iniciam a realização de pesquisas de acordo com a metodologia. Para qualquer dúvida pouco clara sobre uma aula de laboratório, os alunos devem entrar em contato com o professor, a equipe de engenharia ou o instrutor do laboratório de informática. Os resultados e conclusões da pesquisa são apresentados na forma de relatório de laboratório. O relatório é o documento de trabalho do aluno e é apresentado ao professor responsável durante a defesa. Em seguida, são defendidos os relatórios da aula laboratorial e, no final, são resumidos os resultados da aula.

Relatório de aula

Os alunos devem receber crédito pela sessão de laboratório. O princípio do relato é individual e pode ser realizado oralmente ou por escrito após a conclusão da parte principal da aula. Na emissão da nota são levados em consideração: a disponibilidade, a alfabetização e a exatidão do formulário do relatório, a qualidade do trabalho laboratorial e os resultados das respostas às questões do teste. Os alunos que não receberam crédito e estão ausentes desta aula laboratorial relatam a mesma em seu próprio horário.

Breve descrição do MATLAB

O sistema MATLAB (Matrix Laboratory) consiste em um grande número de programas especiais que permitem resolver uma ampla gama de problemas matemáticos e técnicos de diferentes áreas da ciência. Seu elemento principal é o núcleo do sistema MATLAB. Além disso, o sistema contém cerca de 80 conjuntos diferentes de comandos (as chamadas “Caixas de Ferramentas”), correspondendo a diversas seções de matemática, física matemática, design, comunicações, economia, etc. Este trabalho utiliza ferramentas básicas de programação MATLAB: arquivos M - funções, funções integradas, operadores, comandos, etc.

Figura 1. Área de trabalho do sistema

A Figura 1 mostra a área de trabalho do sistema. A barra de menu (Arquivo, Editar, etc.) é em muitos aspectos semelhante à do editor do Microsoft Word. A linha de ícones localizada abaixo também realiza as mesmas operações do editor Word (com exceção dos 3 últimos). A área de trabalho do sistema consiste em várias janelas, cuja composição pode ser alterada usando comandos de menu Área de Trabalho. A Figura 1 na janela superior à esquerda mostra o conteúdo da área de trabalho Área de trabalho, que contém descrições de todas as constantes e funções inseridas pelo usuário durante a operação. Na janela inferior Histórico de comandos A sequência de comandos executados é fornecida. Os tamanhos das janelas são ajustados arrastando a borda com o mouse. Janela principal da área de trabalho - Janela de comando(janela de comando). Na janela de comando, após o sinal “>>”, é digitada a linha de comando, que é executada após pressionar a tecla “ Digitar".

MATLAB permite criar arquivos de programa semelhantes a outras linguagens de programação de alto nível. Além disso, possui as propriedades de uma poderosa calculadora programável. Neste trabalho, a implementação de software de algoritmos de busca é realizada usando arquivos de função M, e os programas podem ser iniciados e os dados iniciais inseridos a partir da janela de comando.

O formato do número é definido pelo menu Arquivo(Fig. 1) na seção Preferências usando a função Formato Numérico. O mais comumente usado dos 12 formatos possíveis é Curto E Longo– formatos de números curtos e longos.

Alguns dos conceitos básicos do MATLAB são variáveis E declarações .

Variável denotado por uma única letra ou um conjunto de letras e números começando com uma letra. O número total de letras e números do conjunto não deve exceder dezenove. Declaração tem o seguinte formato:

>>variável=expressão

Quando você insere uma instrução, é atribuída à variável a expressão que segue o sinal de igual ou, se envolver alguma operação matemática, o resultado obtido após a execução dessas operações. Você pode inserir a instrução em um arquivo M ou na janela de comando do MATLAB. O sinal ">>" é um prompt de comando que aparece na tela da janela de comando para indicar que instruções podem ser inseridas.

Os principais operadores aritméticos são apresentados na Tabela 1.1. Ao realizar cálculos na janela de comando após pressionar " Digitar"o resultado é atribuído ao parâmetro" resposta", se a expressão correspondente não tiver um nome atribuído, ou seu nome - caso contrário (nomes de variáveis, constantes e funções devem começar com uma letra (letras latinas), podem conter números e um sublinhado). Para bloquear a saída do cálculo resultado de uma determinada expressão depois dela, deve-se definir o sinal (ponto e vírgula).

Tabela 1.1

Deixe, por exemplo, você querer avaliar a expressão e atribua o resultado a uma variável X. Neste caso, o comando (programa) terá o seguinte formato (em frações decimais, a parte inteira é separada da parte fracionária por um ponto):

>> x=log(1+5*((log10(100))^2-0,2*pi)/sqrt(1+2,71828^3))

Depois de apresentar a declaração, ou seja, pressionando a tecla Enter, o resultado é imediatamente exibido abaixo. Se o resultado precisar ser bloqueado, ou seja, não precisa ser exibido na tela do display, então ao final do extrato é necessário colocar o sinal “; "(ponto e vírgula). A expressão anterior pode ser representada de outra forma:

>> a=(log10(100))^2;

>> b = quadrado (1 + 2,71828 ^ 3);

>> x=log(1+5*(a-0,2*pi)/b)

O MATLAB possui diversas variáveis ​​integradas: pi, eps, inf, eu E j. Variável pi significa número, eps=2 -52 =2.2204*10 -16 – erro para operações em números de ponto flutuante, informações- infinito ( ), eu E j– unidade imaginária ( eu = j= ).

Quando o argumento esquerdo não é especificado, o resultado da expressão é atribuído à variável comum ans.

Operadores relacionais (Tabela 1.2) são usados ​​em instruções condicionais, operadores de loop, etc. ao implementar algoritmos de pesquisa usando funções M (as funções de sub-rotina são escritas em arquivos com a extensão .m).

Tabela 1.2

Assim, os programas do sistema MATLAB são arquivos M em formato de texto contendo um registro de programas na forma de códigos de programa.

A linguagem de entrada MATLAB possui apenas 9 operadores usando 14 palavras funcionais. As estruturas sintáticas correspondentes são fornecidas na Tabela. 1.3.

Tabela 1.3

Formato do operador Explicação
var = expr Operador de atribuição. Calcula os valores da expressão expr e armazena os resultados dos cálculos em uma variável var
ifcondition_1 instruções_1 fim Operador condicional. Se a condição_1 for verdadeira, então o grupo operadores_1 será executado, se a condição_2 for verdadeira, então o grupo operadores_2, ... Se todas as condições especificadas forem falsas, os operadores localizados entre else e end serão executados
switchexpr casevail operadores_1 caseval2 operadores_2 . . . . . . . . . [declarações contrárias] fim Alternar por valor de expressão expr. Se corresponder ao valor vail , então o grupo operadores_1 é executado, se corresponder ao valor val2, então o grupo operadores_2 é executado, ... Se o valor expr não coincidir com nenhum dos valores listados, então os operadores localizados entre elsevise e end são executados
forvar=el:e3 instruções finais Um ciclo do tipo progressão aritmética, em que a variável var, a cada repetição do corpo do loop, muda do valor inicial el com o passo e2 para o valor final e3
instruções whilecondition terminam Um loop com uma pré-condição que se repete até que uma condição especificada seja verdadeira
instruções try_1 instruções catch 2 fim Tentando executar o grupo operadores_1. Caso ocorra uma exceção em decorrência de sua execução, o controle é transferido para o grupo operadores_2 (tratamento de situações de falha). Se nenhum erro ocorrer, o grupo operadores_2 não será executado
quebrar Saída antecipada de estruturas de controle como for, while, switch, try - catch
função f1 função f2 (x1,x2, . . .) função y=f3(xl,x2,...) função =f4(xl,x2, . . .) Cabeçalho da função (xl, x2, ... - parâmetros de entrada; y, yl, y2, ... - parâmetros de saída)
retornar Sair de um corpo funcional mais cedo

Ao escrever programas de função, é necessário que o nome do arquivo M no qual o programa está armazenado coincida necessariamente com o nome da função.

Todas as variáveis ​​que aparecem no corpo de uma função, com exceção das variáveis ​​globais (declaradas pelo operador global), parâmetros de entrada e parâmetros de saída, são consideradas locais. Eles formam um espaço de trabalho local e estão disponíveis apenas no corpo da função que os gerou, e nenhuma outra função pode utilizá-los.

A linguagem MATLAB não contém o operador Vá para. A este respeito, não há rótulos de operadores nos textos dos arquivos m. Para identificar as linhas onde ocorrem situações de emergência, são utilizados números internos que são atribuídos automaticamente pelo sistema.

MATLAB é uma linguagem de cálculo técnico de alto nível, um ambiente interativo de desenvolvimento de algoritmos e uma ferramenta moderna de análise de dados.
O MATLAB, comparado às linguagens de programação tradicionais (C/C++, Java, Pascal, FORTRAN), permite reduzir em uma ordem de grandeza o tempo necessário para resolver problemas típicos e simplifica significativamente o desenvolvimento de novos algoritmos.
MATLAB é a base de toda a família de produtos MathWorks e é a principal ferramenta para resolver uma ampla gama de problemas científicos e aplicados em áreas como: projeto de objetos e sistemas de controle, sistemas de comunicação, processamento de sinais e imagens, medição e testes de sinais, modelagem financeira e biologia computacional e etc.
O kernel MATLAB facilita ao máximo o trabalho com matrizes de tipos de dados reais, complexos e analíticos, bem como com estruturas de dados e tabelas de pesquisa. MATLAB contém funções integradas para álgebra linear (LAPACK, BLAS), transformada rápida de Fourier (FFTW), funções para trabalhar com polinômios, funções para estatística básica e solução numérica de equações diferenciais; bibliotecas matemáticas estendidas para Intel MKL. Todas as funções integradas do kernel MATLAB são projetadas e otimizadas por especialistas e têm desempenho mais rápido ou tão rápido quanto seu equivalente C/C++.

Descrição do idioma

A linguagem MATLAB é uma linguagem de programação de alto nível que inclui estruturas de dados baseadas em matrizes, uma ampla gama de funções, um ambiente de desenvolvimento integrado, capacidades orientadas a objetos e interfaces para programas escritos em outras linguagens de programação.

Os programas escritos em MATLAB são de dois tipos – funções e scripts. As funções possuem argumentos de entrada e saída, bem como seu próprio espaço de trabalho para armazenar resultados e variáveis ​​de cálculos intermediários. Os scripts usam um espaço de trabalho comum. Tanto os scripts quanto as funções não são interpretados em código de máquina e são salvos como arquivos de texto. Também é possível salvar os chamados programas pré-analisados ​​- funções e scripts processados ​​​​em um formato conveniente para execução pela máquina. Em geral, esses programas são executados mais rapidamente que os normais.

A principal característica da linguagem MATLAB são suas amplas capacidades de trabalho com matrizes, que os criadores da linguagem expressaram no slogan Pense vetorizado.

Matemática e cálculos

O MATLAB fornece ao usuário um grande número (várias centenas) de funções para análise de dados, cobrindo quase todas as áreas da matemática, em particular:
Matrizes e álgebra linear - álgebra matricial, equações lineares, autovalores e vetores, singularidades, fatoração de matrizes e outros.
Polinômios e interpolação - raízes de polinômios, operações com polinômios e sua diferenciação, interpolação e extrapolação de curvas e outras.
Estatística matemática e análise de dados – funções estatísticas, regressão estatística, filtragem digital, transformada rápida de Fourier e outras.
Processamento de dados - conjunto de funções especiais, incluindo plotagem, otimização, busca de zero, integração numérica (em quadraturas) e outras.
Equações diferenciais - resolução de equações diferenciais e algébricas diferenciais, equações diferenciais de atraso, equações restritas, equações diferenciais parciais e outras.
Matrizes esparsas são uma classe de dados especial do pacote MATLAB usada em aplicações especializadas.
Aritmética inteira - realizando operações aritméticas inteiras no MATLAB.


Desenvolvimento de algoritmo

O MATLAB fornece ferramentas convenientes para o desenvolvimento de algoritmos, inclusive de alto nível, usando conceitos de programação orientada a objetos. Possui todas as ferramentas necessárias para um ambiente de desenvolvimento integrado, incluindo um depurador e um criador de perfil. Funções para trabalhar com tipos de dados inteiros facilitam a criação de algoritmos para microcontroladores e outras aplicações quando necessário.


Visualização de dados

O pacote MATLAB possui um grande número de funções para construção de gráficos, inclusive tridimensionais, análise visual de dados e criação de vídeos animados.

O ambiente de desenvolvimento embarcado permite criar interfaces gráficas de usuário com diversos controles como botões, campos de entrada e outros. Usando o componente MATLAB Compiler, essas interfaces gráficas podem ser convertidas em aplicativos independentes.


Interfaces externas

O MATLAB inclui várias interfaces para acessar rotinas externas escritas em outras linguagens de programação, dados, clientes e servidores que se comunicam através de tecnologias Component Object Model ou Dynamic Data Exchange, e dispositivos periféricos que se comunicam diretamente com o MATLAB. Muitos desses recursos são conhecidos como API MATLAB.


COM

MATLAB fornece acesso a funções que permitem criar, manipular e excluir objetos COM (clientes e servidores). A tecnologia ActiveX também é suportada. Todos os objetos COM pertencem a uma classe COM especial do pacote MATLAB. Todos os programas que possuem funções de controlador de automação podem acessar o MATLAB como um servidor de automação.


DDE

O MATLAB contém funções que permitem acessar outros aplicativos do Windows e que esses aplicativos acessem dados do MATLAB, por meio da tecnologia Dynamic Data Exchange (DDE). Cada aplicativo que pode ser um servidor DDE possui seu próprio nome de identificação exclusivo. Para MATLAB esse nome é Matlab.


serviços web

No MATLAB, é possível chamar métodos de serviços web. Uma função especial cria uma classe baseada nos métodos da API do serviço web.

O Matlab interage com o cliente do serviço web aceitando mensagens dele, processando-as e enviando uma resposta. As seguintes tecnologias são suportadas: Simple Object Access Protocol (SOAP) e Web Services Description Language (WSDL).


Porta COM

A interface de porta serial do MATLAB fornece acesso direto a dispositivos periféricos como modems, impressoras e equipamentos científicos que se conectam a um computador através de uma porta serial (porta COM). A interface funciona criando um objeto de classe especial para a porta serial. Os métodos disponíveis nesta classe permitem ler e gravar dados em uma porta serial, usar eventos e manipuladores de eventos e gravar informações no disco do computador em tempo real. Isto é necessário ao conduzir experimentos, simular sistemas em tempo real e para outras aplicações.


Arquivos MEX

O pacote MATLAB inclui uma interface para interagir com aplicações externas escritas em C e Fortran. Essa interação é realizada através de arquivos MEX. É possível chamar rotinas escritas em C ou Fortran do MATLAB como se fossem funções internas do pacote. Arquivos MEX são bibliotecas de vínculo dinâmico que podem ser carregadas e executadas pelo interpretador integrado ao MATLAB.


DLL

A interface DLL genérica do MATLAB permite chamar funções encontradas em bibliotecas de vínculo dinâmico comuns diretamente do MATLAB. Essas funções devem ter uma interface C.

Além disso, o MATLAB tem a capacidade de acessar suas funções integradas por meio de uma interface C, que permite utilizar as funções do pacote em aplicativos externos escritos em C. Essa tecnologia no MATLAB é chamada de C Engine.


Conjuntos de ferramentas

Para o MATLAB é possível criar caixas de ferramentas especiais que ampliam sua funcionalidade. Caixas de ferramentas são coleções de funções escritas em MATLAB para resolver uma classe específica de problemas. Mathworks fornece kits de ferramentas que são usados ​​em muitas áreas, incluindo as seguintes:
Processamento digital de sinais, imagens e dados: DSP Toolbox, Image Processing Toolbox, Wavelet Toolbox, Communication Toolbox, Filter Design Toolbox - conjuntos de funções que permitem resolver uma ampla gama de problemas em processamento de sinais, processamento de imagens, design de filtros digitais e sistemas de comunicação.
Sistemas de controle: Control Systems Toolbox, μ-Analysis and Synthesis Toolbox, Robust Control Toolbox, System Identification Toolbox, LMI Control Toolbox, Model Predictive Control Toolbox, Model-Based Calibration Toolbox - conjuntos de funções que facilitam a análise e síntese de sistemas dinâmicos, projeto, modelagem e identificação de sistemas de controle, incluindo algoritmos de controle modernos, como controle robusto, controle H∞, síntese LMN, síntese µ e outros.
Análise financeira: GARCH Toolbox, Fixed-Income Toolbox, Financial Time Series Toolbox, Financial Derivatives Toolbox, Financial Toolbox, Datafeed Toolbox - conjuntos de funções que permitem coletar, processar e transmitir diversas informações financeiras de forma rápida e eficiente.
Análise e síntese de mapas geográficos, inclusive tridimensionais: Mapping Toolbox.
Coleta e análise de dados experimentais: Data Acquisition Toolbox, Image Acquisition Toolbox, Instrument Control Toolbox, Link para Code Composer Studio - conjuntos de funções que permitem salvar e processar dados obtidos durante experimentos, inclusive em tempo real. Uma ampla gama de equipamentos de medição científicos e de engenharia é suportada.
Visualização e apresentação de dados: Virtual Reality Toolbox - permite criar mundos interativos e visualizar informações científicas utilizando tecnologias de realidade virtual e a linguagem VRML.
Ferramentas de desenvolvimento: MATLAB Builder para COM, MATLAB Builder para Excel, MATLAB Compiler, Filter Design HDL Coder - conjuntos de funções que permitem criar aplicativos independentes do ambiente MATLAB.
Interação com produtos de software externos: MATLAB Report Generator, Excel Link, Database Toolbox, MATLAB Web Server, Link for ModelSim - conjuntos de funções que permitem salvar dados em vários tipos para que outros programas possam trabalhar com eles.
Bancos de dados: Database Toolbox - ferramentas para trabalhar com bancos de dados.
Pacotes científicos e matemáticos: Caixa de ferramentas de bioinformática, caixa de ferramentas de ajuste de curva, caixa de ferramentas de ponto fixo, caixa de ferramentas de lógica difusa, caixa de ferramentas de algoritmo genético e pesquisa direta, caixa de ferramentas OPC, caixa de ferramentas de otimização, caixa de ferramentas de equação diferencial parcial, caixa de ferramentas Spline, caixa de ferramentas estatística, caixa de ferramentas RF - conjuntos de funções matemáticas especializadas que permitem resolver uma ampla gama de problemas científicos e de engenharia, incluindo o desenvolvimento de algoritmos genéticos, resolução de problemas de derivadas parciais, problemas inteiros, otimização de sistemas e outros.
Redes Neurais: Neural Network Toolbox - ferramentas para síntese e análise de redes neurais.
Cálculos simbólicos: Symbolic Math Toolbox - ferramentas para cálculos simbólicos com capacidade de interagir com o programa simbólico Maple.

Além do acima exposto, existem milhares de outros kits de ferramentas MATLAB escritos por outras empresas e entusiastas.

Aqueles que lidam com matemática superior sabem muito bem com quais “monstros” matemáticos às vezes têm de lidar. Por exemplo, você pode gastar muito tempo, energia mental e células nervosas não recuperadas calculando alguma integral tripla gigante. Claro, é muito interessante desafiar a integral e aceitá-la. Mas e se, em vez disso, a integral ameaçar levar você? Ou, pior, o trinômio cúbico ficou fora de controle e enlouqueceu? Você não desejaria isso ao seu inimigo.


Anteriormente, havia apenas duas opções: desistir de tudo e dar um passeio ou entrar em uma batalha de várias horas com o integral. Bom, para alguns demorou muitas horas, para outros demorou muitos minutos - quem estudou como. Mas esse não é o ponto. O século XX e o progresso inexoravelmente em movimento oferecem-nos uma terceira via, nomeadamente, permitem-nos tomar “rapidamente” a integral mais complexa. O mesmo se aplica à resolução de todos os tipos de equações, à construção de gráficos de funções na forma de hiperbolóides cúbicos, etc.

Para situações tão extraordinárias, mas que ocorrem periodicamente entre os alunos, existe uma arma matemática poderosa. Para quem ainda não conhece, conheça o pacote de software MATLAB.

O Matlab irá resolver a equação, aproximá-la e construir um gráfico da função. Vocês entendem o que isso significa, amigos?

Isso significa que é um dos pacotes de processamento de dados mais poderosos disponíveis atualmente. O nome significa MatrizLaboratório. Laboratório Matriz, se em russo . As capacidades do programa cobrem quase todas as áreas da matemática. Então, usando Matlab, você pode:

  • Realizar todo tipo de operações em matrizes, resolver equações lineares, trabalhar com vetores;
  • Calcular raízes de polinômios de qualquer grau, realizar operações em polinômios, diferenciar, extrapolar e interpolar curvas, construir gráficos de quaisquer funções;
  • Realizar análise estatística de dados utilizando filtragem digital, regressão estatística;
  • Resolva equações diferenciais. Em derivadas parciais, lineares, não lineares, com condições de contorno - não importa, o Matlab resolverá tudo;
  • Execute operações aritméticas inteiras.

Além de tudo isso, os recursos do MATLAB permitem visualizar dados, incluindo a construção de gráficos tridimensionais e a criação de vídeos animados.

Nossa descrição do Matlab, é claro, está longe de ser completa. Além dos recursos e funções fornecidos pelo fabricante, há um grande número de ferramentas Matlab escritas simplesmente por entusiastas ou outras empresas.

MATLAB como linguagem de programação


É também uma linguagem de programação usada diretamente ao trabalhar com o programa. Não entraremos em detalhes, digamos apenas que os programas escritos em MATLAB vêm em dois tipos: funções e scripts.


O principal arquivo de trabalho do programa é o arquivo M. Este é um arquivo de texto sem fim, e é nele que os cálculos são programados diretamente. A propósito, não se deixe assustar por essa palavra - para trabalhar no MATLAB, você não precisa ser um programador profissional.

Os arquivos M são divididos em

  • Cenários M. Um script M é o tipo mais simples de arquivo M e não possui argumentos de entrada ou saída. Este arquivo é usado para automatizar cálculos repetidos.
  • Funções M. Funções M são arquivos M que aceitam argumentos de entrada e saída.

Para mostrar claramente como o trabalho acontece no MATLAB, damos a seguir um exemplo de criação de uma função no Matlab. Esta função calculará o valor médio do vetor.
f função y = média (x)
% AVERAGE Valor médio dos elementos do vetor.
% AVERAGE(X), onde X é um vetor. Calcula a média dos elementos de um vetor.
% Se o argumento de entrada não for um vetor, será gerado um erro.
= tamanho(x);
se (~((m == 1) | (n == 1)) | (m == 1 & n == 1))
error("A matriz de entrada deve ser um vetor')
fim
y = soma(x)/comprimento(x); % O cálculo real

A linha de definição da função informa ao MATLAB que o arquivo é uma função M e também especifica a lista de argumentos de entrada. Assim, a linha de definição da função média fica assim:
função y = média (x)
Onde:

  1. function - palavra-chave que define a função M;
  2. y - argumento de saída;
  3. média - nome da função;
  4. x é o argumento de entrada.

Portanto, para escrever uma função no Matlab, você precisa lembrar que cada função no sistema MATLAB contém uma linha de definição de função semelhante à abaixo.

É claro que um pacote tão poderoso não é necessário apenas para facilitar a vida dos estudantes. Atualmente, o MATLAB, por um lado, é muito popular entre especialistas em diversas áreas científicas e de engenharia. Por outro lado, a capacidade de trabalhar com grandes matrizes faz do MATLAB uma ferramenta indispensável aos analistas financeiros, permitindo-lhes resolver muito mais problemas do que, por exemplo, o conhecido Excel. Você pode ler mais sobre isso no artigo de revisão.

Desvantagens de trabalhar com MATLAB


Quais são as dificuldades em trabalhar com MATLAB? Talvez haja apenas uma dificuldade. Mas fundamentais. Para revelar totalmente as capacidades do MATLAB e resolver facilmente os problemas que surgem diante de você, você terá que trabalhar muito e primeiro entender o próprio Matlab (como criar um arquivo, como criar uma função, etc.). E isto não é tão simples, porque o poder e as amplas oportunidades exigem sacrifício.

Mesmo que quiséssemos, não podemos dizer que o MATLAB éprograma simples. No entanto, esperamos que tudo o que foi dito acima seja um argumento suficiente para retomar o seu desenvolvimento.

E finalmente. Se você não sabe por que tudo em sua vida foi assim e não de outra forma, pergunte ao Matlab sobre isso. Basta digitar “por que” na linha de comando. Ele responderá. Tente!

Agora você conhece os recursos do Matlab. No campo da educação, o MATLAB é frequentemente utilizado no ensino de métodos numéricos e álgebra linear. Muitos alunos não podem prescindir dele ao processar os resultados de um experimento realizado durante o trabalho de laboratório. Para dominar de forma rápida e eficiente os fundamentos do trabalho com o MATLAB, você pode sempre entrar em contato conosco, que estamos prontos para responder a qualquer uma de suas dúvidas a qualquer momento.

Como a maioria das outras linguagens de programação, o Matlab oferece a capacidade de usar expressões matemáticas, mas diferentemente de muitas delas, essas expressões no Matlab incluem matrizes. Os principais componentes da expressão:

Variáveis;

Operadores;

Funções.

Variáveis. No Matlab não há necessidade de definir tipo ou dimensão de variável. Quando o Matlab encontra um novo nome de variável, ele cria automaticamente a variável e aloca a quantidade apropriada de memória. Se a variável já existir, o Matlab modifica sua composição e aloca memória adicional, se necessário. Por exemplo,

número_ estudantes = 25

cria uma matriz 1x1 chamada número_ estudantes e armazena o valor 25 em seu único elemento.

Os nomes das variáveis ​​consistem em letras, números ou sublinhados. Matlab usa apenas os primeiros 31 caracteres do nome da variável. Matlab diferencia maiúsculas de minúsculas, ele distingue entre letras maiúsculas e minúsculas. É por isso A E a- não é a mesma variável. Para ver a matriz associada a uma variável, basta inserir o nome da variável.

Números. Matlab usa o sistema numérico decimal convencional, com um ponto decimal opcional e sinais de mais/menos para números. O sistema numérico científico usa a letra e para determinar o multiplicador de uma potência de dez. Números imaginários são usados eu ou j como sufixo. Alguns exemplos de números corretos são fornecidos abaixo:

Todos os números são armazenados usando o formato longo, são números de ponto flutuante com precisão limitada - aproximadamente 16 dígitos significativos e um intervalo limitado - de aproximadamente 10 -308 a 10.308.

Operadores. As expressões usam operações aritméticas comuns e regras de precedência (Tabela 1).

tabela 1

Operações aritméticas do pacote Matlab

Funções. Matlab fornece um grande número de funções matemáticas elementares, como abdômen, quadrado, experiência, pecado. Calcular a raiz quadrada ou logaritmo de um número negativo não é um erro: neste caso, o resultado é o número complexo correspondente. Matlab também fornece funções mais complexas, incluindo funções Gamma e Bessel. A maioria dessas funções possui argumentos complexos. Para listar todas as funções matemáticas elementares, digite:

ajudaElfun

Para ver uma lista de todas as funções do Matlab para análise de dados:

ajudadatafun

Se você precisa saber sobre EstatisticasCaixa de ferramentas, digitar:

ajudaEstatísticas

A lista de funções elementares é apresentada na tabela. 2.

mesa 2

Funções elementares do pacote Matlab

Logaritmo de um número na base:.

Para exibir funções matemáticas e matriciais mais complexas, digite:

ajudaespecificação

ajudaElmat

respectivamente.

Alguns recursos como quadrado E pecado, - construídas em Eles fazem parte do Matlab, portanto são muito eficientes, mas seus detalhes computacionais são de difícil acesso. Embora outros recursos, como gama E sinh, implementado em arquivos m. Portanto, você pode ver o código deles e, se necessário, até modificá-lo.

Várias funções especiais fornecem os valores de constantes usadas com frequência:

O infinito ocorre ao dividir por zero ou ao executar uma expressão matemática que resulta em um estouro, ou seja, excedendo realmax. Não é um número ( NaN) gerado ao avaliar expressões como 0/0 ou Informações/ Informações, que não têm significado matemático específico.

Os nomes das funções não são reservados, portanto é possível alterar seus valores para novos, por exemplo:

eps = 1. e-6

claroeps

Operadores relacionais servem para comparar duas grandezas, vetores ou matrizes, todos os operadores relacionais possuem duas grandezas comparadas e são escritos conforme mostrado na tabela. 3.

Agora, as capacidades do sistema excedem significativamente as capacidades da versão original do Matrix Laboratory. O MATLAB de hoje, ideia da The MathWorks, Inc., é uma linguagem altamente eficiente para engenharia e computação científica. Ele suporta cálculos matemáticos, visualização de gráficos científicos e programação usando um ambiente operacional fácil de aprender. As áreas de aplicação mais famosas do sistema MATLAB:

Matemática e Computação;

Desenvolvimento de algoritmos;

Experimento computacional, modelagem de simulação, prototipagem;

Análise de dados, pesquisa e visualização de resultados;

Gráficos científicos e de engenharia;

Desenvolvimento de aplicações, incluindo interface gráfica de usuário.

MATLAB é um sistema interativo cujo objeto principal é um array, para o qual a dimensão não precisa ser especificada explicitamente. Isso torna possível resolver muitos problemas computacionais associados a formulações de matrizes vetoriais.

A versão MATLAB 6.1 é a penúltima conquista dos desenvolvedores (a última foi o MATLAB 6.5).

O sistema MATLAB é ao mesmo tempo um ambiente operacional e uma linguagem de programação. Um dos maiores pontos fortes do sistema é que programas reutilizáveis ​​podem ser escritos em MATLAB. O próprio usuário pode escrever funções e programas especializados, que são compilados na forma de arquivos M. É por isso que os pacotes de software aplicativo - MATLAB Application Toolboxes, que fazem parte da família de produtos MATLAB, permitem que você esteja no nível das mais modernas conquistas mundiais.

Ambiente operacional do sistema MATLAB 6.1. O ambiente operacional do sistema MATLAB 6.1 é um conjunto de interfaces que suportam a comunicação deste sistema com o mundo exterior através do diálogo com o usuário via linha de comando, editor de arquivos M, interação com sistemas externos Microsoft Word, Excel, etc.

Após iniciar o programa MATLAB, sua janela principal aparece na tela do computador, contendo cardápio, régua de ferramenta com botões e lado do cliente da janela com um sinal de convite. Esta janela geralmente é chamada janela de comando Sistemas MATLAB (Fig. 1).

Cardápio Arquivo(Fig. 2) combina as funções usuais: Editar responsável pelas alterações de conteúdo Janela comandos (desfazer, refazer, recortar, copiar, colar, selecionar tudo, excluir, etc.) e para limpar algumas janelas do MATLAB; cardápio Visualizar– para o design da área de trabalho; Menu Web – lança páginas Web da Internet; cardápio Janela– funciona com o editor/depurador de arquivos M (fecha todos os arquivos M, torna um deles atual); cardápio Ajuda– Trabalha com documentação de referência e demonstrações.


A opção merece consideração especial Preferências... (seleção de características), que ao ser selecionada abre uma janela que inclui uma árvore de objetos à esquerda (Fig. 3), e suas possíveis características à direita.

Painel A janela de comando do sistema MATLAB permite fácil acesso às operações em arquivos M: criação de um novo arquivo M; abrindo um arquivo M existente; deletar um fragmento; copiar um fragmento; inserir um fragmento; restaurar apenas a operação concluída, etc.

EM lado do cliente Na janela de comando do MATLAB, após o prompt, você pode inserir vários números, nomes de variáveis ​​​​e sinais de operação, que juntos formam algumas expressões. Pressionar Enter faz com que o MATLAB avalie a expressão ou, se não avaliar, a repita. Embora o sinal ";" no final da linha suprime a saída do resultado (saída de eco).

Assim, na parte cliente da janela de comando do MATLAB, o usuário pode escrever imediatamente comandos que formam cálculos individuais ou um programa inteiro.

Assim, foram analisadas as partes estruturais da janela de comando do MATLAB. Mas além deles, existem vários outros elementos do MATLAB que auxiliam no trabalho:

Equipes- uma janela contendo comandos inseridos anteriormente na Janela de Comando (“histórico de comandos”).

Área de trabalhoé uma área da memória MATLAB na qual as variáveis ​​do sistema estão localizadas. O conteúdo desta área pode ser visualizado na linha de comando usando os comandos Quem(exibe apenas nomes de variáveis) e quem é(exibe informações sobre os tamanhos dos arrays e o tipo de variável) ou em uma janela separada com o mesmo nome. Nele você pode realizar as seguintes operações: carregar um arquivo de dados, salvar o Workspace como (os comandos permitem abrir e salvar o conteúdo do workspace em um arquivo binário MAT), excluir variáveis ​​selecionadas; abra as variáveis ​​selecionadas (onde você pode alterar seu valor). Além disso, no menu Editar você pode limpar a Janela de Comando e o Histórico de Comandos e a Área de Trabalho (ou executar o comando na Janela de Comando: claro).

Para salvar e iniciar o espaço de trabalho, você pode usar os comandos carregar e salvar.

Exemplo.

Salvando em: matlab.mat

>> salve meu.mat

>> carregar meu.mat

>> salve meu2

>> carregar meu2

Catálogo atual– uma janela que é uma espécie de “guia” pelos catálogos do MATLAB.

Iniciar Editor– uma janela exibindo uma árvore de elementos estruturais do MATLAB e outros softwares instalados com ele, que pode ser iniciada clicando duas vezes com o botão esquerdo do mouse. Por exemplo, esta janela pode ser semelhante à Figura 9.

Editor/depurador de arquivo M– uma das partes estruturais mais importantes do MATLAB, que pode ser aberta selecionando a opção apropriada no menu principal, na barra de ferramentas, ou chamada a partir da linha de comando com o comando editar ou editar<имя М-файла>e permite criar e editar arquivos M.

O editor/depurador suporta as seguintes operações: criação de um novo arquivo M; abrindo um arquivo M existente; salvando o arquivo M no disco; deletar um fragmento; copiar um fragmento; inserir um fragmento; ajuda; definir/excluir ponto de controle; continuar a execução, etc.

GUIDE é uma interface gráfica de usuário na qual aplicativos completos são criados.

Sessão de trabalho interativa. Arquivos M. O modo interativo é um modo de usuário para inserir comandos e expressões do teclado, cuja execução produz os resultados numéricos necessários que podem ser visualizados de forma fácil e rápida usando as ferramentas gráficas integradas do pacote MATLAB. Mas não é possível usar este modo para criar e salvar um programa específico. Portanto, os criadores do MATLAB, além da Janela de Comando, na qual o modo interativo é implementado, identificaram arquivos especiais contendo códigos de linguagem MATLAB e os chamaram de arquivos M (*.m). Para criar um arquivo M, use um editor de texto (editor/depurador de arquivo M).

Trabalhando no editor de arquivo M. Trabalhar a partir da linha de comando do MatLab torna-se difícil se você precisar inserir muitos comandos e alterá-los com frequência. A maneira mais conveniente de executar comandos é usar M-arquivos nos quais você pode digitar comandos, executá-los todos de uma vez ou em partes, salvá-los em um arquivo e usá-los no futuro. Trabalhar com M- o editor é destinado a arquivos M-arquivos. Usando o editor, você pode criar suas próprias funções e chamá-las, inclusive a partir da linha de comando.

Expanda o menu Arquivo da janela principal do MatLab e no item Novo selecione o subitem Arquivo M. Um novo arquivo é aberto na janela do editor M-arquivos (Fig. 10). Vamos escrever um programa para calcular a média aritmética em um arquivo.

variável aeb e salve-a com o nome fun1.m. Compare os métodos para resolver o problema apresentado na tabela.