Movatterモバイル変換


[0]ホーム

URL:


Saltar para o conteúdo
Wikipédia
Busca

MATLAB

Origem: Wikipédia, a enciclopédia livre.
(Redirecionado deMatlab)
Esta página cita fontes, mas não cobrem todo o conteúdo
Esta páginacita fontes, mas quenão cobrem todo o conteúdo. Ajude ainserir referências (Encontre fontes:ABW  • CAPES  • Google (notícias • livros • acadêmico)).(Dezembro de 2010)
MATLAB
MATLAB
Captura de tela
MATLAB
Uma superfície criada no Matlab
DesenvolvedorMathWorks Inc.
PlataformaMultiplataforma
Modelo do desenvolvimentoSoftware Proprietário
Versão estávelR2023b(10 de janeiro de 2024; há 14 meses)
Versão em testeR2024a (Ainda não Lançada)
Idioma(s)Inglês
Escrito emC,Java
Sistema operativoMultiplataforma
Gênero(s)Computação técnica

Computação Científica

LicençaProprietário
Estado do desenvolvimentoCorrente
Página oficialhttp://www.mathworks.com/products/matlab/?s_cid=wiki_matlab_2 (eminglês,emcastelhano,emportuguêseemalemão)., acessado pela última vez há 651semanas e 6dias

MATLAB (MATrix LABoratory) trata-se de umsoftware interativo de altaperformance voltado para ocálculo numérico. O MATLAB integra análise numérica, cálculo commatrizes,processamento de sinais e construção degráficos em ambiente fácil de usar, onde problemas e soluções são expressos somente como eles são escritos matematicamente, ao contrário daprogramação tradicional.

O MATLAB é um sistema interativo cujo elemento básico de informação é uma matriz que não requer dimensionamento. Esse sistema permite a resolução de muitos problemas numéricos em apenas uma fração do tempo que se gastaria para escrever umprograma semelhante emlinguagemFortran,Basic ouC. Além disso, as soluções dos problemas são expressas quase exatamente como elas são escritas matematicamente.

Histórico

[editar |editar código-fonte]

O MATLAB é umsoftware destinado a fazer cálculos com matrizes. MATLAB foi criado no fim dosanos 1970 por Cleve Moler, então presidente do departamento deciência da computação daUniversidade do Novo México. Ele logo se espalhou para outrasuniversidades e encontrou um forte uso no âmbito da comunidadematemática aplicada.

Jack Little, umengenheiro, conheceu a linguagem MATLAB durante uma visita feita por Moler àUniversidade de Stanford, em1983. Reconhecendo o seu potencial comercial, ele juntou-se a Moler e Steve Bangert.[1] Eles reescreveram MATLAB em C; e em1984, fundaram a MathWorks e prosseguiram no seu desenvolvimento. As bibliotecas reescritas (LINPACK e EISPACK) ficaram conhecidas como LAPACK (incorporada ao MATLAB na versão do ano2000).[2]

MATLAB foi adotado pela primeira vez por engenheiros de projeto de controle, a especialidade de Little; e rapidamente se espalhou para outros campos de aplicação. Agora, é também utilizado nas áreas da educação, em especial o ensino daálgebra linear eanálise numérica; e é muito popular entre oscientistas envolvidos com oprocessamento de imagem.

Sintaxe

[editar |editar código-fonte]

MATLAB é construído na linguagem MATLAB, às vezes chamada M-código ou simplesmente M. NoGerenciador de Programas doMicrosoft Windows, deve-se abrir o grupo de programas do MATLAB para Windows, que contém o ícone do aplicativo MATLAB. Um duplo clique no ícone MATLAB carrega o aplicativo MATLAB. Quando o MATLAB é carregado, duas janelas são exibidas: a Janela de Comando (Command Windows) e Janela Gráfica (Graphic Windows). A Janela de Comando é ativada quando se inicializa o MATLAB; e oprompt padrão (>>) é exibido na tela.

MATLAB pode ser usado como umshell interativo de matemática. Sequências de comandos podem ser guardadas em umarquivo de texto, tipicamente utilizando o MATLAB Editor, como umscript; ou encapsulado em uma função, alargando os comandos disponíveis.

Variáveis

[editar |editar código-fonte]

Asvariáveis são definidas com o operador “=”. MATLAB é dinamicamente digitado, o que significa que variáveis podem ser atribuídas sem declarar seu tipo, mas este pode ser alterado. Os valores podem vir deconstantes, a partir de cálculos que envolvam valores de outras variáveis; ou a partir da saída de umafunção. Por exemplo:

>>x=17x=17>>x='hat'x=hat>>x=[3*4,pi/2]x=12.00001.5708>>y=3*sin(x)y=-1.60973.0000

Vetores e matrizes

[editar |editar código-fonte]

