Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
338 / 67 / 37
Регистрация: 22.12.2010
Сообщений: 138

Подстановка в систему уравнений

01.06.2015, 18:56. Показов 3111. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Решаю в матлабе систему уравнений.
Matlab M
1
2
3
4
5
6
7
8
9
10
11
clc; clear; syms a; syms b; syms c;
a=1/2;
b=1/3;
c=1/6;
eqs = {'x= x*(1-1/2)+y*(1-1/2)',...
       'y=(1/6)*x+(1/6)*y+(2/3)*z',...
       'z=(1/6)*x+(1/6)*y+(1/6)*z+(5/6)*f',...
       'f=(1/6)*x+(1/6)*y+(1/6)*z+(1/6)*f',...
       'x+y+z+f=1'};
vars = {'x','y','z','f'};
[x,y,z,f] = solve(eqs{:},vars{:})
Решает её верно, однако, вместо числовых значений в уравнения нужно подставлять значения a,b,c.
Т.е.:
Matlab M
1
2
3
4
5
eqs = {'x= x*(1-a)+y*(1-a)',...
       'y=(c)*x+(c)*y+(2*b)*z',...
       'z=(a*b)*x+(1/6)*y+(a*b)*z+(5*c)*f',...
       'f=(a*b)*x+(c)*y+(a*b)*z+(c)*f',...
       'x+y+z+f=1'};
Вопрос следующий: как организовать подстановку значений a,b,c в систему?
Пробовал через subs('x',[a]) - но получил [empty sum]
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.06.2015, 18:56
Ответы с готовыми решениями:

Решить систему уравнений
G1*C1*T1_0-G1*C1*T1+F*q G2*C2*T2_0-G2*C2*T2+F*(-q) q=K*(T2-T1) С этой системы нелинейных уравнений нужно найти: G2 T2.

Решить систему уравнений
Помогите решить систему уравнений

Как решают систему уравнений?
syms I I1k = 1 + I; I2k = 1 + I; J = 39.492 - 4.731*i; E = 86.345 + 49.851*i; z = 10+9.99i; z1 = 6-7.958i; z2 = 6+8.011i; ...

5
 Аватар для Norwall
177 / 143 / 50
Регистрация: 07.02.2014
Сообщений: 489
01.06.2015, 20:25
Лучший ответ Сообщение было отмечено DocC как решение

Решение

DocC,
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
clc, clear all, close all
 
syms a b c
 
eqs = {'x = x*(1-a)+y*(1-a)',...
    'y = (c)*x+(c)*y+(2*b)*z',...
    'z = (a*b)*x+(1/6)*y+(a*b)*z+(5*c)*f',...
    'f = (a*b)*x+(c)*y+(a*b)*z+(c)*f',...
    'x + y + z + f = 1'};
 
for  i = 1:5
    m(i,:) = subs(eqs{i}, {a, b, c}, {1/2, 1/3, 1/6})
end
 
vars = {'x','y','z','f'};
 
[x,y,z,f] = solve(m(:),vars{:})
1
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
01.06.2015, 20:28
Попробуйте или подстановку, т.е. ранее определить значения констант. Например:
а = 1/2 ; и так далее

Либо решать в символьном виде. Для начала надо объяснить MATLABу, что мы хотим работать в символьном виде. Для этого объявляем, что переменные у нас символьные:
syms a b c и т.д...
http://www.mathworks.com/help/symbolic/syms.html
0
338 / 67 / 37
Регистрация: 22.12.2010
Сообщений: 138
01.06.2015, 21:43  [ТС]
Norwall, благодарю. Думал, что всё будет сложнее.
Добавил ввод с клавиатуры для удобства. Может кому-то понадобится.
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
clc, clear all, close all
syms a b c a1 b1 c1
a1=input('Введите a=');
b1=input('Введите b=');
c1=input('Введите c=');
eqs = {'x = x*(1-a)+y*(1-a)',...
    'y = (c)*x+(c)*y+(2*b)*z',...
    'z = (a*b)*x+(1/6)*y+(a*b)*z+(5*c)*f',...
    'f = (a*b)*x+(c)*y+(a*b)*z+(c)*f',...
    'x + y + z + f = 1'};
for  i = 1:5
    m(i,:) = subs(eqs{i}, {a, b, c}, {a1, b1, c1});
end
vars = {'x','y','z','f'};
[x,y,z,f] = solve(m(:),vars{:})
p.s. А не подскажете ли, есть ли способ динамически создавать систему уравнений (для саморазвития спрашиваю )?
0
 Аватар для Norwall
177 / 143 / 50
Регистрация: 07.02.2014
Сообщений: 489
02.06.2015, 07:14
Цитата Сообщение от DocC Посмотреть сообщение
способ динамически создавать систему уравнений
Раскройте смысл, пожалуйста. Что под этим понимать?
0
338 / 67 / 37
Регистрация: 22.12.2010
Сообщений: 138
02.06.2015, 08:38  [ТС]
Norwall,
Допустим есть индекс:
https://www.cyberforum.ru/cgi-bin/latex.cgi?i=1,...,n
И в соответствие с https://www.cyberforum.ru/cgi-bin/latex.cgi?n можно было бы составлять систему из https://www.cyberforum.ru/cgi-bin/latex.cgi?n+1-уравнений с переменными https://www.cyberforum.ru/cgi-bin/latex.cgi?x_1,x_2,...,x_n по какой-то определённой формуле, например :
https://www.cyberforum.ru/cgi-bin/latex.cgi?x_i = \prod_{k=1}^{i}x_k + \sum_{k=i+1}^{n}x_k - i-ые уравнения
https://www.cyberforum.ru/cgi-bin/latex.cgi?x_n = \prod_{k=1}^{n}x_k - n-ое уравнение
https://www.cyberforum.ru/cgi-bin/latex.cgi?x_1+...+x_n = 1 - (n+1)-ое уравнение
Мне, в принципе, не сложно составлять похожие системы в других мат. пакетах (swp например), а потом решать их в MATLAB'е. Но если есть способ автоматизировать генерирование похожих систем прямо в MATLAB'е в зависимости от введённого n (а затем, естественно, решать с помощью solve/dsolve), было бы чудно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.06.2015, 08:38
Помогаю со студенческими работами здесь

Как вычислить систему уравнений?
Как вычислить последнюю систему уравнений? Она вырожденная, но препод говорит что можно как то её решить через комплексные числа или что-то...

Проинтегрировать систему диф. уравнений
Доброго времени суток Господа.Прошу помочь в Matlabe. Мне нужно проинтегрировать сиси. диф. ур-ий. dr/dt = V_r; dθ/dt = V_t/r; ...

Как запрограммировать систему из 12 уравнений
привет всем. как запрограммировать систему из 12 уравнении в Матлабе?

Решить систему нелинейных уравнений
Помогите, пожалуйста, найти ошибку Вот сама система: cosy+x=1,5a 2y-sin(x-0,5)=b a=1, b=1 a=1; b=1; x1=-5:0.1:5;

Решить систему дифференциальных уравнений
http://s61.***********/i174/1412/25/09176deec44c.jpg Добавлено через 10 минут http://upload.akusherstvo.ru/thumbs/708810.jpg ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru