Дискуссионный математический форумМатематический форум
Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 3 часа [ Летнее время ]
новый онлайн-сервис
число, сумма и дата прописью

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Найти матрицу U
СообщениеДобавлено: 16 дек 2018, 20:43 
Не в сети
Начинающий
Зарегистрирован:
16 дек 2018, 20:36
Сообщений: 1
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Добрый вечер! Помогите пожалуйста решить задачку. Дана матрица А, M0, Mf и надо найти матрицу U, при условии, что значения матрицы U целые и находятся в диапазоне [0;5], а также при наличии нескольких решений одного уравнения, необходимо выбирать минимальные значения. Эти все матрицы связаны выражением Mf=M0+A*U. Буду очень благодарен за код программы.
Я попробовал сделать перебором через циклы, но слишком много уравнений получилось, по этому очень долго считает. Может кто-то сможет оптимизировать или подобрать другой метод.
▼ Мой код
clear all
% Начальная матрица
% t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24
A=[ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; %p1
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; %p2
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; %p3
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; %p4
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; %p5
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; %p6
-1 0 1 -1 1 0 0 1 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0; %p7
0 -2 -1 1 0 0 2 0 1 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0; %p8
0 0 0 0 -1 0 0 0 0 -5 0 0 0 0 -1 0 0 0 0 0 0 0 0 0; %p9
0 0 0 0 0 -3 -2 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0; %p10
0 0 0 0 0 0 0 -1 0 0 1 0 1 -1 0 -1 0 1 0 0 0 0 0 0; %p11
0 0 0 0 0 0 0 0 -1 0 0 1 -1 1 0 0 -1 0 1 0 0 0 0 0; %p12
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 -1 -1 0 0 0; %p13
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0; %p14
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 -1 0 1 0 0 1 -1; %p15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 -1 0 1 -1 -1 1]; %p16

% Задаем матрицу M0
M0=[0;
0;
0;
0;
0;
0;
0;
0;
7;
0;
0;
0;
0;
0;
0;
0];

Mf =[1;
1;
1;
1;
1;
1;
0;
0;
0;
0;
0;
0;
0;
1;
0;
0];
U=zeros(1,24);
k=1;
for U1=0:1
U(1)=U1;
for U2=0:1
U(2)=U2;
for U3=0:1
U(3)=U3;
for U4=0:1
U(4)=U4;
for U5=0:1
U(5)=U5;
for U6=0:1
U(6)=U6;
for U7=0:1
U(7)=U7;
for U8=0:1
U(8)=U8;
for U9=0:1
U(9)=U9;
for U10=0:1
U(10)=U10;
for U11=0:1
U(11)=U11;
for U12=0:1
U(12)=U12;
for U13=0:1
U(13)=U13;
for U14=0:1
U(14)=U14;
for U15=0:1
U(15)=U15;
for U16=0:1
U(16)=U16;
for U17=0:1
U(17)=U17;
for U18=0:1
U(18)=U18;
for U19=0:1
U(19)=U19;
for U20=0:1
U(20)=U20;
for U21=0:1
U(21)=U21;
for U22=0:1
U(22)=U22;
for U23=0:1
U(23)=U23;
for U24=0:1
U(24)=U24;
if M0+A*U'==Mf
u_sol(k,1:24)=U;
k=k+1;
break
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
S=size(u_sol);
sums=zeros(1,S(1));
sums(1)=sum(u_sol(1,:));
min_sum=sums(1);
u_min=u_sol(1,:);
for i=2:S(1)
sums(i)=sum(u_sol(i,:));
if sums(i)<min_sum
min_sum=sums(i);
u_min=u_sol(i,:);
end
end;
disp (u_min)
Z=M0+A*(u_min)'-Mf % Проверка решения

Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему      Страница 1 из 1 [ 1 сообщение ]

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Найти матрицу

в форуме Линейная и Абстрактная алгебра

kicultanya

1

356

31 мар 2017, 17:06

Найти обратную матрицу

в форуме Линейная и Абстрактная алгебра

Pochemuchka

11

273

11 июн 2021, 09:53

Найти матрицу оператора

в форуме Линейная и Абстрактная алгебра

lena01

0

191

02 апр 2023, 18:15

Найти ортогональную матрицу

в форуме Линейная и Абстрактная алгебра

dona_9

2

572

01 май 2016, 19:45

Найти матрицу преобразования

в форуме Линейная и Абстрактная алгебра

osipyonok

0

642

19 июн 2015, 23:09

Найти обратную матрицу

в форуме Линейная и Абстрактная алгебра

Waryk

1

540

26 мар 2021, 00:38

Как найти матрицу линейного оператора?

в форуме Линейная и Абстрактная алгебра

Atema

1

373

09 июн 2018, 23:16

Найти матрицу оператора дифференцирования

в форуме Линейная и Абстрактная алгебра

Jicei

0

265

06 июн 2018, 13:49

Найти матрицу оператора отражения

в форуме Линейная и Абстрактная алгебра

Mark512

5

818

12 май 2021, 21:20

Найти фундаментальную матрицу системы

в форуме Дифференциальные и Интегральные уравнения

youi

2

703

19 мар 2017, 13:03


Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2023 MathHelpPlanet.com. All rights reserved