MATLAB é umMatrix Laboratory; e como tal, fornece muitas maneiras convenientes para a criação de matrizes de várias dimensões. No vocabulário MATLAB, um vetor refere-se a uma dimensão (1 × N ou N × 1), comumente referida como um vetor em outras linguagens de programação. A matriz geralmente se refere a uma matriz multidimensional, isto é, uma matriz com mais de uma dimensão, por exemplo, uma N × M, uma N × M × L, entre outras, onde N, M e L são superiores a 1. Em outras linguagens, uma matriz pode ser referida como um "array dearrays", ou "array dearrays dearrays", ou simplesmente como umarray multidimensional.

MATLAB oferece uma maneira simples de definirarrays simples, usando a sintaxe "inicial: incremento: final". Por exemplo:

>>array=1:2:9array=13579

Define uma variável chamadaarray (ou atribui um novo valor a uma variável já existente com o nomearray), que é constituída por uma matriz dos valores 1, 3, 5, 7 e 9; ou seja, a matriz começa em 1, o valor inicial, e cada valor é incrementado a partir do valor anterior em 2 (incremento do valor); e para quando ele chega a 9, mas não ultrapassa o valor 9 (9 sendo o valor final).

>>array=1:3:9array=147

O valor do incremento pode ficar fora desta sintaxe (junto com os “:”), para usar um valor padrão de incremento 1.

>>ari=1:5ari=12345

Atribui à variável chamada "ari" umarray com os valores 1, 2, 3, 4 e 5, uma vez que o valor padrão 1 é usado como o incremento.

A indexação é uma base de [5], que é a convenção usual para matrizes em matemática. Isso é atípico para linguagens de programação, cujos arranjos mais frequentemente começam com zero.

Matrizes podem ser definidas separando os elementos de uma fila com espaço em branco; ou usando vírgula e ponto-e-vírgula para terminar cada linha. A lista de elementos deve ser cercada por colchetes: []. Parênteses: () são usados para acessar os elementos esubarrays (eles também são usados para denotar uma função "argumento lista").

>>A=[163213;510118;96712;415141]A=16321351011896712415141>>A(2,3)ans=11>>A(2:4,3:4)ans=118712141

Umamatriz identidade de tamanhon podem ser gerada usando a funçãoeye; e matrizes de qualquer tamanho ou aquelas com zeros podem ser geradas com as funçõeszeros eones, respectivamente.

>>eye(3)ans=100010001>>zeros(2,3)ans=000000>>ones(2,3)ans=111111

A maior parte das funções MATLAB pode aceitar matrizes; e irá aplicar-se a cada elemento. Por exemplo,mod (2 * J, n) irá multiplicar cada elemento em "J" a 2 e, em seguida, reduzir cada elemento módulon. MATLAB não inclui padrão "para" e "enquanto", mas usandoMATLAB's vectorized, a notação produz um código que muitas vezes é mais fácil de ler e mais rápido para executar. Este código, a partir da funçãomagic.m, cria um cubo mágico M, para valores den (MATLAB funçãomeshgrid é aqui utilizada para gerar matrizes quadradas e I.J contendo 1: n).

[J,I]=meshgrid(1:n);A=mod(I+J-(n+3)/2,n);B=mod(I+2*J-2,n);M=n*A+B+1;

Extensões

[editar |editar código-fonte]

