Buscar

Lista 1 Scilab - Resolução em scilab - Prof Priscila Godinho

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Milena 1.sce
clc;
clear;
mprintf("Questão 1")
x=input("Digite um valor para x :");
if x<10 then
 if x>5 then
 mprintf("x=7.5");
 end
 if x<5 then
 mprintf("x=5");
 end
end
while x>50
 x=x-5
end
Milena 2.sce
clear;
clc;
mprintf("Questão 2")
a=input("digite um valor para a variavel a :");
b=input("digite um valor para a variavel b :");
c=input("digite um valor para a variavel c :");
delta=b^2-4*a*c;
if(delta>0) then
 x1=(-b+sqrt(b^2-4*a*c))/(2*a);
 x2=(-b-sqrt(b^2-4*a*c))/(2*a);
 mprintf("As raizes da equação são %2f e %2f",x1,x2);
else
 if(delta==0)then
 x1=-b/2*a;
 x2==x1;
 mprintf("As raizes da equação são iguais %2f e %2f"x1,x2);
 else 
 if(delta<0)
 il=sqrt(abs(discr))/(2*a)
 i2=-i1;
 mprintf("As raizes da equação são irracionais %2f e %2f",i1,i2);
 end
end
Milena 3.sce
clc;
clear;
serie=1;
x=1;
n=0;
ang=input("Digite o angulo em radianos:");
n=input("Digite um valor para n: ");
if ((n/2)==0) then
 for sub=2:4:n
 serie=serie-(x^sub/sub);
 end
 for soma=4:4:n
 serie=serie-(x^soma/soma);
 end
else
 mprintf("n precisa ser par");
end
Milena 4.sce
clc;
clear;
mprintf("Questão 4");
start=0;
step=0.25;
stop=10;
t=(0:0.25:10);
v=(0(10-0)/0.25);
k=0.1;
r=3;
v(1)=(4*%pi*r^3)/3;
for i=1:(10-0)/0.25
 a=4*pi*(nthroot((3*v(i))/(4*%pi),3))^2;
 slope=-k*a
 v(i+1)=eulermethod(v(i),slope,step);
end
end
Milena 5.sce
clc;
clear;
a=1200;
q=500;
start=0;
step=0.5;
stop=10;
t=(0:0.5:10);
y=(0:(10)/0.5);
y(1)=0;
for i=1:(10-0)/0.5;
 slope=3*(q/a)*sin(t(i))^2-(q/a);
 y(i+1)= eulermethod(y(i),slope,step);
end
end
Milena 6.sce
clear
clc
p=poly([-12,-21,18,-2.75],'x',"coeff");
r=roots(p)
disp(r,"Valor das raízes:")
x=[-5:0.1:5]
for i=1:1:101
 y(i)=-2.75*x(i)^3+19*x(i)^2-21*x(i)-12
end
plot(x,y)
 
//Método da bissecção
mprintf("Questão 6")
r2=input("Digite o valor da raiz que deseja se aproximar:")
x1=input("Digite o primeiro valor do intervalo:");
x2=input("Digite o segundo valor do intervalo:");
er=2
while er>=1
 xm=(x1+x2)/2;
 fx1=-2.75*x1^3+19*x1^2-21*x1-12;
 fx2=-2.75*x2^3+19*x2^2-21*x2-12;
 fxm=-2.75*xm^3+19*xm^2-21*xm-12;
 if fxm*fx1<0 then;
 r=(xm+x1)/2;
 erro=((r-r2/r2))*100;
 x2=xm;
 else;
 r=(xm+x2)/2;
 erro=((r-r2)/r2)*100;
 x1=xm;
 end ;
 if erro<0 then
 erro=erro*(-1)
 end
 mprintf("\n\nO valor da raíz é:%f\nO valor do erro percentual é:%f",r,erro)
 er=erro
end;
 
disp("Falsa posição")
 
//Falsa posição
 
er=2
x1=input("Digite o primeiro valor de x:")
x2=input("Digite o segundo valor de x:")
while er>=1.09
 fx1=-2.75*x1^3+19*x1^2-21*x1-12;
 fx2=-2.75*x2^3+19*x2^2-21*x2-12;
 if fx1*fx2<0 then
 xr=x2-((fx2*(x1-x2))/(fx1-fx2))
 fxr=-2.75*xr^3+19*xr^2-21*xr-12;
 if fxr*fx2<0 then
 x1=xr
 else
 x2=xr
 end
 end
 erro=((r2-xr)/r2)*100
 if erro<0 then
 erro=erro*(-1)
 end
 mprintf("\n\nO valor aproximado da raíz é: %f \nO valor do erro é: %f",xr,erro)
 er=erro
end
Milena 7.sce
clear;
clc;
x=[4:0.1:6]
for i=1:1:21
 y(i)=x(i)^4-8*x(i)^3-35*x(i)^2+450*x(i)-1001
end
plot(x,y)
 
//Falsa posição
 
er=2
r2=5.60979
mprintf("Questão 7")
x1=input("Digite o primeiro valor de x:")
x2=input("Digite o segundo valor de x:")
while er>=1
 fx1=x1^4-8*x1^3-35*x1^2+450*x1-1001
 fx2=x2^4-8*x2^3-35*x2^2+450*x2-1001
 if fx1*fx2<0 then
 xr=x2-((fx2*(x1-x2))/(fx1-fx2))
 fxr=xr^4-8*xr^3-35*xr^2+450*xr-1001
 if fxr*fx2<0 then
 x1=xr
 else
 x2=xr
 end
 end
 erro=((r2-xr)/r2)*100
 if erro<0 then
 erro=erro*(-1)
 end
 mprintf("\n\nO valor aproximado da raíz é: %f \nO valor do erro é: %f",xr,erro)
 er=erro
end
Milena 8.sce
clear;
clc;
mprintf("Questão 8")
p=poly([-5,17.7,-11.7,2],'x',"coeff");
disp(p,"Polinômio:");
deri=derivat(p);
disp(deri,"Derivada primeira de p:");
r=roots(p);
disp(r,"Raízes:");
 
t=[-1:0.1:4]
for i=1:1:51
 y(i)=2*t(i)^3-11.7*t(i)^2+17.7*t(i)-5
end
plot(t,y)
//Newton Raphson
 
x=input("Digite o valor inicial de x:");
for j=1:1:3;
 it=x-((2*x^3-11.7*x^2+17.7*x-5)/(6*x^2-23.4*x+17.7));
 mprintf("\nO valor aproximado da raíz real é:%f",it);
 x=it;
end
Milena 9.sce
clear;
clc;
mprintf("Questão 9")
p=poly([2.5,1.8,-1],'x',"coeff");
disp(p,"Polinômio:");
deri=derivat(p);
disp(deri,"Derivada primeira de p:");
r=roots(p);
disp(r,"Raízes:");
 
 
//Newton Raphson
er=1
rreal=input("Digite o valor real da raiz mostrado acima:")
x=input("Digite o valor inicial de x:");
while er>=0.05
 it=x-((-x^2+1.8*x+2.5)/(-2*x+1.8));
 erro=((it-rreal)/rreal)*100
 mprintf("\n\nO valor aproximado da raíz real é:%f\nO valor do erro é:%f",it,erro);
 x=it;
 er=erro
end

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais