Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Codigo Matlab COrtante, Provas de Tecnologia de Informação

Matlab codes shear force and momem tum

Tipologia: Provas

2020

Compartilhado em 11/05/2020

joaeo-nery-7
joaeo-nery-7 🇧🇷

1 documento

1 / 12

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Código no MATLAB para o traçado de diagrama deCódigo no MATLAB para o traçado de diagrama de
esforço cortante e momento fletoresforço cortante e momento fletor
IntroduçãoIntrodução
O programa é constituído por uma rotina (M-file) e umaO programa é constituído por uma rotina (M-file) e uma
função, intitulados decdmf e funcsing, respectivamente. Foifunção, intitulados decdmf e funcsing, respectivamente. Foi
desenvolvido tendo como base a teoria das funções singulares,desenvolvido tendo como base a teoria das funções singulares,
facilmente encontrada em qualquer livro de Resistência dosfacilmente encontrada em qualquer livro de Resistência dos
Materiais ou projetos mecânicosMateriais ou projetos mecânicos
Propiciar um traçado ágil e fácil dos diagramas, tendo comoPropiciar um traçado ágil e fácil dos diagramas, tendo como
único esforço o esboço do diagrama de corpo livre para aúnico esforço o esboço do diagrama de corpo livre para a
consequente montagem da matriz solicitações S.consequente montagem da matriz solicitações S.
CódigoCódigo
No MATLAB, selecione para criar um novoNo MATLAB, selecione para criar um novo
scriptscript
, cole e salve os, cole e salve os
dois códigos a seguir, separadamente, cada um em dois códigos a seguir, separadamente, cada um em
um arquivoum arquivo
distintodistinto
decdmfdecdmf
clearclear
aa
cc
dxdx
ii
II
I_rowI_row
I_colI_col
kk
LL
mm
M0M0
M1M1
nn
q0q0
q1q1
t1t1
t2t2
V0V0
V1V1
xcxc
yy
y1y1
bb
MM
MmaxMmax
qq
SS
VV
VmaxVmax
xx
% Usar unidades padrão (N e m para SI).Para o sistema imperial, as% Usar unidades padrão (N e m para SI).Para o sistema imperial, as
legendas continuarão a apresentar os símbolos em Silegendas continuarão a apresentar os símbolos em Si
% S=[c1 y1 a1 b1;c2 y2 a2 b2;... ] Matriz solicitações onde c é o tipo de% S=[c1 y1 a1 b1;c2 y2 a2 b2;... ] Matriz solicitações onde c é o tipo de
% função singular, y a intensidade da solicitação(com sinal), 'a' o seu% função singular, y a intensidade da solicitação(com sinal), 'a' o seu
posicionamento na viga tendo como origem a extremidade esquerdaposicionamento na viga tendo como origem a extremidade esquerda
% b: posição em x onde termina o carregamento (uniforme ou linear); para% b: posição em x onde termina o carregamento (uniforme ou linear); para
qualquer outro tipoqualquer outro tipo
% %
de de
solicitação, solicitação,
deixar deixar
o o
campo campo
com com
valor valor
= =
00
% L: comprimento da viga% L: comprimento da viga
S=input(S=input(
'Entre com a matriz mx4 de solicitações: ''Entre com a matriz mx4 de solicitações: '
););
L=input(L=input(
'Comprimento da viga: ''Comprimento da viga: '
););
i=0;i=0;
dx=L/(3e3);dx=L/(3e3);
%incremento%incremento
xc=-dx;xc=-dx;
%incremento usado no vetor x%incremento usado no vetor x
[m,n]=size(S);[m,n]=size(S);
% m é a qtd de linhas (solicitações) na matriz S% m é a qtd de linhas (solicitações) na matriz S
n=L/dx;n=L/dx;
%número subintervalos de x%número subintervalos de x
t1=0;t1=0;
%teste 1%teste 1
t2=0;t2=0;
%teste 2%teste 2
pf3
pf4
pf5
pf8
pf9
pfa

Pré-visualização parcial do texto

Baixe Codigo Matlab COrtante e outras Provas em PDF para Tecnologia de Informação, somente na Docsity!

CódigoCódigo nono MATLABMATLAB parapara oo traçadotraçado dede diagramadiagrama dede

esforçoesforço cortantecortante ee momentomomento fletorfletor

IntroduçãoIntrodução

OO programaprograma éé constituídoconstituído porpor umauma rotinarotina (M-file)(M-file) e umae uma

função,função, intituladosintitulados decdmfdecdmf ee funcsing,funcsing, respectivamente.respectivamente. FoiFoi

desenvolvidodesenvolvido tendotendo comocomo basebase aa teoriateoria dasdas funçõesfunções singulares,singulares,

facilmentefacilmente encontradaencontrada emem qualquerqualquer livrolivro dede ResistênciaResistência dosdos

MateriaisMateriais ouou projetosprojetos mecânicosmecânicos

ObjetivoObjetivo

PropiciarPropiciar umum traçadotraçado ágilágil ee fácilfácil dosdos diagramas,diagramas, tendotendo comocomo

únicoúnico esforçoesforço oo esboçoesboço dodo diagramadiagrama dede corpocorpo livrelivre parapara aa

consequenteconsequente montagemmontagem dada matrizmatriz solicitaçõessolicitações S.S.

CódigoCódigo

No MATLAB, selecione para criar um novoNo MATLAB, selecione para criar um novo scriptscript,, colecole ee salvesalve osos

dois códigos a seguir, separadamente, cada um emdois códigos a seguir, separadamente, cada um em um arquivoum arquivo

distintodistinto

decdmfdecdmf

clearclear aa cc dxdx ii II I_rowI_row I_colI_col kk LL mm M0M0 M1M1 nn q0q0 q1q1 t1t1 t2t2 V0V0 V1V1 xcxc yy y1y1 bb MM MmaxMmax qq SS VV VmaxVmax xx %% UsarUsar unidadesunidades padrãopadrão (N(N ee mm parapara SI).ParaSI).Para oo sistemasistema imperial,imperial, asas legendaslegendas continuarãocontinuarão aa apresentarapresentar osos símbolossímbolos emem SiSi %% S=[c1S=[c1 y1y1 a1a1 b1;c2b1;c2 y2y2 a2a2 b2;...b2;... ]] MatrizMatriz solicitaçõessolicitações ondeonde cc éé oo tipotipo dede %% funçãofunção singular,singular, yy aa intensidadeintensidade dada solicitação(comsolicitação(com sinal),sinal), 'a''a' oo seuseu posicionamentoposicionamento nana vigaviga tendotendo comocomo origemorigem aa extremidadeextremidade esquerdaesquerda %% b:b: posiçãoposição emem xx ondeonde terminatermina oo carregamentocarregamento (uniforme(uniforme ouou linear);linear); parapara qualquerqualquer outrooutro tipotipo %% dede solicitação,solicitação, deixardeixar oo campocampo comcom valorvalor == 00 %% L:L: comprimentocomprimento dada vigaviga S=input(S=input('Entre'Entre comcom aa matrizmatriz mx4mx4 dede solicitações:solicitações: '');); L=input(L=input('Comprimento'Comprimento dada viga:viga: '');); i=0;i=0; dx=L/(3e3);dx=L/(3e3); %incremento%incremento xc=-dx;xc=-dx; %incremento%incremento usadousado nono vetorvetor xx [m,n]=size(S);[m,n]=size(S); %% mm éé aa qtdqtd dede linhaslinhas (solicitações)(solicitações) nana matrizmatriz SS n=L/dx;n=L/dx; %número%número subintervalossubintervalos dede xx t1=0;t1=0; %teste%teste 11 t2=0;t2=0; %teste%teste 22

plot(x,y1,'-','color','k') hold on plot(x,q,'-','color','r'); hold off xlabel('(m)'); ylabel('w(N/m)','rotation',0); grid; subplot(3,1,2); plot(x,y1,'-','color','k') hold on plot(x,V,'-','color','r'); hold off xlabel('(m)'); ylabel('V(N)','rotation',0); grid; text(Vmax(1),Vmax(2),'\it V_{max}'); %inserir coord. de Vmax subplot(3,1,3); plot(x,y1,'-','color','k') hold on plot(x,M,'-','color','r'); hold off xlabel('(m)'); ylabel('M(N.m)','rotation',0); grid; text(Mmax(1),Mmax(2),'\it M_{max}'); %inserir coord. de Mmax clear a b c dx i I I_row I_col k L m M0 M1 n q0 q1 t1 t2 V0 V1 xc y y fprintf('\nEsforço Cortante \nx= %.3e(m), Vmax= %.3e(N)\nMomento Fletor \nx= %.3e(m), Mmax= %.3e(N.m)\n',Vmax(1),Vmax(2),Mmax(1),Mmax(2));

Sub-rotina funcsing (função)

function [y] = funcsing (c,a,b,x,f,dx) %funcsing sub-rotina funções singulares %Calcula o valor para funções singulares %Entrar com a matriz linha A=[c y a] e o escalar x, sendo: % A: %c: tipo da função singular %ex.: c= -2 (doublet unitária) %ex.: c= -1 (impulso delta Dirac) %ex.: c= 0 (degrau unitária Heaviside) %ex.: c= 1 (rampa unitária) %y: intensidade da solicitação %a: posição inicial em x da solicitação % x: posição para a qual se necessita saber q, V e M % f: tipo de função (q,v,M)=(1,2,3) y=0; dx1=dx*0.505; switch c case -2 % doublet unitária (momento de binário) switch f case 1 %q (x-a)^-

y=0; case 2 %V (x-a)^- y=0; case 3 %M (x-a)^ if x>=a y=1; else y=0; end end case -1 % impulso, deltaDirac (carga concentrada) switch f case 1 % (x-a)^- if abs(x-a)<dx y=1; else y=0; end case 2 % (x-a)^ if x>=a y=1; else y=0; end case 3 % (x-a)^ if x>=a y=(x-a); else y=0; end end case 0 % degrau unitário, Heaviside (carregamento uniforme) switch f case 1 % (x-a)^ if x>=a && x=b y=0; else y=0; end case 2 % (x-a)^ if x>=a && x=b y=(x-a)-(x-b); else y=0; end

direcionada para baixo na extremidade direita (B), com 2 m de

comprimento, temos as seguintes solicitações:

 = − 2 [.]

 = 1 []

 = −1 []

Matriz S=[-1 10^3 0 0;-2 -2*10^3 0 0;-1 -10^3 2 0];

Cada linha da matriz representa uma solicitação, sendo essa

linha composta por: [ c y a b], sendo:

c: tipo de solicitação, -2 para momentos; -1 cargas pontuais;

0 carregamentos uniformes, 1 carregamentos lineares.

y: intensidade da solicitação (com sinal).

a:^ posicionamento^ da^ solicitação^ na^ viga,^ tendo^ como origem^ a

extremidade esquerda.

b: para carregamentos distribuídos, determina a posição onde

termina o carregamento (para solicitação que não são

carregamentos distribuídos, b=0).

Considerações finais

Apesar de sua limitação em relação aos tipos de carregamentos que

podem ser utilizados no programa, na prática isso não constitui um

problema, pois grande parte dos carregamentos são uniformes,

lineares ou uma combinação de ambos. O código pode ainda ser

melhorado, implementando a função que corresponde à inclinação da

viga, y’(x), e sua deflexão, y(x), (ver NORTON, pg. 163).

Referências

BEER,Ferdinand P.; JOHNSTON, E. Russel. Mechanics of Materials, 7ª

ed., Mc Graw Hill, 2015

SHIGLEY, Joseph E.. Projeto de Engenharia Mecânica 7ª ed.,

Bookman, 2005;

NORTON, Robert L..Projetos de Máquinas, 4ª ed., Bookman, 2013.