O programa dispõe de diversas extensões (chamadastoolboxes oublocksets). Além dos módulos adicionais, o MATLAB conta com oSimulink, um ambiente de simulação baseado emdiagrama de blocos; e plataforma paraModel-Based Design. As suas extensões são:[3]

  • Simulink
  • Parallel Computing Toolbox
  • MATLAB Distributed Computing Server
  • Symbolic Math Toolbox
  • Partial Differential Equation Toolbox
  • Statistics and Machine Learning Toolbox
  • Curve Fitting Toolbox
  • Optimization Toolbox
  • Global Optimization Toolbox
  • Neural Network Toolbox (for Deep Learning)
  • Text Analytics Toolbox
  • Model-Based Calibration Toolbox
  • Control System Toolbox
  • System Identification Toolbox
  • Fuzzy Logic Toolbox
  • Robust Control Toolbox
  • Model Predictive Control Toolbox
  • Aerospace Toolbox
  • Aerospace Blockset
  • Robotics System Toolbox
  • Signal Processing Toolbox
  • DSP System Toolbox
  • Audio System Toolbox
  • Communications System Toolbox
  • Wavelet Toolbox
  • RF Toolbox
  • RF Blockset
  • Antenna Toolbox
  • Phased Array System Toolbox
  • LTE System Toolbox
  • WLAN System Toolbox
  • Image Processing Toolbox
  • Computer Vision System Toolbox
  • Automated Driving System Toolbox
  • Vision HDL Toolbox
  • Image Acquisition Toolbox
  • Mapping Toolbox
  • Data Acquisition Toolbox
  • Instrument Control Toolbox
  • OPC Toolbox
  • Vehicle Network Toolbox
  • ThingSpeak
  • Financial Toolbox
  • Econometrics Toolbox
  • Datafeed Toolbox
  • Database Toolbox
  • DO Qualification kit (for DO-178)
  • IEC Certification Kit (for ISO 26262 e IEC 61508)
  • Spreadsheet Link (for Microsoft Excel)
  • Financial Instruments Toolbox
  • Trading Toolbox
  • Risk Management Toolbox
  • Bioinformatics Toolbox
  • SimBiology
  • MATLAB Coder
  • Simulink Coder
  • Embedded Coder
  • GPU Coder
  • HDL Coder
  • LTE HDL Toolbox
  • HDL Verifier
  • Filter Design HDL Coder
  • Fixed-Point Designer
  • MATLAB Compiler
  • MATLAB Compiler SDK
  • MATLAB Production Server
  • MATLAB Report Generator
  • Powertrain Blockset
  • Simulink PLC Coder
  • Simulink Report Generator
  • Simulink Requirements
  • Simulink Check
  • Simulink Coverage
  • Simulink Control Design
  • Simulink Coder Inspector
  • Simulink Design Optmization
  • Simulink Design Verifier
  • Simulink Real-Time
  • Simulink Desktop Real-Time
  • Simscape
  • Simscape Multibody
  • Simscape Driveline
  • Simscape Fluids
  • Simscape Electronics
  • Simscape Power Systems
  • SimBiology
  • Simulink Test
  • Stateflow
  • SimEvents
  • Simulink 3D Animation
  • Simulink Report Generation
  • Polyspace Bug Finder
  • Polyspace Code Prover
  • MATLAB Reservoir Simulation Toolbox

Exemplos de código-fonte

[editar |editar código-fonte]

OMATLABé uma combinação de muitas das linguagens mais utilizadas, tais comoC,Java eBasic. Esta linguagem segue então de uma maneira muito fiel à maior parte dos aspectos das linguagens que estiveram na sua origem. Esta é então uma das grandes vantagens do MATLAB: um programador de C não terá grandes dificuldades em se adaptar a esta linguagem, visto que os códigos-fonte são muito parecidos; e um programador deJava não terá grande dificuldade em se adaptar à construção de objetosGUI em MATLAB (no entanto, o MATLAB tem também um bom componente de interface não gráfica).

Olá Mundo

[editar |editar código-fonte]

O já habitual programa em que se cria uma simples mensagem na tela que diz "Olá Mundo". Para isso, em MATLAB, usa-se a funçãodisp().

1disp('Olá Mundo');

A funçãodisp() tanto pode ser usada para impressão directa, ou seja, o programador escreve nocódigo-fonte aquilo que deve sempre ser impresso; ou nomeia uma função, na qual escreve aquilo que quer; ou pede aouser para escrever numa variável de entrada o que deseja.

Obs.: Na versão 2008b, não é necessário colocar o ";" (ponto-e-vírgula) no final dodisp.

Usando variáveis:

texto='Olá Mundo';disp(texto);
texto=input('Escreva a sua mensagem--> ','s');disp(texto);

No primeiro caso, o MATLAB retornaria a mensagem "Olá Mundo". Mas no 2.º caso, a mensagem a ser escrita iria ser decidida pelouser. Para que seja possível aouser dar alguma ordem aosoftware, existe a funçãoinput(). Para se compreender melhor esta função, apresenta-se de seguida um programa de baixa complexidade, que servirá também de introdução às estruturas aninhadas.

Nota: no final de cada linha de código em MATLAB, é conveniente escrever ";". Estecaractere serve para omitir o aparecimento do valor de variáveis no dispositivo de saída.

Informação Idades

[editar |editar código-fonte]

Neste programa, pretende-se iniciar o uso da funçãoinput() e das estruturas aninhadas. Neste simplessoftware, ousuário vai introduzir um determinado valor numérico, que deverá corresponder a uma idade; e o programa devolverá uma determinada mensagem de acordo com o valor introduzido.

idade=input('Introduza uma idade--> ');if(idade==0)disp('És um recém-nascido');elseif(idade>0&idade<=6)disp('És um bebé');elseif(idade>6&idade<=12)disp('És uma criança');elseif(idade>13&idade<18)disp('És um adolescente');elseif(idade==18)disp('Agora que tens 18 anos já és um adulto');elseif(idade>18&idade<=35)disp('Aproveita a vida que ainda és um jovem');elseif(idade>35&idade<=60)disp('Estás na meia idade');elseif(idade>60);disp('Estás na velhice');elsedisp('Idade incompreendida');end;

Com estesoftware, pretende-se de uma forma simples fazer entender como funciona uma estruturanested e compreender melhor a funçãoinput().

  • Funçãoinput(): com a funçãoinput(), é pedido ao utilizador que retorne um certo valoralfanumérico ao sistema, sendo que o programa só continua quando o utilizador retornar esse valor. É como numpedy-paper, quando nos deparamos com uma pergunta e só podemos avançar quando lhe respondermos. O que acontece neste programa é que o utilizador retorna um valor numérico à variável "idade", para depois ser analisado. Repare que no programa anterior, o da mensagem escolhida pelouser, a funçãoinput() era usada com a seguinte sintaxe:texto = input('Escreva a sua mensagem--> ','s'); enquanto que no programa de informação de idades, é escrito assim:idade = input('Escreva uma idade--> ');. A parte do 's' é usada com a funçãoinput() quando queremos dar a possibilidade aouser de retornar à variável qualquer tipo de valor que ele queira (tanto números como letras). Quando não se usa esta sintaxe, pretende-se que ouser apenas introduza valores do tipo numérico, sendo que quando isso não acontece, aparece a seguinte mensagem de aviso noecrã:
teste=input('Valor--> ')Valor-->texto???Errorusing==>inputUndefinedfunctionorvariable'texto'.

Método de Newton

[editar |editar código-fonte]
functionteste=newton(f,p,t)%Calcula, mostrando as iterações, a raiz de uma função transcendente qualquer%até uma determinada precisão.%Entre com newton('função em termos de x',precisão,chute inicial)%%Exemplo: Ao entrar com:%%newton('x^2-3',0.0001,9)%%O programa mostra:%%1ª iteração = 4.666666666666667 f(x1)= 78.000000000000000%2ª iteração = 2.654761904761905 f(x2)= 18.777777777777782%3ª iteração = 1.892403373905616 f(x3)= 4.047760770975057%4ª iteração = 1.738844535028185 f(x4)= 0.581190529569359%5ª iteração = 1.732064079236316 f(x5)= 0.023580316997385%6ª iteração = 1.732064079236316 f(x6)= 0.000045974580746%%A raiz é aproximadamente 1.732064079236316%%E mostra automaticamente o gráficosymsx;%defino x como simbolodery=diff(f,x);%crio a função derivada de f em função de xcont=1;y=subs(f,t);dy=subs(dery,t);fprintf(' \n');whileabs(y)>pt=t-y/dy;fprintf('%dª iteração = %.15f f(x%d)= %.15f\n',cont,t,cont,y);y=subs(f,t);dy=subs(dery,t);cont=cont+1;ifabs(y/dy)==0breakendendfprintf('%dª iteração = %.15f f(x%d)= %.15f\n',cont,t,cont,y)fprintf(' \n')fprintf('A raiz é aproximadamente %.15f\n',t)a=linspace(t-50,t+50,500);b=subs(f,a);plot(a,b)holdontitle('Raiz de f que se aproxima do chute inicial')plot(t,0,'r*')legend(f)xlabel('eixo x')ylabel('eixo y')fprintf(' \n').

MATLAB no Brasil

[editar |editar código-fonte]

Referência em Model-Based Design e Model-Based System Engineering na América Latina e especialista em tecnologias da Indústria 4.0, aOPENCADD é a distribuidora exclusiva dos softwares MATLAB® e Simulink® noBrasil.

Fundada com a missão de enriquecer a indústria brasileira com as mais avançadas soluções tecnológicas, a OPENCADD ajudou a fortalecer a presença do MATLAB e Simulink em território brasileiro. A parceria exclusiva com aMathWorks permite à OPENCADD disponibilizar licenças, treinamentos e suporte especializado, garantindo que os usuários brasileiros possam extrair o máximo dessas plataformas.

Isso acontece através de workshops, cursos de treinamento e suporte personalizado, onde a OPENCADD capacita de engenheiros à cientistas para enfrentarem desafios técnicos de maneira mais eficaz, promovendo a inovação e a excelência nas áreas em que atuam.


Ver também

[editar |editar código-fonte]

Referências

  1. Moler, Cleve.«The Growth of MATLAB»(PDF). Arquivado dooriginal(PDF) em 11 de Abril de 2009 
  2. Moler, Cleve (2000).«MATLAB Incorporates LAPACK»(HTML) 
  3. «MathWorks Products». MathWorks Inc. 10 de outubro de 2017. Consultado em 10 de outubro de 2017 

Ligações externas

[editar |editar código-fonte]
Software livre
Software não-livre
Varejo
Código aberto
Software gratuito/shareware
Descontinuados
Obtida de "https://pt.wikipedia.org/w/index.php?title=MATLAB&oldid=67394661"
Categorias:
Categorias ocultas:

[8]ページ先頭

©2009-2025 Movatter.jp