SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Pág.
Pág. 2
EXPERIÊNCIA NA PUC-RIO NO DESENVOLVIMENTO DE
SOFTWARE EDUCACIONAL EM MATLAB
Luiz Fernando Martha
DESENVOLVENDO UM SOFTWARE PARA CÁLCULO
ESTRUTURAL EM MATLAB
Rafael Rangel
Pág.
EXPERIÊNCIA NA PUC-RIO NO
DESENVOLVIMENTO DE SOFTWARE
EDUCACIONAL EM MATLAB
3
• O MATLAB é um ambiente de programação com alto nível de abstração
que permite a criação de aplicativos gráficos-interativos com muita
rapidez
• Professores e alunos podem criar programas de simulação com alta
qualidade de interface gráfica com pouco conhecimento de técnicas de
computação gráfica
• O MATLAB é uma poderosa ferramenta para o ensino de engenharia,
matemática, física e química não só pelo ambiente de programação, mas
também porque aplicativos educacionais stand-alones podem ser
desenvolvidos e utilizados no aprendizado em virtualmente todas as
áreas técnico-científicas
Pág. 4
• O Instituto Tecgraf/PUC-Rio, seguindo tradição e experiência no
desenvolvimento de software educacional para engenharia, está ativo
no uso do MATLAB para aumentar sua contribuição na área
EXPERIÊNCIA NA PUC-RIO NO
DESENVOLVIMENTO DE SOFTWARE
EDUCACIONAL EM MATLAB
• Outros departamentos e laboratórios também já iniciaram
desenvolvimentos de programas educacionais
• O Centro Técnico Científico (CTC) da PUC-Rio está atento para essa
nova realidade e planeja cursos para desenvolvimento de aplicativos
gráficos no ambiente MATLAB
• Dois exemplos:
e-Mohr: programa gráfico interativo para ensino de círculo de Mohr para
estado bidimensional de tensões
LESM: Linear Elements Structure Model, software para análise estrutural
Pág.
e-Mohr2
5
Este programa demostra como funciona o Círculo de
Mohr para estado plano de tensões, de uma forma
gráfica e interativa. Foi desenvolvido no contexto da
programação orientada a objetos (POO).
Autor:
Emersson Torres
(mestrado em Eng. Civil)
emersson@aluno.puc-rio.br
Pág.
Círculo de Mohr
6
Método gráfico para representar o comportamento
da tensão em um ponto de um elemento.
Pág.
Pontos de Controle
7
No programa, as componentes de tensão podem
ser ajustadas através da manipulação interativa
do mouse.
Pág.
Diagrama de Fluxo
8
Emouse
MohrEm
eCircle
eLine
MohrActionPoint
MohrInput
MohrPlotMohrStress
eQuad
eArc
dirPlot
exLine
Pág.
Classe Emouse
9
mouseMove
ebuttonDown
ebuttonUp
set( gcf, 'windowbuttonmotionfcn', @mouseMove );
set( gcf, 'windowbuttondownfcn', @ebuttonDown );
set( gcf, 'windowbuttonupfcn', @ebuttonUp );
Pág.
MohrActionPoint
10
Detecta se o ponto do cursor do mouse
está em um dos pontos de ação.
x = radius * cos( angle ) + xc;
y = radius * sin( angle ) + yc;
p = inpolygon( mousePX, mousePY, x, y );
Pág. 11
DESENVOLVENDO UM SOFTWARE
PARA CÁLCULO ESTRUTURAL EM
MATLAB
Pág.
Software para Análise Estrutural
12
• Análise Estrutural:
Estudo dos efeitos de cargas sobre estruturas físicas,
representadas por modelos simplificados, para a determinação de
seus deslocamentos e esforços internos.
• Modelo Estrutural:
Idealização da estrutura real assumindo diversas hipóteses
simplificadoras sobre o seu comportamento que permitam a sua
modelagem matemática.
• Métodos de Análise:
Consistem na discretização de um modelo estrutural em um conjunto
de parâmetros cujos valores são calculados para representar as
soluções analíticas contínuas, considerando o equilíbrio, a
compatibilidade de deslocamentos e as propriedades dos materiais.
Ex: Método dos Deslocamentos, Rigidez Direta, Elementos Finitos, etc.
Pág. 13
Software para Análise Estrutural
Um software de análise estrutural permite o cáculo rápido e preciso dos
resultados desejados, além da vizualização dos modelos e resultados através
de técnicas de computação gráfica.
Pág. 14
Software para Análise Estrutural
Um software de análise estrutural permite o cáculo rápido e preciso dos
resultados desejados, além da vizualização dos modelos e resultados através
de técnicas de computação gráfica.
Pág. 15
LESM – Linear Elements Structure Model
• Modelos estruturais reticulados.
• Método da Rigidez Direta.
Pág. 16
LESM – Linear Elements Structure Model
• Modelo com desenho da configuração deformada
Pág. 17
LESM – Linear Elements Structure Model
• Modelo com desenho do diagrama de momentos fletores
Pág. 18
Desenvolvimento de um Software de Análise
Estrutural
Mecânica Computacional = Princípios Mecânicos + Ciência da Computação
Mecânica Computacional é a disciplina que utiliza métodos computacionais para
estudar fenômenos governados pelos princípios da mecânica.
• Obtenção de um modelo matemático do problema.
• Criação de um modelo discreto aproximado a partir de um modelo contínuo
original
• Implementação de um algoritmo para calcular os valores dos parâmetros
discretos
Busca-se sempre técnicas de programação que visam a maior eficiência
computacional para a implementação do método de análise e obtenção dos
resultados.
Pág. 19
Desenvolvimento de um Software de Análise
Estrutural
Estágios de Processamento:
• Pré-processamento: Fornecimento, captura e preparação dos dados do
modelo à ser analisado (interface gráfica).
• Processamento: Cálculo dos resultados baseado nos dados fornecidos.
• Pós-processamento: Disponibilização dos resultados através de saídas
gráficas (sistema gráfico)
Dados do
modelo
Método
de análise
Resultados
numéricos
Computação
gráfica
Resultados
gráficos
Pré-processamento Processamento de dados Pós-Processamento
Pág. 20
• Um código aberto e didático para o ensino do Método da Rigidez Direta.
• Priorização da clareza do código em relação à eficiência.
• Facilidade no desenvolvimento de uma interface gráfica e visualização dos
resultados.
Motivação
Pág. 21
Vantagens do uso do MATLAB para
Aplicações de Mecânica Computacional
• Linguagem de programação de alto nível:
Nível de abstração elevado, longe do código de máquina e próximo à
linguagem humana.
MATLAB é uma linguagem de programação interpretada e considerada de 4ª
geração.
Pág. 22
• Variáveis Matriciais:
* Todas as variáveis são interpretadas como matrizes.
* Operações matriciais entre as variáveis podem ser executadas
facilmente
Ex.: [A]{X} = {B} X = B  A;
Torna muito mais fácil a implementação de um método matricial como é o caso
do Método da Rigidez Direta
Não é necessário declarar variáveis e seus tipos.
Vantagens do uso do MATLAB para
Aplicações de Mecânica Computacional
Pág. 23
Vantagens do uso do MATLAB para
Aplicações de Mecânica Computacional
• Ambiente de desenvolvimento integrado:
Ambiente de Programação com Orientação a Objetos
+
Desenvolvimento de Interface
+
Sistema Gráfico
+
Álgebra Simbólica
Pág. 24
Programação Orientada a Objetos (OOP)
OOP permite a expansão do programa
sem a alteração de das classes já
existentes.
Baseia-se na composição e interação de unidades de sotware chamadas objetos.
Definições importantes:
• Classe: Representa um conjunto de variáveis e funções que agrupam objetos.
• Objetos: São instâncias de uma classe.
• Atributos: São as variáveis que representam as características dos objetos.
• Métodos: São as funções que definem as habilidades de um objeto.
• Herança: Permite o aproveitamento do código de uma classe base para
implementações específicas em subclasses.
Pág. 25
Classes Anm: Implementam funções que se diferenciam entre os tipos de modelo
estrutural.
Classes Draw: Responsáveis por implementar funções para desenhar o modelo e os
diagramas dos resultados.
Classe Drv: Classe que dirige o processo de análise e que possui todas as
informações do modelo
Classes Elem: Implementam funções relacionadas à rigidez que se diferenciam
entre os tipos de modelos matemáticos das barras.
Classes Lelem: Implementam funções relacionadas ao carregamento que se
diferenciam entre os tipos de modelos matemáticos das barras.
Classe Material: Classe com as propriedades físicas dos materiais.
Classes Print: Responsáveis por imprimir os resultados da análise em forma textual.
Classe Section: Classe com as propriedades geométricas das seções transversais.
Classe Node: Classe com informações sobre os pontos de discretização do modelo.
Organização do programa em arquivos .m com scrpits (rotinas) de código.
Programação Orientada a Objetos (OOP)
Pág. 26
Programação Orientada a Objetos (OOP)
Diagrama de Classes (padrão UML):
Apresenta uma visão estática da organização das classes do programa e
a forma com a qual elas se relacionam.
O MATLAB fornece um ambiente de compilação dos arquivos em um executável
stand-alone.
Pág. 27
O Ambiente GUIDE
Orientação a Eventos
• Ambiente para o desenvolvimento de interface gráfica de forma interativa.
• Os componentes são adicionados por meio de sistema de drag-and-drop.
• Um arquivo .m baseado no paradigma de Orientação a Eventos é
automaticamente gerado
• O fluxo do código é guiado por indicações externas chamadas eventos.
• Eventos são as diferentes ações que usuários podem realizar sobre os
componentes adicionados à interface.
• Cada evento está associado à uma função chamada Callback, disparada
quando se verifica a ocorrência de tal evento, que define a reação do programa.
Button1_click_CallbackFuntion
{...}
Button2_click_CallbackFuntion
{...}
Button3_click_CallbackFuntion
{...}Click
Pág. 28
Livescript e Álgebra Simbólica
• Ambiente de manipulação de equações matemáticas e expressões em forma
simbólica.
• Utilizado para gerar as expressões dos modelos matemáticos que representam
o comportamento das barras.
Pág. 29
Documentação
• O comando Publish:
A documentação do código é geralmente feita através de comentários,
sendo importante para deixá-lo claro e compreensível.
O MATLAB, através de uma certa disciplina de comentários e o comando
Publish, permite criar arquivos formatados apresentáveis para serem
publicados e compartilhados.
Arquivo .m Arquivo .html
Pág. 30
• Diagramas UML (Unified Modeling Language):
Auxiliam a vizualização da comunicação entre as classes e objetos do
programa, através de diagramas padronizados.
Documentação
www.tecgraf.puc-rio/lesm
Diagrama de Atividade Diagrama de Sequência
Pág.
OBRIGADO!
Luiz Fernando Martha – lfm@tecgraf@puc-rio.br
Rafael Lopez Rangel – rafaelrangel@tecgraf.puc-rio.br
www.tecgraf.puc-rio/lesm

Mais conteúdo relacionado

Semelhante a Desenvolvimento de software educacional em MATLAB

Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...Opencadd Advanced Technology
 
Gestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesGestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesRogerio P C do Nascimento
 
Machine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produçãoMachine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produçãoMarlesson Santana
 
MC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdfMC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdfLuanaBatista74
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Robson Ferreira
 
Introdução à utilização de openFrameworks para o desenvolvimento de aplicaçõ...
Introdução à utilização de openFrameworks para  o desenvolvimento de aplicaçõ...Introdução à utilização de openFrameworks para  o desenvolvimento de aplicaçõ...
Introdução à utilização de openFrameworks para o desenvolvimento de aplicaçõ...Christopher Cerqueira
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLNatanael Simões
 
Saam & arquiteturas_iu_halan
Saam & arquiteturas_iu_halanSaam & arquiteturas_iu_halan
Saam & arquiteturas_iu_halanHalan Ridolphi
 
Intro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserverIntro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserverEduardo Jorge
 
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2Urique Hoffmann
 
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de SoftwareAlgoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de SoftwareJosé Corrêa Viana
 
Aula6 programação
Aula6 programaçãoAula6 programação
Aula6 programaçãoIFPB
 

Semelhante a Desenvolvimento de software educacional em MATLAB (20)

Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
 
apostila matlab
apostila matlabapostila matlab
apostila matlab
 
Apostila matlab
Apostila matlabApostila matlab
Apostila matlab
 
Apostila 20 matlab
Apostila 20 matlabApostila 20 matlab
Apostila 20 matlab
 
Pi raciocinio lógico
Pi   raciocinio lógicoPi   raciocinio lógico
Pi raciocinio lógico
 
Gestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesGestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e Planificações
 
Machine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produçãoMachine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produção
 
MC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdfMC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdf
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2
 
Introdução à utilização de openFrameworks para o desenvolvimento de aplicaçõ...
Introdução à utilização de openFrameworks para  o desenvolvimento de aplicaçõ...Introdução à utilização de openFrameworks para  o desenvolvimento de aplicaçõ...
Introdução à utilização de openFrameworks para o desenvolvimento de aplicaçõ...
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UML
 
Diagrama Automatizado
Diagrama AutomatizadoDiagrama Automatizado
Diagrama Automatizado
 
Simulador de Processos EMSO
Simulador de Processos EMSOSimulador de Processos EMSO
Simulador de Processos EMSO
 
ava facul uva unijorge (146).pdf
ava facul uva unijorge (146).pdfava facul uva unijorge (146).pdf
ava facul uva unijorge (146).pdf
 
Saam & arquiteturas_iu_halan
Saam & arquiteturas_iu_halanSaam & arquiteturas_iu_halan
Saam & arquiteturas_iu_halan
 
Intro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserverIntro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserver
 
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
 
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de SoftwareAlgoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
 
Curso matlab
Curso matlabCurso matlab
Curso matlab
 
Aula6 programação
Aula6 programaçãoAula6 programação
Aula6 programação
 

Mais de Opencadd Advanced Technology

Openday PUC-RIO - Indústria 4.0 e aplicação no segmento de ar condicionado
Openday PUC-RIO - Indústria 4.0 e aplicação no segmento de ar condicionadoOpenday PUC-RIO - Indústria 4.0 e aplicação no segmento de ar condicionado
Openday PUC-RIO - Indústria 4.0 e aplicação no segmento de ar condicionadoOpencadd Advanced Technology
 
Openday PUC-RIO - Determinação da Trajetória ótima em pistas de corrida com r...
Openday PUC-RIO - Determinação da Trajetória ótima em pistas de corrida com r...Openday PUC-RIO - Determinação da Trajetória ótima em pistas de corrida com r...
Openday PUC-RIO - Determinação da Trajetória ótima em pistas de corrida com r...Opencadd Advanced Technology
 
Openday PUC-RIO - Detecção de Operação Anormal em Aero Geradores
Openday PUC-RIO - Detecção de Operação Anormal em Aero GeradoresOpenday PUC-RIO - Detecção de Operação Anormal em Aero Geradores
Openday PUC-RIO - Detecção de Operação Anormal em Aero GeradoresOpencadd Advanced Technology
 
Openday PUC-RIO - Transmissão de dados pela luz visível
Openday PUC-RIO - Transmissão de dados pela luz visívelOpenday PUC-RIO - Transmissão de dados pela luz visível
Openday PUC-RIO - Transmissão de dados pela luz visívelOpencadd Advanced Technology
 
Indústria 4.0 - Vantagens e Impactos para a sociedade. Fabiana Tarabal
Indústria 4.0 - Vantagens e Impactos para a sociedade. Fabiana TarabalIndústria 4.0 - Vantagens e Impactos para a sociedade. Fabiana Tarabal
Indústria 4.0 - Vantagens e Impactos para a sociedade. Fabiana TarabalOpencadd Advanced Technology
 
Desenvolvimento de software autônomo para determinação e controle de órbita e...
Desenvolvimento de software autônomo para determinação e controle de órbita e...Desenvolvimento de software autônomo para determinação e controle de órbita e...
Desenvolvimento de software autônomo para determinação e controle de órbita e...Opencadd Advanced Technology
 
Simulação e desenvolvimento de algoritmos de tempo real usando Matlab/Simulin...
Simulação e desenvolvimento de algoritmos de tempo real usando Matlab/Simulin...Simulação e desenvolvimento de algoritmos de tempo real usando Matlab/Simulin...
Simulação e desenvolvimento de algoritmos de tempo real usando Matlab/Simulin...Opencadd Advanced Technology
 
Breve histórico da engenharia de sistemas no Brasil e as Iniciativas atuais d...
Breve histórico da engenharia de sistemas no Brasil e as Iniciativas atuais d...Breve histórico da engenharia de sistemas no Brasil e as Iniciativas atuais d...
Breve histórico da engenharia de sistemas no Brasil e as Iniciativas atuais d...Opencadd Advanced Technology
 
Utilização da Engenharia de Requisitos: Onde, quando e como utilizar
Utilização da Engenharia de Requisitos: Onde, quando e como utilizarUtilização da Engenharia de Requisitos: Onde, quando e como utilizar
Utilização da Engenharia de Requisitos: Onde, quando e como utilizarOpencadd Advanced Technology
 

Mais de Opencadd Advanced Technology (20)

Openday PUC-RIO - Indústria 4.0 e aplicação no segmento de ar condicionado
Openday PUC-RIO - Indústria 4.0 e aplicação no segmento de ar condicionadoOpenday PUC-RIO - Indústria 4.0 e aplicação no segmento de ar condicionado
Openday PUC-RIO - Indústria 4.0 e aplicação no segmento de ar condicionado
 
Openday PUC-RIO - Determinação da Trajetória ótima em pistas de corrida com r...
Openday PUC-RIO - Determinação da Trajetória ótima em pistas de corrida com r...Openday PUC-RIO - Determinação da Trajetória ótima em pistas de corrida com r...
Openday PUC-RIO - Determinação da Trajetória ótima em pistas de corrida com r...
 
Openday PUC-RIO - Detecção de Operação Anormal em Aero Geradores
Openday PUC-RIO - Detecção de Operação Anormal em Aero GeradoresOpenday PUC-RIO - Detecção de Operação Anormal em Aero Geradores
Openday PUC-RIO - Detecção de Operação Anormal em Aero Geradores
 
Openday PUC-RIO - Transmissão de dados pela luz visível
Openday PUC-RIO - Transmissão de dados pela luz visívelOpenday PUC-RIO - Transmissão de dados pela luz visível
Openday PUC-RIO - Transmissão de dados pela luz visível
 
Openday PUC-RIO - Engenharia de Requisitos
Openday PUC-RIO - Engenharia de RequisitosOpenday PUC-RIO - Engenharia de Requisitos
Openday PUC-RIO - Engenharia de Requisitos
 
INOVADEF - Apresentação Brigadeiro Romão
INOVADEF - Apresentação Brigadeiro RomãoINOVADEF - Apresentação Brigadeiro Romão
INOVADEF - Apresentação Brigadeiro Romão
 
INOVADEF - Apresentação Marcelo Lopes
INOVADEF - Apresentação Marcelo LopesINOVADEF - Apresentação Marcelo Lopes
INOVADEF - Apresentação Marcelo Lopes
 
INOVADEF - Apresentação Sender Rocha
INOVADEF - Apresentação Sender RochaINOVADEF - Apresentação Sender Rocha
INOVADEF - Apresentação Sender Rocha
 
Apresentação Allyson Chiarini
Apresentação Allyson ChiariniApresentação Allyson Chiarini
Apresentação Allyson Chiarini
 
Apresentação Osvaldo Maia
Apresentação Osvaldo MaiaApresentação Osvaldo Maia
Apresentação Osvaldo Maia
 
Indústria 4.0 - Vantagens e Impactos para a sociedade. Fabiana Tarabal
Indústria 4.0 - Vantagens e Impactos para a sociedade. Fabiana TarabalIndústria 4.0 - Vantagens e Impactos para a sociedade. Fabiana Tarabal
Indústria 4.0 - Vantagens e Impactos para a sociedade. Fabiana Tarabal
 
Licenciamento math works
Licenciamento math worksLicenciamento math works
Licenciamento math works
 
Webinar Classificação Images com MATLAB
Webinar Classificação Images com MATLABWebinar Classificação Images com MATLAB
Webinar Classificação Images com MATLAB
 
