Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 83

Как, используя цикл, создать систему уравнений

15.01.2018, 01:52. Показов 2569. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
нужно создать систему уравнений. Система очень большая, поэтому от руки можно допустить ошибки. Как используя цикл, создать систему? помогите, пжл.

for I,J,K,L=1:6
C(I,J,K,L)=sum (i,j,k,l=1:6) D(I,i)*D(J,i)*D(K,k)*D(L,l)*C(I,j,k,l)
end

при этом все D(I,i) известны, коэффициенты системы.

Добавлено через 1 час 22 минуты
Matlab M
1
2
3
for I,J,K,L=1:6
C(I,J,K,L)=sum (i,j,k,l=1:6) D(I,i)*D(J,i)*D(K,k)*D(L,l)*C(I,j,k,l)
end
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.01.2018, 01:52
Ответы с готовыми решениями:

Решить систему уравнений Ax=B, используя LU-разложение
Требуется решить систему уравнений Ax=B, используя LU-разложение. Начал считать и застрял на этом моменте, матрицы P, L и U не совпадают...

Решить систему уравнений, используя switch
x*z, если z>0 y= x, если z=0 x/z, если z<0 решить систему уравнений

Как создать таблицу из трех массивов используя цикл while
Привет! У меня задание сделать вот такую таблицу из массивов, как на картинке ниже, используя цикл while Вот мой код с...

22
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,630
15.01.2018, 05:02
Армине, вам коэффициенты D всё равно придётся забивать вручную. Или у вас уже имеется массив коэффициентов , и вам нужно выбрать из него только некоторые?
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 83
15.01.2018, 09:00  [ТС]
коэффициенты не проблема. в зависимости от I, j они принимают определенные значения. главное система. мне ,чтобы эту систему написать вручную, понадобиться несколько дней.
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,630
15.01.2018, 09:02
Армине, то есть коэффициенты вычисляются в программе до системы? Или как? Выражайте, пожалуйста, свою мысль яснее.
Вряд ли кто может догадаться, откуда вы берёте коэффициенты.
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 83
15.01.2018, 13:30  [ТС]
Например,
Matlab M
1
D [3,1]=0, D [3,3]=1,  D [1,1]=cos phi
и т.д. Только
Matlab M
1
I, j,k,l,...=1,2,3.
А количество различных индексов 8. И все индексы меняются от 1 до 3.
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,630
15.01.2018, 15:53
Цитата Сообщение от Армине Посмотреть сообщение
А количество различных индексов 8. И все индексы меняются от 1 до 3.
И что?
Вы опишите задачу полностью, а то описываете какими-то фрагментами, считая, что раз понятно вам, то понятно и всем. Но разница в том, что вы знаете задачу полностью, а остальные видят только приводимые вами фрагменты.
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 83
15.01.2018, 17:06  [ТС]
Задача написать в развернутом виде систему
Matlab M
1
C'=D*C
, где
Matlab M
1
C'=(C[IJKLMNPQ]); C=(C[ijklmnpq])
-- векторы в новой и старой системе.
Matlab M
1
D
-- матрица преобразования и
Matlab M
1
D[1,1]=cos phi, D[1,2]=sin phi, D[2,1]=-sin phi, D[2,2]=cos phi, D[3,1]=D[3,2]=0, D[3,3]=1
. При этом
Matlab M
1
C[ijklmnpq]=C[mnpqijkl]
. Все индексы
Matlab M
1
I,J,K,L,M,N,P,Q,i,j,k,l,m,n,p,q
меняются от 1 до3
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,630
15.01.2018, 17:19
C - это многомерный массив?

Добавлено через 1 минуту
Цитата Сообщение от Армине Посмотреть сообщение
1
D
-- матрица преобразования
Не понял. D -матрица 3х3. Если к ней приписать единицу, то матрицы не получится.
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 83
15.01.2018, 18:28  [ТС]
Забыла указать вид этой матрицы
Matlab M
1
D=D(I,i)*D(J,j)*D(K,k)*D(L,l)*D(M,m)*D(N,n)*D(P,p)*D(Q,q)
Конечно, это не три на три. И содержит много нулей
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,630
15.01.2018, 18:33
Армине, не знаю, ждите того, кто догадается, что из чего вы хотите сделать. Лично я по вашим описаниям догадаться так и не сумел.
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 83
15.01.2018, 19:02  [ТС]
жаль, всего лишь нужно написать большую систему уравнений используя циклы, чтобы не вводить каждый элемент в отдельности. больше ничего.
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,630
15.01.2018, 19:09
Цитата Сообщение от Армине Посмотреть сообщение
всего лишь нужно написать большую систему уравнений используя циклы, чтобы не вводить каждый элемент в отдельности. больше ничего.
Я понимаю, что больше ничего. Но без данных и толкового объяснения с вашей стороны вряд ли кто вам поможет.
0
 Аватар для faraonCar
