Exercícios Resolvidos de Criação de polinômios

Ver Teoria

Enunciado

O limite de escoamento de muitos metais depende do tamanho das partículas. Para esses metais, a relação entre o limite de escoamento e o diâmetro médio das partículas pode ser modelada pela equação de Hall-Petch conforme mostrado abaixo:

σ y = σ 0 + k * d

Através de ensaios experimentais foram obtidos os seguintes resultados:

Utilize os dados experimentais e calcule o valor de σ 0 e de k .

Passo 1

A questão nos deu dois vetores de dados e pede para encontrarmos o valor das constantes correspondentes na fórmula dada.

Pra resolver, precisamos usar o método de interpolação linear através da função p o l y f i t para encontrar o polinômio que melhor se ajusta aos dados experimentais. Uma vez que conseguimos encontrar esse polinômio, por comparação vimos que o coeficiente linear corresponde ao σ 0 enquanto o coeficiente angular corresponde ao k .

Mas você talvez tenha reparado que na tabela temos o diâmetro ( d ) , enquanto a fórmula tem esse termo dentro de uma raiz ( d ) . Será que isso dá problema nos nossos cálculos?

Olha só, se em vez de ajustarmos σ y em função de d diretamente, nós calcularmos a raiz em cada ponto e ajustarmos σ y em função de d , dá tudo certo!

Então é isso que iremos fazer e o algoritmo fica algo mais ou menos assim:

  1. Entrada de dados (inserir os vetores dado da questão)
  2. Cálculo do x = d
  3. Programação do ajuste utilizando a função p o l y f i t
  4. Criação de uma saída de dados para comprar o polinômio com os dados experimentais.

Passo 2

Transformando o algoritmo em programação no Matlab vamos inserir os seguintes pontos:

Primeiramente vamos inserir vetores de dados:

s i g m a = 205   150   135   97   89

d = 0.005   0.009   0.016   0.040   0.062 ;

Agora vamos criar o vetor X que é calculado pela seguinte expressão:

X = s q r t ( d )

Agora vamos inserir a função p o l y f i t para o cálculo do polinômio:

p = p o l y f i t X , s i g m a , 1 ;

Nessa função, os dois primeiros termos dentro dos parênteses representam o conjunto de dados que serão ajustados, no nosso caso s i g m a em relação a X , e por último vem o termo que indica o grau do polinômio que será gerado, no nosso caso 1 .

Passo 3

Uma vez que criamos as funções vamos gerar a saída de dados que corresponde a criação dos seguintes elementos de código:

Como vamos criar um gráfico, vamos criar um vetor no mesmo intervalo dos pontos do eixo x com muitos pontos para gerar uma curva contínua:

x = 0.07 : 0.01 : 0.25 ;

Agora, precisamos calcular o valor correspondente do polinômio a cada um dos valores de x que definimos, pra isso usamos a função p o l y v a l .

Nela, o primeiro termo representa os coeficientes do polinômio e são dados pelo p que calculamos com a função p o l y f i t , enquanto o segundo termo é o valor ou conjunto de valores que vão entrar nesse polinômio, no nosso caso é o vetor x que acabamos de definir:

y = p o l y v a l p , x

Agora vamos criar dois plot juntos, o primeiro com os valores de X e s i g m a que usamos para encontrar o polinômio e o segundo com os valores de x e y que representam a reta que encontramos através da interpolação linear:

p l o t X , s i g m a , x , y

x l a b e l ' r a i z ( d   e m   m m ) '

y l a b e l ( ' L i m i t e   d e   e s c o a m e n t o   e m   M p a ' )

l e g e n d ( ' d a d o s   e x p e r i m e n t a i s ' , ' P o l i n o m i o ' )

O código completo em Matlab deve ficar algo mais ou menos assim:

E gerando o seguinte gráfico:

Cujo os coeficientes são dados pelos seguintes valores:

Resposta

Analisando os coeficientes obitidos pelo ajuste dos dados experimentais podemos concluir que:

σ 0 = 220.9931   M p a

k = - 578.8474 M p a m m 1 / 2