Webinar Novidades da Release R2017b
Webinar Novidades da Release R2017bWebinar Novidades da Release R2017b
Webinar Novidades da Release R2017b
 
Desenvolvimento de software autônomo para determinação e controle de órbita e...
Desenvolvimento de software autônomo para determinação e controle de órbita e...Desenvolvimento de software autônomo para determinação e controle de órbita e...
Desenvolvimento de software autônomo para determinação e controle de órbita e...
 
Simulação e desenvolvimento de algoritmos de tempo real usando Matlab/Simulin...
Simulação e desenvolvimento de algoritmos de tempo real usando Matlab/Simulin...Simulação e desenvolvimento de algoritmos de tempo real usando Matlab/Simulin...
Simulação e desenvolvimento de algoritmos de tempo real usando Matlab/Simulin...
 
Breve histórico da engenharia de sistemas no Brasil e as Iniciativas atuais d...
Breve histórico da engenharia de sistemas no Brasil e as Iniciativas atuais d...Breve histórico da engenharia de sistemas no Brasil e as Iniciativas atuais d...
Breve histórico da engenharia de sistemas no Brasil e as Iniciativas atuais d...
 
Utilização da Engenharia de Requisitos: Onde, quando e como utilizar
Utilização da Engenharia de Requisitos: Onde, quando e como utilizarUtilização da Engenharia de Requisitos: Onde, quando e como utilizar
Utilização da Engenharia de Requisitos: Onde, quando e como utilizar
 
Visão Computacional
Visão ComputacionalVisão Computacional
Visão Computacional
 
Webinar SDR
Webinar SDRWebinar SDR
Webinar SDR
 

Último

análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 

Último (20)

análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 

Desenvolvimento de software educacional em MATLAB

  • 2. Pág. 2 EXPERIÊNCIA NA PUC-RIO NO DESENVOLVIMENTO DE SOFTWARE EDUCACIONAL EM MATLAB Luiz Fernando Martha DESENVOLVENDO UM SOFTWARE PARA CÁLCULO ESTRUTURAL EM MATLAB Rafael Rangel
  • 3. Pág. EXPERIÊNCIA NA PUC-RIO NO DESENVOLVIMENTO DE SOFTWARE EDUCACIONAL EM MATLAB 3 • O MATLAB é um ambiente de programação com alto nível de abstração que permite a criação de aplicativos gráficos-interativos com muita rapidez • Professores e alunos podem criar programas de simulação com alta qualidade de interface gráfica com pouco conhecimento de técnicas de computação gráfica • O MATLAB é uma poderosa ferramenta para o ensino de engenharia, matemática, física e química não só pelo ambiente de programação, mas também porque aplicativos educacionais stand-alones podem ser desenvolvidos e utilizados no aprendizado em virtualmente todas as áreas técnico-científicas
  • 4. Pág. 4 • O Instituto Tecgraf/PUC-Rio, seguindo tradição e experiência no desenvolvimento de software educacional para engenharia, está ativo no uso do MATLAB para aumentar sua contribuição na área EXPERIÊNCIA NA PUC-RIO NO DESENVOLVIMENTO DE SOFTWARE EDUCACIONAL EM MATLAB • Outros departamentos e laboratórios também já iniciaram desenvolvimentos de programas educacionais • O Centro Técnico Científico (CTC) da PUC-Rio está atento para essa nova realidade e planeja cursos para desenvolvimento de aplicativos gráficos no ambiente MATLAB • Dois exemplos: e-Mohr: programa gráfico interativo para ensino de círculo de Mohr para estado bidimensional de tensões LESM: Linear Elements Structure Model, software para análise estrutural
  • 5. Pág. e-Mohr2 5 Este programa demostra como funciona o Círculo de Mohr para estado plano de tensões, de uma forma gráfica e interativa. Foi desenvolvido no contexto da programação orientada a objetos (POO). Autor: Emersson Torres (mestrado em Eng. Civil) emersson@aluno.puc-rio.br
  • 6. Pág. Círculo de Mohr 6 Método gráfico para representar o comportamento da tensão em um ponto de um elemento.
  • 7. Pág. Pontos de Controle 7 No programa, as componentes de tensão podem ser ajustadas através da manipulação interativa do mouse.
  • 9. Pág. Classe Emouse 9 mouseMove ebuttonDown ebuttonUp set( gcf, 'windowbuttonmotionfcn', @mouseMove ); set( gcf, 'windowbuttondownfcn', @ebuttonDown ); set( gcf, 'windowbuttonupfcn', @ebuttonUp );
  • 10. Pág. MohrActionPoint 10 Detecta se o ponto do cursor do mouse está em um dos pontos de ação. x = radius * cos( angle ) + xc; y = radius * sin( angle ) + yc; p = inpolygon( mousePX, mousePY, x, y );
  • 11. Pág. 11 DESENVOLVENDO UM SOFTWARE PARA CÁLCULO ESTRUTURAL EM MATLAB
  • 12. Pág. Software para Análise Estrutural 12 • Análise Estrutural: Estudo dos efeitos de cargas sobre estruturas físicas, representadas por modelos simplificados, para a determinação de seus deslocamentos e esforços internos. • Modelo Estrutural: Idealização da estrutura real assumindo diversas hipóteses simplificadoras sobre o seu comportamento que permitam a sua modelagem matemática. • Métodos de Análise: Consistem na discretização de um modelo estrutural em um conjunto de parâmetros cujos valores são calculados para representar as soluções analíticas contínuas, considerando o equilíbrio, a compatibilidade de deslocamentos e as propriedades dos materiais. Ex: Método dos Deslocamentos, Rigidez Direta, Elementos Finitos, etc.
  • 13. Pág. 13 Software para Análise Estrutural Um software de análise estrutural permite o cáculo rápido e preciso dos resultados desejados, além da vizualização dos modelos e resultados através de técnicas de computação gráfica.
  • 14. Pág. 14 Software para Análise Estrutural Um software de análise estrutural permite o cáculo rápido e preciso dos resultados desejados, além da vizualização dos modelos e resultados através de técnicas de computação gráfica.
  • 15. Pág. 15 LESM – Linear Elements Structure Model • Modelos estruturais reticulados. • Método da Rigidez Direta.
  • 16. Pág. 16 LESM – Linear Elements Structure Model • Modelo com desenho da configuração deformada
  • 17. Pág. 17 LESM – Linear Elements Structure Model • Modelo com desenho do diagrama de momentos fletores
  • 18. Pág. 18 Desenvolvimento de um Software de Análise Estrutural Mecânica Computacional = Princípios Mecânicos + Ciência da Computação Mecânica Computacional é a disciplina que utiliza métodos computacionais para estudar fenômenos governados pelos princípios da mecânica. • Obtenção de um modelo matemático do problema. • Criação de um modelo discreto aproximado a partir de um modelo contínuo original • Implementação de um algoritmo para calcular os valores dos parâmetros discretos Busca-se sempre técnicas de programação que visam a maior eficiência computacional para a implementação do método de análise e obtenção dos resultados.
  • 19. Pág. 19 Desenvolvimento de um Software de Análise Estrutural Estágios de Processamento: • Pré-processamento: Fornecimento, captura e preparação dos dados do modelo à ser analisado (interface gráfica). • Processamento: Cálculo dos resultados baseado nos dados fornecidos. • Pós-processamento: Disponibilização dos resultados através de saídas gráficas (sistema gráfico) Dados do modelo Método de análise Resultados numéricos Computação gráfica Resultados gráficos Pré-processamento Processamento de dados Pós-Processamento
  • 20. Pág. 20 • Um código aberto e didático para o ensino do Método da Rigidez Direta. • Priorização da clareza do código em relação à eficiência. • Facilidade no desenvolvimento de uma interface gráfica e visualização dos resultados. Motivação
  • 21. Pág. 21 Vantagens do uso do MATLAB para Aplicações de Mecânica Computacional • Linguagem de programação de alto nível: Nível de abstração elevado, longe do código de máquina e próximo à linguagem humana. MATLAB é uma linguagem de programação interpretada e considerada de 4ª geração.
  • 22. Pág. 22 • Variáveis Matriciais: * Todas as variáveis são interpretadas como matrizes. * Operações matriciais entre as variáveis podem ser executadas facilmente Ex.: [A]{X} = {B} X = B A; Torna muito mais fácil a implementação de um método matricial como é o caso do Método da Rigidez Direta Não é necessário declarar variáveis e seus tipos. Vantagens do uso do MATLAB para Aplicações de Mecânica Computacional
  • 23. Pág. 23 Vantagens do uso do MATLAB para Aplicações de Mecânica Computacional • Ambiente de desenvolvimento integrado: Ambiente de Programação com Orientação a Objetos + Desenvolvimento de Interface + Sistema Gráfico + Álgebra Simbólica
  • 24. Pág. 24 Programação Orientada a Objetos (OOP) OOP permite a expansão do programa sem a alteração de das classes já existentes. Baseia-se na composição e interação de unidades de sotware chamadas objetos. Definições importantes: • Classe: Representa um conjunto de variáveis e funções que agrupam objetos. • Objetos: São instâncias de uma classe. • Atributos: São as variáveis que representam as características dos objetos. • Métodos: São as funções que definem as habilidades de um objeto. • Herança: Permite o aproveitamento do código de uma classe base para implementações específicas em subclasses.
  • 25. Pág. 25 Classes Anm: Implementam funções que se diferenciam entre os tipos de modelo estrutural. Classes Draw: Responsáveis por implementar funções para desenhar o modelo e os diagramas dos resultados. Classe Drv: Classe que dirige o processo de análise e que possui todas as informações do modelo Classes Elem: Implementam funções relacionadas à rigidez que se diferenciam entre os tipos de modelos matemáticos das barras. Classes Lelem: Implementam funções relacionadas ao carregamento que se diferenciam entre os tipos de modelos matemáticos das barras. Classe Material: Classe com as propriedades físicas dos materiais. Classes Print: Responsáveis por imprimir os resultados da análise em forma textual. Classe Section: Classe com as propriedades geométricas das seções transversais. Classe Node: Classe com informações sobre os pontos de discretização do modelo. Organização do programa em arquivos .m com scrpits (rotinas) de código. Programação Orientada a Objetos (OOP)
  • 26. Pág. 26 Programação Orientada a Objetos (OOP) Diagrama de Classes (padrão UML): Apresenta uma visão estática da organização das classes do programa e a forma com a qual elas se relacionam. O MATLAB fornece um ambiente de compilação dos arquivos em um executável stand-alone.
  • 27. Pág. 27 O Ambiente GUIDE Orientação a Eventos • Ambiente para o desenvolvimento de interface gráfica de forma interativa. • Os componentes são adicionados por meio de sistema de drag-and-drop. • Um arquivo .m baseado no paradigma de Orientação a Eventos é automaticamente gerado • O fluxo do código é guiado por indicações externas chamadas eventos. • Eventos são as diferentes ações que usuários podem realizar sobre os componentes adicionados à interface. • Cada evento está associado à uma função chamada Callback, disparada quando se verifica a ocorrência de tal evento, que define a reação do programa. Button1_click_CallbackFuntion {...} Button2_click_CallbackFuntion {...} Button3_click_CallbackFuntion {...}Click
  • 28. Pág. 28 Livescript e Álgebra Simbólica • Ambiente de manipulação de equações matemáticas e expressões em forma simbólica. • Utilizado para gerar as expressões dos modelos matemáticos que representam o comportamento das barras.
  • 29. Pág. 29 Documentação • O comando Publish: A documentação do código é geralmente feita através de comentários, sendo importante para deixá-lo claro e compreensível. O MATLAB, através de uma certa disciplina de comentários e o comando Publish, permite criar arquivos formatados apresentáveis para serem publicados e compartilhados. Arquivo .m Arquivo .html
  • 30. Pág. 30 • Diagramas UML (Unified Modeling Language): Auxiliam a vizualização da comunicação entre as classes e objetos do programa, através de diagramas padronizados. Documentação www.tecgraf.puc-rio/lesm Diagrama de Atividade Diagrama de Sequência
  • 31. Pág. OBRIGADO! Luiz Fernando Martha – lfm@tecgraf@puc-rio.br Rafael Lopez Rangel – rafaelrangel@tecgraf.puc-rio.br www.tecgraf.puc-rio/lesm