164 / 144 / 49
Регистрация: 29.10.2014
Сообщений: 738
15.01.2018, 21:11
Может Вы хотите 4 цикла, первый по i, второй по j, третий по k, четвертый по l изменяются от 1 до 6.
У каждого свое уравнение
Matlab M
1
C'=D*C
Если это так, то попробуйте написать 1 цикл с 1 уравнением, тогда может нам понятнее будет.
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 83
16.01.2018, 00:07  [ТС]
У меня не получается использовать сумму в цикле
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,630
16.01.2018, 07:32
Армине, тогда вам остаётся полностью и подробно написать решаемую вами задачу. До сих пор вы не удосужились этого сделать.
0
 Аватар для faraonCar
164 / 144 / 49
Регистрация: 29.10.2014
Сообщений: 738
16.01.2018, 08:28
Напишите без суммы, а там посмотрим.
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 83
16.01.2018, 16:48  [ТС]
хочется написать такую систему, но очень большую.

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
syms y y1 y2 y3 x x1 x2 x3 
syms a a11 a12 a13 a21 a22 a23 a31 a32 a33 
 
x=[x1
    x2
    x3];
y=[y1
    y2
    y3];
a=[a11 a12 a13
    a21 a22 a23
    a31 a32 a33];
y=a*x
 
y = 
 a11*x1 + a12*x2 + a13*x3
 a21*x1 + a22*x2 + a23*x3
 a31*x1 + a32*x2 + a33*x3
если использовать цикл for без суммы, то получается какая то абракадабра

Matlab M
1
2
3
4
5
6
7
8
9
10
syms y y1 y2 y3 x x1 x2 x3 
syms a a11 a12 a13 a21 a22 a23 a31 a32 a33 
 
n=3
for i=1:n
    for j=1:n
        y(i)=(a(i,j)*x(j))
    end
end
print(y)
нужно заменить векторы х и у следующими
Matlab M
1
C'(IJKLMNPQ), C(ijklmnpq)
а элементы матрицы D определяются как
Matlab M
1
D(I,i)*D(J,j)*D(K,k)*D(L,l)*D(M,m)*D(N,n)*D(P,p)*D(Q,q)
при этом известно, что
Matlab M
1
2
3
4
5
6
7
8
9
D(1,1)=cos(x); 
D(1,2)=sin(x); 
D(1,3)=0; 
D(2,1)=-sin(x); 
D(2,2)=cos(x); 
D(2,3)=0 ;
D(3,1)=0 ;
D(3,2)=0 ;
D(3,3)=1;
все индексы меняются от 1 до 3.

вручную все компоненты ввести не возможно. Это работа на несколько дней. да и ошибки можно не заметить.

для начала можно написать поменьше систему. дальше все по аналогии можно продолжить

Добавлено через 10 минут
Matlab M
1
C'(IJKLMNPQ)=(D(I,i)*D(J,j)*D(K,k)*D(L,l)*D(M,m)*D(N,n)*D(P,p)*D(Q,q))*C(ijklmnpq)
суммирование в цикле будет по индексам
Matlab M
1
i,j,k,l,m,n,p,q
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,630
16.01.2018, 18:59
Могу только предложить разместить все произведения коэффициентов D в многомерном массиве
Matlab M
1
2
3
d=[cos(x) sin(x) 0 -sin(x) cos(x) 0 0 0 1];
[DI,DJ,DK,DL,DM,DN,DP,DQ]=ndgrid(d);
D=DI.*DJ.*DK.*DL.*DM.*DN.*DP.*DQ;
Далее не могу ничего предложить, вы ведь до сих пор тщательно скрываете, что, например, скрывается в массиве С.
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 83
16.01.2018, 19:15  [ТС]
Matlab M
1
C, C'
это всего лишь векторы с компонентами
Matlab M
1
2
C(1,1,1,1,1,1,1,1), C(1,1,1,1,1,1,1,2), C(1,1,1,1,1,1,2,2), ... C(3,3,3,3,3,3,3,3),
C'(1,1,1,1,1,1,1,1), C'(1,1,1,1,1,1,1,2), C'(1,1,1,1,1,1,2,2), ... C'(3,3,3,3,3,3,3,3)[/
физического смысла никакого не имеют. чистая математика, просто усложняется из за размеров вектора и матрицы.
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,630
16.01.2018, 19:36
Армине, своими записями вы запутываете других. Так как у вас записано, читается как обращение к элементам 8-мерного массива. Но я подозреваю, что С - это вектор из 8 чисел. Верна ли моя догадка?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.01.2018, 19:36
Помогаю со студенческими работами здесь

Решить систему линейных уравнений, используя метод итераций
преобразовать матрицу к диагональным преобразователям. Первая и вторая строчка подходят под условие, необходимо преобразовать вторую ...

Решить систему линейных уравнений, используя функции Find
Задание 3. Решить систему линейных уравнений, используя функции Find; матричным способом, используя функцию lsolve.(4 пример)

Решить систему дифференциальных уравнений. не используя стандартные функции
Доброго времени суток! столкнулся со следующей проблемой. По заданию нужно решить систему диф.ур. не используя стандартные функции...

Решить систему линейных уравнений, используя разные способы
Решить систему линейных уравнений: 1) используя функцию Find; 2) матричным способом и используя функцию lsolve.

Используя метод Гаусса, решить систему линейных уравнений с точностью до 0,0001
Используя метод Гаусса, решить систему линейных уравнений с точностью до 0,0001. Коэффициенты матрицы и вектора правых частей считывать из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru