ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.12.2023
Просмотров: 12
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Лабораторная 2
A=[4,2,1;3,-2,0;0,-1,2]
B=[2,0,2;5,-7,-2;1,0,-1]
D=3.*(A^2+B^2)-2*A*B
invD=inv(D)
detD=det(D)
disp(D,"Матрица D:")
disp(invD,"Матрица, обртаная к D:")
disp(detD,"Определитель матрицы D:")
A=[1,-3,1,1;1,3,5,7;3,5,7,1;-5,-7,-1,-3]
b=[11;12;0;-4]
x=linsolve(A,-b)
x_inv=inv(A)*b
disp(x,"Решение системы:")
disp(x_inv,"Проверка решения системы:")
Лабораторная 3
Задание 1
function y = f(x)
y = ((x+5)^2)^(1/3) - (x-1)^(1/3)
endfunction
x = linspace(-10, 10, 1000)
y = zeros(1, 1000)
for i = 1:1000
y(i) = f(x(i))
end
plot(x, y)
xlabel('x')
ylabel('f(x)')
title('Graph of f(x) = ((x+5)^2)^(1/3) - (x-1)^(1/3)')
Задание 2
// Define the range of the polar angle ω
omega = linspace(0, 6*%pi, 1000); // 1000 points from 0 to 6π
// Compute the radius p(ω) using the given function
p = 5 * (sin(omega / 3))^2;
// Convert polar coordinates (p, ω) to Cartesian coordinates (x, y)
x = p .* cos(omega);
y = p .* sin(omega);
// Plot the Cartesian coordinates (x, y)
plot(x, y);
xlabel('X-axis');
ylabel('Y-axis');
title('Polar plot');
// Define the range of the polar angle ω
omega = linspace(0, 6*%pi, 1000); // 1000 points from 0 to 6π
// Compute the radius p(ω) using the given function
p = 5 * (sin(omega / 3))^2;
// Convert polar coordinates (p, ω) to Cartesian coordinates (x, y)
x = p .* cos(omega);
y = p .* sin(omega);
// Plot the Cartesian coordinates (x, y)
plot(x, y);
xlabel('X-axis');
ylabel('Y-axis');
title('Polar plot');
Задание 3
// Define the range of x and y with a step of 0.2
x = -10:0.2:10;
y = -10:0.2:10;
// Create a meshgrid for x and y
[X, Y] = meshgrid(x, y);
// Compute z using the given function
Z = sin(X) .* cos(Y / 2);
// Plot the 3D graph using mesh and surf
figure;
subplot(121);
mesh(X, Y, Z);
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');
title('Mesh plot of z = sin(x) * cos(y/2)');
subplot(122);
surf(X, Y, Z);
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');
title('Surface plot of z = sin(x) * cos(y/2)');
function z=my_function(x, y)
z = sin(x) .* cos(y / 2);
endfunction
// Define the range of x and y with a step of 0.2
x = -10:0.2:10;
y = -10:0.2:10;
// Create a meshgrid for x and y
[X, Y] = meshgrid(x, y);
// Compute z using the given function and feval
Z = feval(X, Y, my_function);
Задание 4
function f = func(x, y)
f = x^3 + y^4 - 10*x - 8*y
endfunction
min_value = 1e10 // Start with a large value for the minimum
min_x = 0
min_y = 0
step = 0.3
x_range = -3:step:3
y_range = -3:step:3
for x = x_range
for y = y_range
temp_value = func(x, y)
if temp_value < min_value then
min_value = temp_value
min_x = x
min_y = y
end
end
end
disp("Minimum value of the function: " + string(min_value))
disp("Coordinates: x = " + string(min_x) + ", y = " + string(min_y))
Определите функцию func(x, y), которая возвращает значение функции f(x, y) = x^3 + y^4 - 10x - 8y для заданных x и y.
Инициализируйте переменную min_value большим значением (1e10), которое будет обновлено минимальным найденным значением.
Инициализируйте переменные min_x и min_y, которые будут хранить координаты минимального значения.
Установите размер шага на 0,3, как указано.
Задайте x_range и y_range как диапазон значений x и y от -3 до 3 с шагом 0,3.
Используйте вложенные циклы для перебора всех возможных комбинаций x и y в указанном диапазоне.
Для каждой комбинации x и y вычислите значение функции с помощью func(x, y) и сохраните его в переменной temp_value.
Проверьте, меньше ли значение temp_value, чем текущее значение min_value. Если это так, обновите min_value, `min_x' и min_yvariables новым минимальным значением и соответствующими координатами.
После завершения циклов переменные min_value, min_x и min_y` будут содержать минимальное значение функции и соответствующие координаты в указанном диапазоне.
Используйте функцию disp() для отображения минимального значения функции и координат.
После запуска этого кода в Scilab вы увидите выходные данные, отображающие минимальное значение функции и координаты (x, y), где минимум находится в указанном диапазоне с заданным размером шага 0,3.
Лабораторная работа 4
Задание 1
// Define the functions
function y = f(x)
y = x^2 + exp(-2*x)
endfunction
function y = g(x)
y = x^2 + x*exp(-x)
endfunction
// Set the interval and create the x values
a = -5;
b = 5;
step = 0.01;
x = a:step:b;
// Calculate the function values using a loop
y_f = zeros(1, length(x));
y_g = zeros(1, length(x));
for i = 1:length(x)
y_f(i) = f(x(i));
y_g(i) = g(x(i));
end
// Create a figure with two subplots
figure();
subplot(2,1,1);
plot(x, y_f);
title("f(x) = x^2 + exp(-2x)");
xlabel("x");
ylabel("f(x)");
subplot(2,1,2);
plot(x, y_g);
title("g(x) = x^2 + x*exp(-x)");
xlabel("x");
ylabel("g(x)");
Задание2а
// Surface Plot
clc;
clear;
x = linspace(-2, 2, 100);
y = linspace(0, 10, 100);
[X, Y] = meshgrid(x, y);
Z = X.^2 .* cos(Y);
scf();
surf(X, Y, Z);
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');
title('Surface plot of f(x,y) = x^2 * cos(y)');
задание2б
// Level Lines Plot
clc;
clear;
x = linspace(-2, 2, 100);
y = linspace(0, 10, 100);
[X, Y] = meshgrid(x, y);
Z = X.^2 .* cos(Y);
scf();
contour(X, Y, Z, 20);
xlabel('X-axis');
ylabel('Y-axis');
title('Level lines of f(x,y) = x^2 * cos(y)');