Главная страница

построение логических цепочек с. ТОИ 3-4. Лабораторная 2 A4,2,13,2,00,1,2


Скачать 89.6 Kb.
НазваниеЛабораторная 2 A4,2,13,2,00,1,2
Анкорпостроение логических цепочек с
Дата25.04.2023
Размер89.6 Kb.
Формат файлаrtf
Имя файлаТОИ 3-4.rtf
ТипРешение
#1088721

Лабораторная 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)');


написать администратору сайта