Equações Quadráticas
(EXERCÍCIO 01) Ao digitar os coeficientes de uma equação quadrática no MATLAB, serão mostradas as raízes dessa equação e o vértice. E ainda será gerado um gráfico, onde estarão destacados as raízes da equação e o vértice.
Digitamos os coeficientes da equação: x^2 - 5x + 6 = 0, e obtemos as raízes e o vértice.
ALGORITMO
% Pedindo os coeficientes da equação
a = input('Digite o coeficiente a: ');
b = input('Digite o coeficiente b: ');
c = input('Digite o coeficiente c: ');
% Calculando as raízes e o vértice
delta = b^2 - 4*a*c;
if delta > 0
x1 = (-b + sqrt(delta))/(2*a);
x2 = (-b - sqrt(delta))/(2*a);
disp(['As raízes são: x1 = ', num2str(x1), ' e x2 = ', num2str(x2)]);
elseif delta == 0
x = -b/(2*a);
disp(['A raiz é: x = ', num2str(x)]);
else
disp('A equação não possui raízes reais.');
end
% Calculando o vértice
xv = -b/(2*a);
yv = a*xv^2 + b*xv + c;
disp(['O vértice é: (', num2str(xv), ',', num2str(yv), ')']);
% Plotando o gráfico
x = linspace(-10,10,1000);
y = a*x.^2 + b*x + c;
figure;
plot(x,y);
grid on;
hold on;
if delta > 0
plot([x1,x2],[0,0],'ro','LineWidth',2);
elseif delta == 0
plot(x,0,'ro','LineWidth',2);
end
plot(xv,yv,'go','LineWidth',2);
xlabel('Eixo X');
ylabel('Eixo Y');
title('Gráfico da Equação Quadrática');
Utilizando o algoritmo, para encontrar as raízes da equação x^2 - 4*x + 3 = 0, destacando os vértices e as raízes graficamente.
Aproximação de raízes de equações (Método da Bissecção)
(EXERCÍCIO 02) Ao digitar uma equação na forma , @(x) x^3 - 3*x +1, no MATLAB, escolhendo um intervalo [0.1] onde estão presentes as raízes da equação obteremos as raízes aproximadas dessa equação de acordo com as iterações que escolhemos, e poderemos visualizar esse resultado graficamente.
A equação deve ser digitada no formato: @(x) x^3 - 3*x +1
ALGORITMO
% Pedir ao usuário que digite a equação
equation = input('Digite a equação na forma @(x) f(x): ');
% Pedir ao usuário que digite o intervalo inicial
a = input('Digite o valor inicial do intervalo: ');
b = input('Digite o valor final do intervalo: ');
% Pedir ao usuário que digite o número máximo de iterações
max_iter = input('Digite o número máximo de iterações: ');
% Executar o método da bissecção
for i = 1:max_iter
c = (a + b)/2;
if equation(c) == 0
break
elseif equation(c)*equation(a) < 0
b = c;
else
a = c;
end
end
% Traçar o gráfico da equação e destacar o intervalo e a aproximação encontrada
fplot(equation, [a, b]);
hold on;
plot([a, b], [0, 0], 'r--');
plot(c, 0, 'go', 'MarkerSize', 10);
hold off;
grid on;
% Imprimir o valor de c e o número de iterações necessárias
fprintf('O valor aproximado da raiz é %.6f.\nForam necessárias %d iterações.\n', c, i);
Aproximação de raízes de equações (Método de Newton-Raphson)
(EXERCÍCIO 03) Ao digitar uma equação na forma , @(x) x^3 - 3*x +1, no MATLAB, escolhendo um intervalo [0;1] onde estão presentes as raízes da equação obteremos as raízes aproximadas dessa equação de acordo com as iterações que escolhemos, e poderemos visualizar esse resultado graficamente.
ALGORITMO
% Pedir ao usuário que digite a equação
equation = input('Digite a equação na forma @(x) f(x): ');
% Pedir ao usuário que digite o valor inicial
x0 = input('Digite o valor inicial: ');
% Definir o número máximo de iterações
max_iter = 20;
% Definir a tolerância desejada
tolerance = 1e-6;
% Executar o método de Newton-Raphson
for i = 1:max_iter
f = equation(x0);
df = (equation(x0 + tolerance) - equation(x0 - tolerance)) / (2 * tolerance);
x1 = x0 - f/df;
if abs(x1 - x0) < tolerance
break
end
x0 = x1;
end
% Imprimir os resultados
fprintf('A aproximação encontrada é %.6f.\nForam necessárias %d iterações.\n', x1, i);
% Traçar o gráfico da equação
figure;
fplot(equation, [-10 10]);
hold on;
plot([x1 x1], ylim, 'r--');
xlabel('x');
ylabel('f(x)');
title('Gráfico da Equação');
% Adicionar legenda
legend('Equação', 'Aproximação Encontrada');
Postar um comentário