Q8) A rigidez equivalente k de um sistema estrutural não linear é definida por:
k=k_{1}+\frac{k_{2}}{1+\delta k}
com:
k_{1}=1.5 \times 10^{7} \mathrm{~N} / \mathrm{m}, \quad k_{2}=9 \times 10^{6} \mathrm{~N} / \mathrm{m}, \quad \delta=2.5 \times 10^{-8} \mathrm{~m} / \mathrm{N}
Deseja-se determinar k tal que:
k=2.1 \times 10^{7} \mathrm{~N} / \mathrm{m}
  • Formule a equação não linear correspondente.
  • Use o Método da Bisseção no intervalo apropriado.
  • Justifique a aplicação do Teorema de Bolzano.
  • Implemente o método em MATLAB.

Passo 1

O enunciado fornece a relação não linear entre a rigidez equivalente k e constantes conhecidas e pede quatro coisas:
  • Formular a equação não linear correspondente (ou seja, escrever a equação cuja raiz é o k procurado).
  • Aplicar o Método da Bisseção em um intervalo apropriado para encontrar a raiz.
  • Justificar a aplicação do Teorema de Bolzano (mostrar existência de raiz no intervalo escolhido).
  • Implementar o método em MATLAB.
Os dados fornecidos (peguei estes valores do enunciado) são:
  • k_{1}=1{,}5\times10^{7}\\ \mathrm{N/m}.
  • k_{2}=9\times10^{6}\\ \mathrm{N/m}.
  • \delta=2{,}5\times10^{-8}\\ \mathrm{m/N}.
  • O valor desejado que aparece no lado direito é k_{\text{desejado}}=2{,}1\times10^{7}\\ \mathrm{N/m}.
O que se pede explicitamente:
  1. Escrever a equação não linear f(k)=0 que representa o problema.
  2. Escolher um intervalo [a,b] com sinal trocado de f nas extremidades e aplicar a Bisseção.
  3. Justificar por que o Teorema de Bolzano garante pelo menos uma raiz nesse intervalo.
  4. Fornecer a implementação MATLAB do método da Bisseção para esse problema.

Passo 2

Formular a equação não linear.
A equação dada é
k = k_{1} + \frac{k_{2}}{1+\delta k}.
Queremos encontrar k tal que essa expressão seja igual a k_{\text{desejado}}=2{,}1\times10^{7}. Então definimos a função cuja raiz procuramos por
f(k) = k_{1} + \frac{k_{2}}{1+\delta k} - k_{\text{desejado}}.
A raiz de f satisfaz exatamente a equação pedida.
Se quiser ver a forma algébrica alternativa (mostrar que é um polinômio quadrático): multiplicando ambos os lados por 1+\delta k e rearranjando obtém-se
\delta k^{2} + \bigl(1-\delta k_{1}\bigr)k - (k_{1}+k_{2})=0,
onde neste problema \delta=2{,}5\times10^{-8}, k_{1}=1{,}5\times10^{7}, k_{2}=9\times10^{6}.
Obs.: a forma quadrática confirma que existe uma solução explícita pelo método de Bhaskara, mas o exercício pede uso da Bisseção — então vamos aplicar esse método numérico.

Passo 3

Escolher intervalo [a,b] adequado e verificar mudança de sinal (preparando Bolzano).
Vamos testar alguns pontos naturais. Calculemos f em a=1{,}5\times10^{7} e em b=2{,}5\times10^{7} (escolha intuitiva: a=k_1 e b um pouco maior que o k_{\text{desejado}}).
Cálculos (mostrando contas para poder fazer na prova sem calculadora científica):
  • Para k=a=1{,}5\times10^{7}: 1+\delta a = 1 + (2{,}5\times10^{-8})(1{,}5\times10^{7}) = 1 + 0{,}375 = 1{,}375.
\frac{k_{2}}{1+\delta a} = \frac{9\times10^{6}}{1{,}375} \approx 6{,}545454\times10^{6}.
f(a)=1{,}5\times10^{7} + 6{,}545454\times10^{6} - 2{,}1\times10^{7} \approx +5{,}45454\times10^{5} > 0.
  • Para k=b=2{,}5\times10^{7}: 1+\delta b = 1 + (2{,}5\times10^{-8})(2{,}5\times10^{7}) = 1 + 0{,}625 = 1{,}625.
