Test 1.
Jakie będą wyniki poniższych działań w MATLAB-ie?
a)(1:5).*(1:5), b)(1:5).*(1:5)', c)(1:5)'.*(1:5)', d)(1:5)'.*(1:5)
a) ans =
1 4 9 16 25
b) Error using .* Matrix dimensions must agree
c) ans =
1
4
9
16
25
d) Error using .* Matrix dimensions must agree
Test 2.
Jaki będzie wynik poniższego ciągu działań w MATLAB-ie?
x=zeros(3,4); x(:)=[1:3,2:4,3:5,4:6];x=x+4*ones(3,4)
x =
5 6 7 8
6 7 8 9
7 8 9 10
|
---|
Test 4.
Co będzie wynikiem poniższych ciągów poleceń?
ciąg 1:
x= ones(3,4)*5; x(:,4)=0
x =
5 5 5 0
5 5 5 0
5 5 5 0
ciąg 2:
x= ones(3,4)*5; x(:,4)=[0]
x =
5 5 5 0
5 5 5 0
5 5 5 0
ciąg 3:
x= ones(3,4)*5; x(:,4)=[0,1,2]
x =
5 5 5 0
5 5 5 1
5 5 5 2
ciąg 4:
x= ones(3,4)*5; x(:,4)=[0,1,2]'
x =
5 5 5 0
5 5 5 1
5 5 5 2
ciąg 5:
m = 3;diag(-m:m)
ans =
-3 0 0 0 0 0 0
0 -2 0 0 0 0 0
0 0 -1 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 1 0 0
0 0 0 0 0 2 0
0 0 0 0 0 0 3
ciąg 6:
m = 3;diag(ones(2*m,1),1)
ans =
0 1 0 0 0 0 0
0 0 1 0 0 0 0
0 0 0 1 0 0 0
0 0 0 0 1 0 0
0 0 0 0 0 1 0
0 0 0 0 0 0 1
0 0 0 0 0 0 0
ciąg 7:
m = 3;diag(ones(1,2*m),1)
ans =
0 1 0 0 0 0 0
0 0 1 0 0 0 0
0 0 0 1 0 0 0
0 0 0 0 1 0 0
0 0 0 0 0 1 0
0 0 0 0 0 0 1
0 0 0 0 0 0 0
ciąg 8:
m = 1;diag(-m:m) + diag(ones(2*m,1),1) + diag(ones(2*m,1),-1)
ans =
-1 1 0
1 0 1
0 1 1
ciąg 9:
m = 2;diag(-m:m) + diag(ones(1,2*m),1) + diag(ones(2*m,1),-1)
ans =
-2 1 0 0 0
1 -1 1 0 0
0 1 0 1 0
0 0 1 1 1
0 0 0 1 2
Test 5.
Utwórz macierz
a=ones(3,4); a(:)=1:12;
a następnie wykonaj operację
a(a<6)=-a(a<6)
Co będzie wynikiem tej operacji?
>> a=ones(3,4); a(:)=1:12
a =
1 4 7 10
2 5 8 11
3 6 9 12
>> a(a<6)=-a(a<6)
a =
-1 -4 7 10
-2 -5 8 11
-3 6 9 12
Test 6.
Dane są macierze 𝒂 i 𝒃:
a=[1, 2, 3; 4, 5, 6]; b=[1, 2; 3, 4; 5, 6];
Zapisz polecenia matlabowe dające w wyniku
𝒎1=𝒂⋅𝒃, 𝒎2=𝒃⋅𝒂, 𝒎3=𝒂⋅𝒂𝑻, 𝒎4=𝒂𝑻⋅𝒂, 𝒎5=𝒃⋅𝒃𝑻, 𝒎6=𝒃𝑻⋅𝒃.
Określ wymiary tych macierzy wynikowych. Jakie polecenie służy do „odczytu” wymiaru macierzy?
m1 =
22 28
49 64
M2 =
9 12 15
19 26 33
29 40 51
m3 =
14 32
32 77
m4 =
17 22 27
22 29 36
27 36 45
m5 =
5 11 17
11 25 39
17 39 61
M6 =
35 44
44 56
Test 7.
Zapisz, stosując odpowiednie polecenia MATLAB-a, macierze:
a)jednostkową 3x3,
b) diagonalną o wyrazach 1:5 na diagonali,
c) zerową wymiaru 3x4,
d) pseudolosową wymiaru 4x3.
a) ones(3:3);
b) diag(1:5);
c) zeros(3,4);
d) rand(n); -> generuje macierz o rozmiarze n ×n wypełnioną liczbami pseudolosowymi z przedziału <0,1>, wiec rand(4,3);
Randn(n); -> generuje macierz o rozmiarze n ×n wypełnioną liczbami pseudolosowymi o rozkładzie normalnym ze średnią równo 0i wariancją równą 1, wiec randn(4,3);
Test 8.
Dane są wektory
a=1:6; b=7:9; c= 10:11;
Zapisz w MATLAB-ie macierze 𝒅 i 𝒆:
d=[a; b, b; c, c, c], e=[d; d-1]
i oblicz wyznacznik macierzy 𝒆.
d =
1 2 3 4 5 6
7 8 9 7 8 9
10 11 10 11 10 1
e =
1 2 3 4 5 6
7 8 9 7 8 9
10 11 10 11 10 11
0 1 2 3 4 5
6 7 8 6 7 8
9 10 9 10 9 10
det(e)
ans =
-2.7179e-30
Test 9.
Dla macierzy 𝒅 i 𝒆 z poprzedniego testu wyznacz ich rząd i wymiar.
Funkcja rank wyznacza rząd macierzy, funkcja size jej wymiar
>> rank(e)
ans = 4
>> rank(d)
ans = 3
>> size (e)
ans =
6 6
>> size(d)
ans =
3 6
Test 10.
Dla macierzy 𝒆 z poprzedniego testu zaproponuj zapis matlabowy (polecenie lub ciąg poleceń), dzięki któremu powstanie macierz 𝒇 różniąca się od macierzy 𝒆 tym, że w miejscach, w których w 𝒆 występują wyrazy o wartościach powyżej 8, a także poniżej 3, w 𝒇 występują dziesiątki.
(wskazówka: przeanalizuj f=(e>8)+(e<3); f=10*f+~f.*e)
>> f=(e>8)+(e<3); f=10*f+~f.*e
f =
10 10 3 4 5 6
7 8 10 7 8 10
10 10 10 10 10 10
10 10 10 3 4 5
6 7 8 6 7 8
10 10 10 10 10 10
Test 11.
Dla macierzy 𝒅 z nieco wcześniejszego z testów sprawdź, jaki będzie efekt polecenia
((d>8)+(d<3)).*d
Czy na tej podstawie potrafisz przewidzieć wynik poniższych poleceń?
((d>3).*(d<8)).*d
((d>8)+(d<3)).*d+((d>3).*(d<8)).*d
ans =
1 2 0 0 0 0
0 0 9 0 0 9
10 11 10 11 10 11
>> ((d>3).*(d<8)).*d
ans =
0 0 0 4 5 6
7 0 0 7 0 0
0 0 0 0 0 0
>>((d>8)+(d<3)).*d+((d>3).*(d<8)).*d
ans =
1 2 0 4 5 6
7 0 9 7 0 9
10 11 10 11 10 11
Test 12.
Jakie będą efekty poleceń
x1=e(:, 3), x2=e(3,3:4), x3=e([1,5,3],[4,2])
dla macierzy 𝒆 z nieco wcześniejszego z testów?
>> x1=e(:, 3)
x1 =
3
9
10
2
8
9
x2=e(3,3:4)
x2 =
10 11
x3=e([1,5,3],[4,2])
x3 =
4 2
6 7
11 11
Test 13.
Jakie będzie efekt poleceń
g=d; g(1:2,[2,4,6])=zeros(2,3)
dla macierzy 𝒅 z nieco wcześniejszego z testów?
g =
1 0 3 0 5 0
7 0 9 0 8 0
10 11 10 11 10 11
Test 14.
Jaki będzie efekt (widoczny, wyświetlony) ciągu poniższych poleceń?
x=-1:0.2:1; y=sin(3*pi*x).*exp(-x.^2); k=find(y>0.5)
k =
4 7 10
>> x=-1:0.2:1
x =
-1.0000 -0.8000 -0.6000 -0.4000 -0.2000 0 0.2000 0.4000 0.6000 0.8000 1.0000
>> y=sin(3*pi*x).*exp(-x.^2)
y =
-0.0000 -0.5015 0.4101 0.5009 -0.9138 0 0.9138 -0.5009 -0.4101 0.5015 0.0000
Test 15.
Jakie będą efekty ciągów poniższych poleceń? Jak tłumaczysz różnice w efektach?
ciąg 1: x=-1:0.2:1; y=sin(3*pi*x).*exp(-x.^2); z=[x;y]; k=find(z>0.5)
ciąg 2: x=-1:0.2:1; y=sin(3*pi*x).*exp(-x.^2); z=[x;y]; k=find(z>0.5)
>> x=-1:0.2:1; y=sin(3*pi*x).*exp(-x.^2); z=[x;y]; k=find(z>0.5)
k =
8
14
17
19
20
21
>> x=-1:0.2:1; y=sin(3*pi*x).*exp(-x.^2); z=[x;y]; k=find(z>0.5)
k =
8
14
17
19
20
21
Test 16.
Podaj polecenia, dzięki którym znajdziesz moduł i argument liczb zespolonych
𝑥1=5cos(𝜋/10)+5𝐣⋅sin(𝜋/10) , 𝑥2=2+8/3 𝐣.
Podaj zapis przeliczający argument z radianów na stopnie. Przytocz wyniki liczbowe.
Z = abs(x1);
g = angle(x1);
Test 18.
Proste!!!
Test 19.
Dany jest wielomian W(x)=3x^3+2x^2+x+1/2 Podaj zapisy matlabowe pozwalające szybko wyznaczyć pierwiastki tego wielomianu:
Y = [3 2 1 0.5];
x = roots(Y)
Test 20.