Escolar Documentos
Profissional Documentos
Cultura Documentos
Questiones
Questiones
E.01) Escreva um programa que permita ao usuário digitar um valor x aleatório e obter a
imagem de x pela função f(x)= 2x-3 se x<0 | 4 se 0<=x<=3 | sqrt(x-3) se x>=3
M-File pp1.m
function pp1
disp 'Pré-Prova 1';
disp 'Exercício 1';
disp 'F(x) = 2x-3, x<0';
disp ' 4, 0<=x<3';
disp ' sqrt(x-3), x>=3';
x=input('Digite um valor para x\nx=');
if x<0
disp 'como x<0, y=2*x-3'
y=2*x-3
elseif x>=0 & x<3
disp 'como x 0<=x<4, y=4'
y=4
else
disp 'como x>=3, y=sqrt(x-3)'
y=sqrt(x-3)
end
Testando no MATLAB:
>> pp1
Pré-Prova 1
Exercício 1
4, 0<=x<3
sqrt(x-3), x>=3
x=-2
y=
-7
>> pp1
Pré-Prova 1
Exercício 1
4, 0<=x<3
sqrt(x-3), x>=3
x=0
y=
>> pp1
Pré-Prova 1
Exercício 1
4, 0<=x<3
sqrt(x-3), x>=3
x=2
y=
>> pp1
Pré-Prova 1
Exercício 1
4, 0<=x<3
sqrt(x-3), x>=3
y=
>> pp1
Pré-Prova 1
Exercício 1
4, 0<=x<3
sqrt(x-3), x>=3
x=4
y=
x=0:0.01:10;
y=4*cos(x)-exp(x);
plot(x,y),grid
4
x 10
0.5
-0.5
-1
-1.5
-2
-2.5
0 1 2 3 4 5 6 7 8 9 10
-1
-2
-3
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
>> % O que me permite concluir que a raiz existe para x entre [0.8,1]
Construo então a MFile com tolerância setada para tol=10^(-4)
function pp6
>> pp6
DICA: Pelo gráfico pode-se observar que ela está para x entre o.8 e 1.
a=0.8
b=1
Número de Iterações Necessárias
n=
11
Iterações executadas
C=
0.900000000000000
0.950000000000000
0.925000000000000
0.912500000000000
0.906250000000000
0.903125000000000
0.904687500000000
0.905468750000000
0.905078125000000
0.904882812500000
0.904785156250000
c=
0.904785156250000
Desse modo, concluo que a menor raiz positiva da equação, com tol=10^(-4) é
0.904785156250000.
x=0:0.01:10;
y=((x.^2)/2)+x.*(log(x)-1);
60
50
Eixo das Ordenadas
40
30
20
10
-10
0 1 2 3 4 5 6 7 8 9 10
Eixo das abcissas
Como os pontos críticos são dados onde a derivada da função é tem imagem zero. Calculo,
analiticamente, a derivada da função e encontro pela bissecção quais são suas raízes.
>> syms x y
>> f=((x.^2)/2)+x.*(log(x)-1);
>> diff(f)
ans =
x + log(x)
>> x=0:0.01:10;
dx=x+log(x);
plot(x,dx),grid
14
12
10
-2
-4
-6
0 1 2 3 4 5 6 7 8 9 10
-1
-2
-3
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
MFile
C=[];
n=0;
>> [c,C,n]=bi1(0.5,0.6,1e-004)
c=
0.567089843750000
C=
0.550000000000000
0.575000000000000
0.562500000000000
0.568750000000000
0.565625000000000
0.567187500000000
0.566406250000000
0.566796875000000
0.566992187500000
0.567089843750000
n=
10
x=0:0.01:10;
y=((x.^2)/2)+x.*(log(x)-1);
hold on
dx=x+log(x);
plot(x,dx,'r');
x=0.567089843750000;
y=((x.^2)/2)+x.*(log(x)-1);
plot(x,y,'m*')
Gráfico da Função
70
60
50
Eixo das Ordenadas
40
30
20
10
-10
0 1 2 3 4 5 6 7 8 9 10
Eixo das abcissas
Onde o gráfico azul representa a f(x), o gráfico vermelho, sua derivada e o ponto rosa é o
ponto crítico.
( )
Q =πdL[h(Ts -Tar ) + εσSB Ts^4 –Tviz^4 ]
onde + ε = 0,8 é a emissividade da superfície do cano, e + σSB = 5,67*10^8 W/m2/K4 é a
constante de Stefan-Boltzmann. Se Q = 18405W, h =10W/m2/K e Tar = Tviz = 298K ,
determine a temperatura superficial do cano, Ts .
>>x=-10000:0.01:10000;
>> d=0.1;
>> L=25;
>> h=10;
>> TAR=298;
>> TVIZ=TAR;
>> E=0.8;
>> QSB=5.67e-008;
>> Q=18405;
>> y=pi*d*L*((h*(x-TAR))+(E*QSB*((x.^4)-(TVIZ^4))))-Q;
>> plot(x,y),grid
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
-800 -600 -400 -200 0 200 400
Observando o gráfico, podemos perceber que a função formada apresenta duas raízes. Mas
como a temperatura é dada na escala Kelvin, logicamente descartamos a raiz negativa (entre
-800 e -700).
Em seguida usamos um intervalo menor, focando a raiz que será resolução de nosso problema:
100
80
60
40
20
-20
-40
-60
-80
-100
410 412 414 416 418 420 422 424 426 428 430
Usando uma adaptação do algoritmo tipo A de bissecção, encontramos, com uma tolerância
de 10^(-5), a solução de nosso problema.
MFile Bi1.m
c =
4.229530632495880e+002
C =
1.0e+002 *
4.000000000000000
4.500000000000000
4.250000000000000
4.125000000000000
4.187500000000000
4.218750000000000
4.234375000000000
4.226562500000000
4.230468750000000
4.228515625000000
4.229492187500000
4.229980468750000
4.229736328125000
4.229614257812500
4.229553222656250
4.229522705078125
4.229537963867188
4.229530334472656
4.229534149169922
4.229532241821289
4.229531288146973
4.229530811309815
4.229530572891235
4.229530692100525
4.229530632495880
n =
25
erro =
5.960464477539063e-006