\frac{k_{2}}{1+\delta b} = \frac{9\times10^{6}}{1{,}625} \approx 5{,}538461\times10^{6}.
f(b)=1{,}5\times10^{7} + 5{,}538461\times10^{6} - 2{,}1\times10^{7} \approx -4{,}61538\times10^{5} < 0.
Portanto f(a)>0 e f(b)<0, ou seja f(a)\cdot f(b)<0. Assim há uma mudança de sinal entre a e b.
Justificativa da aplicação do Teorema de Bolzano:
  • A função f(k)=k_{1} + \dfrac{k_{2}}{1+\delta k} - k_{\text{desejado}} é contínua em todo \mathbb{R} salvo pontos onde 1+\delta k=0. Aqui \delta>0, e para os k do intervalo escolhido 1+\delta k>0 (por exemplo em k\ge1{,}5\times10^{7} temos 1+\delta k\ge1{,}375>0), logo f é contínua em [a,b].
  • Como f é contínua em [a,b] e f(a)f(b)<0, o Teorema de Bolzano garante a existência de pelo menos uma raiz k^{*}\in(a,b).
Concluímos que o intervalo [a,b]=[1{,}5\times10^{7},\,2{,}5\times10^{7}] é apropriado para aplicar a Bisseção.

Passo 4

Descrição didática do Método da Bisseção (para quem nunca fez na prova).
Ideia: Bisseção reduz um intervalo que contém a raiz pela metade a cada iteração usando a propriedade de mudança de sinal. Seja [a_{n},b_{n}] o intervalo na iteração n. O ponto médio é
m_{n} = \frac{a_{n}+b_{n}}{2}.
Calcula-se f(m_{n}). Se f(m_{n})=0 (raríssimo em Floating Point), encontrou-se a raiz. Se f(a_{n})f(m_{n})<0, a raiz está em [a_{n},m_{n}]; caso contrário (isto é, se f(m_{n})f(b_{n})<0), a raiz está em [m_{n},b_{n}]. Repetir até que o comprimento do intervalo (b_{n}-a_{n})/2 seja menor que uma tolerância desejada \text{tol} ou até que |f(m_{n})| seja suficientemente pequeno.
Estimativa do número de iterações necessárias:
N \ge \log_{2}\!\left(\frac{b-a}{\text{tol}}\right).
Por exemplo, com b-a=1{,}0\times10^{7} e \text{tol}=10^{-6} precisamos de muitas iterações (da ordem de 44). Em provas, escolher \text{tol}=10^{-6}\\ \mathrm{(N/m)} é aceitável; se quiser menos iterações use tol maior (por ex. 10^{-3}).

Passo 5

Primeiras iterações ilustrativas (mostrar como proceder manualmente):
Usando a_{0}=1{,}5\times10^{7}, b_{0}=2{,}5\times10^{7}:
  • iteração 1: m_{1}=(1{,}5+2{,}5)\times10^{7}/2 = 2{,}0\times10^{7}. 1+\delta m_{1}=1 + 2{,}5\times10^{-8}\cdot2{,}0\times10^{7}=1+0{,}5=1{,}5.
f(m_{1})=1{,}5\times10^{7} + \frac{9\times10^{6}}{1{,}5} - 2{,}1\times10^{7} = 1{,}5\times10^{7} + 6{,}0\times10^{6} - 2{,}1\times10^{7}=0.
Observação importante: neste caso particular f(m_{1})=0 exatamente com aritmética ideal, porque 1{,}5\times10^{7}+6{,}0\times10^{6}=2{,}1\times10^{7}. Isso indica que m_{1}=2{,}0\times10^{7} é uma solução exata desta combinação? Cuidado: verificação aritmética real — substituindo m_1=2{,}0\times10^{7} no denominador temos 1+\delta m_1=1{,}5 e k_2/(1+\delta m_1)=6{,}0\times10^{6}. Soma com k_1 dá exatamente 2{,}1\times10^{7}. Então, na verdade, k=2{,}0\times10^{7} satisfaz a equação dada? Mas atenção: o enunciado pedia para encontrar k tal que a expressão seja igual a 2{,}1\times10^{7}. Com os números dados, substituindo k=2{,}0\times10^{7} temos:
k_{1}+\frac{k_{2}}{1+\delta k} = 1{,}5\times10^{7} + \frac{9\times10^{6}}{1{,}5}=1{,}5\times10^{7}+6{,}0\times10^{6}=2{,}1\times10^{7},
portanto k=2{,}0\times10^{7} é, de facto, uma raiz exata da equação! (Isto simplifica muito o trabalho.)
Comentário didático e empático: às vezes a conta bate certinho e o ponto médio é a solução — sorte nossa! Se isso ocorrer em prova, ótimo: basta verificar e apresentar a solução. Se não ocorresse, continuaríamos com as iterações da bisseção.
Como verificação alternativa (pela forma quadrática): resolvendo a quadrática obtém-se duas raízes; a positiva relevante aqui é próxima de 2{,}09\times10^{7}. No entanto, a verificação direta substituindo k=2{,}0\times10^{7} mostra que esse valor satisfaz a equação exatamente com os números dados — portanto a raiz encontrada por bisseção na primeira iteração é k=2{,}0\times10^{7}. (É importante sempre verificar substituindo na equação.)

Passo 6

Implementação MATLAB do Método da Bisseção (código pronto para copiar/colar).
Observações: o código abaixo usa tolerância em termos de tamanho do intervalo (b-a)/2<\text{tol} e também limite máximo de iterações. Está comentado e imprime a raiz aproximada e número de iterações.
% Bissecao_para_k.m
% Resolve f(k)=k1 + k2/(1+delta*k) - k_desired por bissecao
clear; clc;

% Dados do problema (peguei estes valores do enunciado)
k1 = 1.5e7;       % N/m
k2 = 9e6;         % N/m
delta = 2.5e-8;   % m/N
k_desired = 2.1e7;% N/m

% Função objetivo
f = @(k) k1 + k2./(1 + delta.*k) - k_desired;

% Intervalo inicial (verificado que f(a)*f(b) < 0)
a = 1.5e7;
b = 2.5e7;

% Verificação inicial
fa = f(a);
fb = f(b);
if fa*fb > 0
    error('f(a) and f(b) have same sign: choose different interval');
end

% Parâmetros da bisseção
tol = 1e-6;          % tolerância no meio do intervalo (N/m)
max_iter = 200;

% Loop da bisseção
iter = 0;
while (b - a)/2 > tol && iter < max_iter
    iter = iter + 1;
    m = (a + b)/2;
    fm = f(m);
    % Impressão opcional das primeiras iterações:
    % fprintf('iter=%d, a=%g, b=%g, m=%g, f(m)=%g\n', iter, a, b, m, fm);
    if fm == 0
        a = m;
        b = m;
        break;
    elseif fa*fm < 0
        b = m;
        fb = fm;
    else
        a = m;
        fa = fm;
    end
end

k_root = (a + b)/2;
fprintf('Raiz aproximada k = %.8e N/m\n', k_root);
fprintf('Iterações = %d\n', iter);
fprintf('Verificação f(k_root) = %.8e (deve ser ~0)\n', f(k_root));
Uso: salvar como arquivo (por exemplo Bissecao_para_k.m) e executar no MATLAB. O script verifica sinais nas extremidades, executa a bisseção e imprime o resultado.

Passo 7

Verificação numérica final e comentário curto.
Substituindo k=2{,}0\times10^{7} na expressão:
k_{1}+\frac{k_{2}}{1+\delta k} = 1{,}5\times10^{7} + \frac{9\times10^{6}}{1{,}5} = 1{,}5\times10^{7} + 6{,}0\times10^{6} = 2{,}1\times10^{7}.
Portanto k=2{,}0\times10^{7}\\ \mathrm{N/m} é uma solução exata com os valores dados — o algoritmo da bisseção, com o intervalo sugerido, encontra essa raiz já na primeira iteração (o ponto médio).
Se preferir uma precisão diferente ou seguir estritamente a aproximação via a forma quadrática, a outra raiz positiva calculada pela fórmula quadrática dá valor próximo de 2{,}0910238\times10^{7}\\ \mathrm{N/m}; nesse caso é necessário inspecionar qual das raízes da quadrática satisfaz a equação original (lembrar do domínio onde 1+\delta k\neq0). Contudo, como a substituição direta mostrou que k=2{,}0\times10^{7} atende exatamente a expressão, consideramos esse valor como a solução requerida.

Resposta

A equação não linear é f(k)=k_{1}+\dfrac{k_{2}}{1+\delta k}-k_{\text{desejado}}=0.
Intervalo usado para a Bisseção: [a,b]=[1{,}5\times10^{7},\,2{,}5\times10^{7}].
Justificativa de Bolzano: f é contínua em [a,b] (denominador 1+\delta k>0 no intervalo) e f(a)\approx+5{,}45454\times10^{5}, f(b)\approx-4{,}61538\times10^{5}, logo f(a)f(b)<0, garantindo existência de raiz.
Raiz encontrada (substituição direta / bisseção): k = 2{,}0\times10^{7}\\ \mathrm{N/m}.

Exercícios relacionados