# Часть 1
# Номер варианта
V = 33
# Инициализация ГПСЧ номером варианта
rand('state', V)

# Часть 2
# Вектор чисел 1..100
v1 = 1:100
v2 = randi([0, 1], [1, 100])
# Суммируем векторы v1 и v2
v3 = v1 + v2
v3 = v3 .* ~mod(v3, 2)

# Часть 3
# Создаём вектор из 99*V случайных значений на 0..3
r = rand([1, 99*V]) .* 3;
t = 0:0.01:3;
# Функция, находящая кол-во элементов r < t
f = @(x) length(r(r < x));
figure;
plot(t, arrayfun(f, t));
print("3.png")

# Часть 4
# Рисуем 4 ломаных линии в одной плоскости
figure;
plot(rand([V+12, 4]), rand([V+12, 4]));
print("4.png")
# Часть 5
# Рисуем 4 ломаных линии в одном пространстве
figure;
plot3(rand([V+12, 4]), rand([V+12, 4]), rand([V+12, 4]));
print("5.png")
# Часть 6
# Рисуем спираль с 3 + V витков
t = 0:pi/20:2*pi*(3+V);
r = t .^ 2;
x = r .* cos(t);
y = r .* sin(t);
figure;
plot(x, y);
print("6.png")
# Часть 7
# Построить в пространстве график функции z=cos(0.5Vx)x3+y2 в
# виде незакрашенной сетки и в виде закрашенной поверхности в
# области от -4 до 4 по каждой координате с шагом 0,1. В
# обоих случаях подписать оси координат.
X = -4:0.1:4;
Y = -4:0.1:4;
[x, y] = meshgrid(X, Y);
z = (cos(x .* (V*0.5)) .* x.^3) + y.^2;
figure;
mesh(z)
xlabel("x");
ylabel("y");
zlabel("z");
print("7_1.png")
figure;
surf(z)
xlabel("x");
ylabel("y");
zlabel("z");
print("7_2.png")

# Часть 11
nflip = 9*V
nexp = 1001+V
s = flip_stats(nflip, nexp)
result = s / nexp
figure;
bar(result)
print("11.png")