1 Zadania na ćwiczenia i na pracownię

Transkrypt

1 Zadania na ćwiczenia i na pracownię
Matematyka Obliczeniowa
1
Lista 6
Zadania na ćwiczenia i na pracownię
1. Czy policzona wartość
Dlaczego?
7/100 ∗ 100 − 7
będzie równa zeru?
>> 7/100*100-7
>> 8.0/128.0*128-8
ans =
ans =
8.8818e-16
a
8.0/128.0 ∗ 128 − 8 ?
0
Dzieje się tak, ponieważ 7 i 100 nie są dokłądnie pamiętane w komputerza, a 8.0 i 128.0 tak.
2. Wielomiany Czebyszewa I-go rodzaju są określone na odc. [-1 , 1] wzorami:
T0 (x) ≡ 1;
T1 (x) ≡ x;
Tn+1 (x) = 2 x Tn (x) − Tn−1 (x);
dla
(n ≥ 1) .
(a) Udowodnić, że Tn (x) ≡ cos(n arccos(x)) .
Mamy:
sin(x + y) = sin x cos y + cos x sin y
sin(2x) = 2 sin x sin y
cos(x + y) = cos x cos y − sin x sin y
cos(2x) = 1 − 2 sin2 x
Ustalmy dowolny x ∈ [−1, 1] i niech θ = arccos(x). Niech An (x) = cos(nθ).
An+1 (x)
cos(nθ + θ) = cos nθ cos θ − sin nθ sin θ = xAn (x) − sin θ sin((n − 1)θ + θ)
h
i
= xAn (x) − sin θ cos((n − 1)θ) sin θ + sin((n − 1)θ) cos θ
=
1
= xAn (x) − cos((n − 1)θ) +
2
i
1h
+ cos((n − 1)θ)(1 − 2sin2 θ) − sin((n − 1)θ)2 sin θ cos θ
2
i
1
1h
= xAn (x) − An−1 (x) +
cos((n − 1)θ)(cos 2θ) − sin((n − 1)θ) sin 2θ
2
2
1
1
1
1
= xAn (x) − An−1 (x) + cos((n + 1)θ) = xAn (x) − An−1 + An+1 (x)
2
2
2
2
1
1
An+1 (x) = xAn (x) − An−1 (x)
2
2
An+1 (x) = x2An (x) − An−1 (x)
(b) Opracować funkcję Czebyszew(n, x) obliczającą wartość n-tego wielomianu Czebyszewa
w punktach x.
function res=Czebyszew(n,x)
% Zadanie 2 punkt b Lista 6
% Opracować funkcję Czebyszew(n, x) obliczającą wartość n-tego
% wielomianu Czebyszewa w punktach x
res=cos(n*acos(x)); % acos lub arccos
(c) Narysować Czebyszew(n, x) dla wybranego n.
% Zadanie 2 punkt b lista 6
% Narysować Czebyszew(n, x) dla wybranego n.
clc, clear;
n=10;
1
Matematyka Obliczeniowa
Lista 6
x=linspace(0,1,60);
y=Czebyszew(n,x);
plot(x,y,’b’);
v=[’wykres ’, num2str(n), ’-tego wielomianu Czybyszewa’];
title(v);
axis equal;
axis([-0.1 1.1 -1.1 1.1]);
line([-0.1 1.1], [0, 0],’color’, ’k’);
% print obr3 -depsc;
(d) Teraz narysować wykresy kilku wielomianów Czebyszewa różnymi kolorami...
% Zadanie 2 punkt d Lista 6
% Teraz narysować wykresy kilku wielomianów Czebyszewa różnymi
% kolorami...
clc, clear;
n=[1,5,10,20];
x=linspace(0,1,60);
hold on;
for k=1:size(n,2)
plot(x,zad2b(x,n(k)),’color’,[rand(1),rand(1),rand(1)]);
end
v=[’wykres ’, num2str(n), ’-tego wielomianu Czybyszewa’];
title(v);
axis equal;
axis([-0.1 1.1 -1.1 1.1]);
line([-0.1 1.1], [0, 0],’color’, ’k’);
hold off;
% print obr4 -depsc;
(e) Przygotować funkcję rysującą wykres zadanej funkcji – podawanej jako parametr – i narysować wykresy kilku wielomianów Czebyszewa, różnymi kolorami w tym samym oknie.
function res=Myplot(x,f)
% Przygotować funkcję rysującą wykres zadanej funkcji – podawanej
% jako parametr – i narysować wykresy kilku wielomianów Czebyszewa,
% różnymi kolorami w tym samym oknie.
y=feval(f,x);
plot(x,y,’color’,[rand(1),rand(1),rand(1)]);
axis equal;
deltax=2*abs(x(2)-x(1));
deltay=2*abs(y(2)-y(1));
axis([min(x)-deltax max(x)+deltax min(y)-deltay max(y)+deltay]);
line([min(x)-deltax max(x)+deltax], [0, 0],’color’, ’k’);
%
print obr12 -depsc;
3. Sprawdzić własności norm wektorowych ||.||1 , ||.||2 , ||.||∞ sformułowane w p. 2.1 .
Sprawdzimy tylko nierówność trójkąta dla ||.||2
hx|yi =
n
X
k=1
2
xk yk
Matematyka Obliczeniowa
Lista 6
Wtedy
hx|xi = ||x||22
Mamy nierówność Cauchy’ego-Schwarza:
|hx|yi| ≤ ||x||2 · ||y||2
i stąd:
||x + y||22
= hx + y|x + yi = ||x||22 + ||y||22 + hx|yi + hy|xi = ||x||22 + ||y||22 + 2<hx|yi
≤
||x||22 + ||y||22 + 2|hx|yi| ≤ ||x||22 + ||y||22 + 2||x||2 ||y||2 = (||x||2 + ||y||2 )2
4. Sprawdzić nierówności spełniane przez poszczególne normy wektorowe
√
||x||∞ ≤ ||x||1 ≤ n||x||∞ ,
||x||2 ≤ ||x||1 ≤ n||x||2 .
5. Wyznaczyć wartości norm podanych w rozdz. 2 dla poniższych wektorów:
3
[−1, 1, −2] ,
[3, −4, 0, ]T ,
[2, 1, −3, 4]T
2
• Wykorzystać Matlabowskie definicje norm.
% Zadanie 5 punkt a Lista 6
% Wyznaczyć wartości norm podanych w rozdz. 2 dla poniższych
% wektorów:
clc, clear
x1=[-1,1,-2];
norm(x1,1)
norm(x1,2)
norm(x1,Inf)
x2=[3;-4;0;3/2];
norm(x2,1)
norm(x2,2)
norm(x2,Inf)
x3=[2;1;-3;4];
norm(x3,1)
norm(x3,2)
norm(x3,Inf)
• Napisać funkcje realizujące poszczególne normy za pomocą sqrt,
max,. . .
function res=zad5b(x,n)
% Napisać funkcje realizujące poszczególne normy za pomocą
% sqrt, max,. .
if n == Inf
res=max(abs(x));
else
res= sum(abs(x).^n)^(1/n);
end
6. Niech x = 9.8201 , y = 10.2199
10.2−199 .
Lepiej jest liczyć
z=
albo x = 10300 , y = 10205
p
x2 + y 2
3
czy
z=y
p
albo x = 9.8−201 , y =
(x/y)2 + 1 ?
Matematyka Obliczeniowa
Lista 6
7. A to jest autentyczne, dość dawne już zadanie z Instytutu Fizyki Doświadczalnej
UWr, związane z liczeniem rozpływów zanieczyszczeń wypuszczanych przez wysokie
kominy. . .
Należało wyznaczyć zależności:
x, y1 , y2 , ... w których y1 , y2 , ... są wszystkimi
zerami równania (1) wyznaczającego y = y(x)
1
G(r)
(1)
(1 − y)3 − s e−y/s − 1 = y 2 (2 − y) 1 + 2 2
2
s x
w którym r = 2, s = 0.0448, G(r) = r(0.4911−0.1018r−0.003678r2 ), dla x = 8.08 : 8.08 : 80.8 .
Trzeba spróbować graficznie przebadać równanie (1) pod kątem zbadania liczby jego zer i ich
położenia, dla kolejnych wartości x. (Kiedyś będziemy dokładnie wyznaczać te zlokalizowane
zera...)
8. Proponuję zmodyfikować obrazek słonecznika z wykładu 4-go zmieniając kształty i kolory ziarenek lub ramek, np. tak
data kompilacji: 21 marca 2012