NUMERIKUS SZÁMÍTÁSOK 2. ÉVFOLYAMZH
Contents
KEDDI CSOPORT
A. csoport
1. feladat
2. feladat
f=@(x)[(x(1).^3.*sin(x(1))).^2+x(2).^2-3;x(1)-10*x(2)];
y=-2;
for x=-6:2:6
mo=fsolve(f,[x,y]);
fprintf('A (%2.0f,%2.0f) pontból indulva az (%9.6f,%9.6f) megoldást kapjuk.\n',x,y,mo(1),mo(2))
end
Optimization terminated: first-order optimality is less than options.TolFun.
A (-6,-2) pontból indulva az (-6.276657,-0.627666) megoldást kapjuk.
Optimization terminated: first-order optimality is less than options.TolFun.
A (-4,-2) pontból indulva az (-3.193868,-0.319387) megoldást kapjuk.
Optimization terminated: first-order optimality is less than options.TolFun.
A (-2,-2) pontból indulva az (-1.224643,-0.122464) megoldást kapjuk.
Optimization terminated: first-order optimality is less than options.TolFun.
A ( 0,-2) pontból indulva az (-1.224643,-0.122464) megoldást kapjuk.
Optimization terminated: first-order optimality is less than options.TolFun.
A ( 2,-2) pontból indulva az ( 1.224643, 0.122464) megoldást kapjuk.
Optimization terminated: first-order optimality is less than options.TolFun.
A ( 4,-2) pontból indulva az ( 3.193868, 0.319387) megoldást kapjuk.
Optimization terminated: first-order optimality is less than options.TolFun.
A ( 6,-2) pontból indulva az ( 6.276657, 0.627666) megoldást kapjuk.
3. feladat
f=@(x)x.*sin(x).^2;
b=2;
h=b/10;
x=0:h:b;
y=f(x);
Itrap=h*(y(1)/2+y(end)/2+sum(y(2:end-1)))
Imatlab=quad(f,0,b)
Itrap =
1.582826106628502
Imatlab =
1.585106701585246
4. feladat
f=@(t,y)[y(2);-0.083*y(2)^2];
[t,y]=ode45(f,[0,120],[0,6]);
figure(1)
plot(t,y(:,1))
title('Megtett út')
figure(2)
plot(t,y(:,2))
title('Sebesség')
disp('1 perc múlva a távolsága (méter)')
Hely_1perc=interp1(t,y(:,1),60)
sebesseg=@(ido)interp1(t,y(:,2),ido)-3;
disp('A fél sebesség elérésének ideje (másodperc)')
t_sebessegfel=fzero(sebesseg,20)
disp('Fél sebességnél a távolság (méter)')
Hely_sebfel=interp1(t,y(:,1),t_sebessegfel)
1 perc múlva a távolsága (méter)
Hely_1perc =
41.347592024581594
A fél sebesség elérésének ideje (másodperc)
t_sebessegfel =
2.014395178323106
Fél sebességnél a távolság (méter)
Hely_sebfel =
8.361233064264264
B. csoport
1. feladat
2. feladat
f=@(x)[(x(1).^3.*sin(x(1))).^2+x(2).^2-3;x(1)-20*x(2)];
y=2;
for x=-6:2:6
mo=fsolve(f,[x,y]);
fprintf('A (%2.0f,%2.0f) pontból indulva az (%10.7f,%10.7f) megoldást kapjuk.\n',x,y,mo(1),mo(2))
end
Optimization terminated: first-order optimality is less than options.TolFun.
A (-6, 2) pontból indulva az (-6.2762955,-0.3138148) megoldást kapjuk.
Optimization terminated: first-order optimality is less than options.TolFun.
A (-4, 2) pontból indulva az (-3.1945214,-0.1597261) megoldást kapjuk.
Optimization terminated: first-order optimality is less than options.TolFun.
A (-2, 2) pontból indulva az (-1.2253119,-0.0612656) megoldást kapjuk.
Optimization terminated: first-order optimality is less than options.TolFun.
A ( 0, 2) pontból indulva az ( 1.2253119, 0.0612656) megoldást kapjuk.
Optimization terminated: first-order optimality is less than options.TolFun.
A ( 2, 2) pontból indulva az ( 1.2253119, 0.0612656) megoldást kapjuk.
Optimization terminated: first-order optimality is less than options.TolFun.
A ( 4, 2) pontból indulva az ( 3.1945214, 0.1597261) megoldást kapjuk.
Optimization terminated: first-order optimality is less than options.TolFun.
A ( 6, 2) pontból indulva az ( 6.2762955, 0.3138148) megoldást kapjuk.
3. feladat
f=@(x)x.*cos(x).^2;
b=2;
h=b/20;
x=0:h:b;
y=f(x);
Itrap=h*(y(1)/2+y(end)/2+sum(y(2:end-1)))
Imatlab=quad(f,0,b)
Itrap =
0.415465080521440
Imatlab =
0.414893298414754
4. feladat
f=@(t,y)[y(2);-0.073*y(2)^2];
[t,y]=ode45(f,[0,180],[0,15]);
figure(1)
plot(t,y(:,1))
title('Megtett út')
figure(2)
plot(t,y(:,2))
title('Sebesség')
disp('2 perc múlva a távolsága (méter)')
Hely_2perc=interp1(t,y(:,1),120)
sebesseg=@(ido)interp1(t,y(:,2),ido)-1.5;
disp('A tized sebesség elérésének ideje (másodperc)')
t_sebessegtized=fzero(sebesseg,40)
disp('A tized sebességnél a távolság (méter)')
Hely_sebtized=interp1(t,y(:,1),t_sebessegtized)
2 perc múlva a távolsága (méter)
Hely_2perc =
66.972372684053184
A tized sebesség elérésének ideje (másodperc)
t_sebessegtized =
8.232645714275407
A tized sebességnél a távolság (méter)
Hely_sebtized =
31.569651399126201
Csütörtöki csoport
A. csoport
1. feladat
2. feladat
f=@(x)x.^2.*sin(x)-10;
ezplot(f,[0,9])
fd=@(x)2*x*sin(x)+x.^2.*cos(x)
fprintf('Kezdőérték Matlab Newton\n');
for x=1:8
xM=fzero(f,x);
xN=x;
for i=1:30
xN=xN-f(xN)/fd(xN);
end
fprintf('%1f %10.8f %10.8f\n',x,xM,xN);
end
fd =
@(x)2*x*sin(x)+x.^2.*cos(x)
Kezdőérték Matlab Newton
1.000000 -3.87184599 40.83470736
2.000000 6.52060253 12.62910989
3.000000 6.52060253 6.52060253
4.000000 6.52060253 6.52060253
5.000000 6.52060253 -9.53499250
6.000000 6.52060253 6.52060253
7.000000 6.52060253 6.52060253
8.000000 6.52060253 103.67162715
3. feladat
t=[0,1,2,3,4,5]
T=[10,12,16,17,13,8]
ido=3.5
Kozelito_homerseklet=interp1(t,T,ido,'pchip')
xx=linspace(0,5,100);
yy=interp1(t,T,xx,'pchip');
plot(t,T,'ro',xx,yy,'b-')
t =
0 1 2 3 4 5
T =
10 12 16 17 13 8
ido =
3.500000000000000
Kozelito_homerseklet =
15.555555555555555
4. feladat
a=0.002; r=1.05;
f=@(t,y)[-a*y(1).*y(2);a*y(1).*y(2)-r*y(2)];
[t,y]=ode45(f,[0,4],[10000,1]);
figure(1)
plot(t,y(:,1))
title('Fogékonyak')
figure(2)
plot(t,y(:,2))
title('Fertőzők')
[Max_fertozoszam,p]=max(y(:,2));
Max_fertozoszam
Max_fertozes_ideje=t(p)
fertozo=@(ido)interp1(t,y(:,2),ido)-1000;
t_1000=fzero(fertozo,0.5);
Egeszseges_1000fertozo=interp1(t,y(:,1),t_1000)
Max_fertozoszam =
7.927416783988494e+003
Max_fertozes_ideje =
0.652746194559316
Egeszseges_1000fertozo =
8.942236600553270e+003
B. csoport
1. feladat
2. feladat
f=@(x)x.^2.*cos(x)+2;
ezplot(f,[0,9])
fd=@(x)2*x*cos(x)-x.^2.*sin(x)
fprintf('Kezdőérték Newton Matlab\n');
for x=5:12
xM=fzero(f,x);
xN=x;
for i=1:30
xN=xN-f(xN)/fd(xN);
end
fprintf('%1f %11.8f %11.8f\n',x,xN,xM);
end
fd =
@(x)2*x*cos(x)-x.^2.*sin(x)
Kezdőérték Newton Matlab
5.000000 4.61848831 4.61848831
6.000000 4.61848831 4.61848831
7.000000 7.88614602 7.88614602
8.000000 7.88614602 7.88614602
9.000000 7.88614602 7.88614602
10.000000 10.97898125 10.97898125
11.000000 10.97898125 10.97898125
12.000000 10.97898125 10.97898125
3. feladat
t=[0,1,2,3,4,5,6]
T=[10,12,16,17,13,8,4]
ido=3.5;
Kozelito_homerseklet=interp1(t,T,ido,'pchip')
xx=linspace(0,6,100);
yy=interp1(t,T,xx,'pchip');
plot(t,T,'ro',xx,yy,'b-')
t =
0 1 2 3 4 5 6
T =
10 12 16 17 13 8 4
Kozelito_homerseklet =
15.555555555555555
4. feladat
a=0.01; r=1.1;
f=@(t,y)[-a*y(1).*y(2);a*y(1).*y(2)-r*y(2)];
[t,y]=ode45(f,[0,6],[1000,1]);
figure(1)
plot(t,y(:,1))
title('Fogékonyak')
figure(2)
plot(t,y(:,2))
title('Fertőzők')
[Max_fertozoszam,p]=max(y(:,2));
Max_fertozoszam
Max_fertozes_ideje=t(p)
fertozo=@(ido)interp1(t,y(:,2),ido)-100;
t_100=fzero(fertozo,0.5);
Egeszseges_100fertozo=interp1(t,y(:,1),t_100)
Max_fertozoszam =
6.480025694222253e+002
Max_fertozes_ideje =
1.042219175114514
Egeszseges_100fertozo =
8.879092572431989e+002