Lab 5 – przykładowe rozwiązania M. Głowacki, L-10, PK
1
Laboratorium komputerowe 5 – przykładowe rozwiązania
Przypomnienie
Definicja funkcji musi zostać zapisana w pliku o takiej samej nazwie, jak nazwa funkcji.
Przy nazwach funkcji proszę zwracać uwagę na małe/wielkie litery oraz ogólne zasady tworzenia nazw. Plik funkcyjny musi zaczynać się od nagłówka funkcji i zawierać definicję tylko jednej funkcji.
zad. 1
function s = wektorNorma(a)
n = length(a); % liczba elementów w wektorze a
s = 0;
for i = 1:n
s = s + a(i)*a(i);
end
s = sqrt(s);
end
zad. 2
function s = wektorSumaParz(a) n = length(a);
s = 0;
for i = 2:2:n % indeksy parzyste
s = s + a(i);
end end
Lab 5 – przykładowe rozwiązania M. Głowacki, L-10, PK
2
W Command Window możemy sprawdzić działanie zdefiniowanych funkcji. Przykładowo:
a = [-2 -3 2 0 -1 3 4];
b = [2 3 -4 -3 0.4 -1.3 1.6 7 1 -1.5 2 3.3];
wektorNorma(a) % wynik: 6.5574 wektorNorma(b) % wynik: 10.467
wektorSumaParz(a) % wynik: 0 wektorSumaParz(b) % wynik: 7.5
zad. 3
clear clc
s = 0.01;
x1 = -2*pi:s:-pi/2;
x2 = -pi/2:s:pi/6;
x3 = pi/6:s:2*pi;
y1 = x1*0 - 2;
y2 = 2*sin(x2);
y3 = (7*x3)./(x3+pi);
plot(x1, y1, 'r');
hold on;
plot(x2, y2, 'g');
plot(x3, y3, 'b');
grid on;
Lab 5 – przykładowe rozwiązania M. Głowacki, L-10, PK
3 zad. 4
clear clc
a = -1;
b = 3;
s = 0.001;
x = a:s:b;
y = x.*sin(x)+cos(x);
p1 = plot(x, y, 'k');
hold on;
grid on;
xmax = x(1);
ymax = y(1);
for i = 2:length(x)
if y(i) > ymax ymax = y(i);
xmax = x(i);
end end
plot(xmax, ymax, 'go');
Uwaga:
Fragment w ramce można zastąpić poniższymi instrukcjami, wykorzystującymi funkcję max():
[ymax, imax] = max(y); % imax – indeks elementu
% najwiekszego xmax = x(imax);