Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 02.11.2015
Сообщений: 4
1

Решение сложной системы нелинейных уравнений

21.12.2016, 23:00. Показов 1045. Ответов 6
Метки нет (Все метки)

Здравствуйте. Необходимо решить систему уравнений.

Система из 10 уравнений, 9 неизвестных:

F = [(1/a)*x4+(w/b)*(x3+x4)*h+(1/w*c)*((x4-x3)/h)-x2;
(1/(w*g))*((x4-x3)/h)+(1/f)*x4+x2+(1/d)*x3+(1/(w*e))*((x4-x3)/h)- x1;
(1/(w*g))*((x4-x3)/h)*p+(1/f)*x4*p+x2*p+(1/(w*g))*(((x4-x3)/h)^2)*(k/w)+(1/f)* )*((x4-x3)/h)*(k/w)+((x2-x1)/h)*(k/w)+x4-x3;
x1*p-p*(1/d)*x3-p*(1/(w*e))*((x4-x3)/h)+(k/w)*((x2-x1)/h)-(k/w)*(1/d)*((x4-x3)/h)- (k/w)*(1/(w*e))* (((x4-x3)/h)^2)+x4- x3;
((x2-x1)/h)(1/a)*((x4-x3)/h)+(w/b)*x4+(1/(w*c))*(((x4-x3)/h)^2)-((x2-x1)/h);
(1/a)*(x3+x4)*h+(w/b)*(x3+x4)*h+(1/(w*c))*x4-(x1+x2)*h;
(1/(w*g))*(((x4-x3)/h)^2)+ (1/f)*((x4-x3)/h)+((x2-x1)/h)+(1/d)*((x4-x3)/h)+(1/(w*e))*(((x4-x3)/h)^2)-((x2-x1)/h);
(1/(w*g))*x4+(1/f)*(x3+x4)*h+(x1+x2)*h+(1/d)*(x3+x4)*h+(1/(w*e))*x3-(x1+x2)*h;
(1/(w*g))*x4*p+(1/f)*(x3+x4)*h*p+(x1+x2)*h*p+(1/(w*g))*((x4-x3)/h)*(k/w)+(1/f)*x4*(k/w)+x2*(k/w)+(x3+x4)*h-(x3+x4)*h;
(x1+x2)*h*p-(1/d)*(x3+x4)*h*p-(1/(w*e))*x3*p+x1*(k/w)-(1/d)*x3*(k/w)-(1/(w*e))*((x4-x3)/h)*(k/w)+(x3+x4)*h-(x3+x4)*h];


Дано:

h=0.0001;
f=50;
w=2*pi*f;
x1=500;
x2=500.02;
x3=500.04;
x4=500.03;

Найти: a, b, c, d, e, f, g, p, k

Пытаюсь решить с помощью fsolve. Не получается, недопонимаю метод решения. Пожалуйста, помогите решить.
Заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2016, 23:00
Ответы с готовыми решениями:

Решение системы нелинейных уравнений
Вот задание) http://upload.akusherstvo.ru/thumbs/703684.jpg F = @(x) ; x0 = ; X = fsolve(F,x0);...

Решение системы нелинейных уравнений
Я в матлабе новичок, было задано решить систему не линейных уравнений \begin{cases} & \text{...

Решение системы нелинейных уравнений
Помогите, пожалуйста, с решением системы нелинейных уравнений в программе Mathlab: Построить...

Решение системы нелинейных уравнений - fsolve
Добрый день! Решаю систему нелинейных уравнений. Все делаю по феншую, как описано в инструкции к...

6
Эксперт по математике/физике
3362 / 1888 / 568
Регистрация: 09.04.2015
Сообщений: 5,297
22.12.2016, 11:12 2
А начальные значения (примерное решение) для искомых переменных можете написать?
А также возможные диапазоны значений искомых переменных.
0
Эксперт по математике/физике
5776 / 4414 / 2107
Регистрация: 14.01.2014
Сообщений: 9,618
22.12.2016, 11:40 3
Уравнений многовато. Исключите одно из 10 уравнений и попробуйте решить систему с разными начальными значениями с небольшими разбросами. Если решения не будут отличаться, значит в системе избыточное число уравнений.
0
Эксперт по математике/физике
3362 / 1888 / 568
Регистрация: 09.04.2015
Сообщений: 5,297
22.12.2016, 14:46 4
triplen, а как у Вас f затесалось сразу в известные и неизвестные переменные?
В Ваших уравнениях много ошибок, Вы их явно не из MATLABа копировали.

F = [(1/a)*x4+(w/b)*(x3+x4)*h+(1/w*c)*((x4-x3)/h)-x2;
(1/(w*g))*((x4-x3)/h)+(1/f)*x4+x2+(1/d)*x3+(1/(w*e))*((x4-x3)/h)- x1;
(1/(w*g))*((x4-x3)/h)*p+(1/f)*x4*p+x2*p+(1/(w*g))*(((x4-x3)/h)^2)*(k/w)+(1/f)* )*((x4-x3)/h)*(k/w)+((x2-x1)/h)*(k/w)+x4-x3;
x1*p-p*(1/d)*x3-p*(1/(w*e))*((x4-x3)/h)+(k/w)*((x2-x1)/h)-(k/w)*(1/d)*((x4-x3)/h)- (k/w)*(1/(w*e))* (((x4-x3)/h)^2)+x4- x3;
((x2-x1)/h)(1/a)*((x4-x3)/h)+(w/b)*x4+(1/(w*c))*(((x4-x3)/h)^2)-((x2-x1)/h);
(1/a)*(x3+x4)*h+(w/b)*(x3+x4)*h+(1/(w*c))*x4-(x1+x2)*h;
(1/(w*g))*(((x4-x3)/h)^2)+ (1/f)*((x4-x3)/h)+((x2-x1)/h)+(1/d)*((x4-x3)/h)+(1/(w*e))*(((x4-x3)/h)^2)-((x2-x1)/h);
(1/(w*g))*x4+(1/f)*(x3+x4)*h+(x1+x2)*h+(1/d)*(x3+x4)*h+(1/(w*e))*x3-(x1+x2)*h;
(1/(w*g))*x4*p+(1/f)*(x3+x4)*h*p+(x1+x2)*h*p+(1/(w*g))*((x4-x3)/h)*(k/w)+(1/f)*x4*(k/w)+x2*(k/w)+ (x3+x4)*h-(x3+x4)*h;
(x1+x2)*h*p-(1/d)*(x3+x4)*h*p-(1/(w*e))*x3*p+x1*(k/w)-(1/d)*x3*(k/w)-(1/(w*e))*((x4-x3)/h)*(k/w)+ (x3+x4)*h-(x3+x4)*h];
0
0 / 0 / 0
Регистрация: 02.11.2015
Сообщений: 4
22.12.2016, 20:05  [ТС] 5
Извините, не из того файла вставила.

Не могу назвать приблизительный диапазон значений переменных. Не знаю, как задать начальное приближение. Выдается ошибка Failure in initial objective function evaluation. FSOLVE cannot continue.
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
clear, clc
h=0.0001;   
w=2*pi*50;
a=500;
b=500.02;
c=500.04;
d=500.03;
F =@(x)[(1/(w*x(7)))*((d-c)/h)+(1/x(6))*d+(1/x(1))*d+(w/x(2))*(c+d)*h+(1/w*x(3))*((d-c)/h)+(1/x(4))*c+(1/(w*x(5)))*((d-c)/h)-a;
(1/(w*x(7)))*((d-c)/h)*x(8)+(1/x(6))*d*x(8)+b*x(8)+(1/(w*x(7)))*(((d-c)/h)^2)*(x(9)/w)+(1/x(6))*((d-c)/h)*(x(9)/w)+((b-a)/h)*(x(9)/w)+d-c;
a*x(8)-x(8)*(1/x(4))*c-x(8)*(1/(w*x(5)))*((d-c)/h)+(x(9)/w)*((b-a)/h)-(x(9)/w)*(1/x(4))*((d-c)/h)- (x(9)/w)*(1/(w*x(5)))*(((d-c)/h)^2)+d-c;
(1/x(1))*((d-c)/h)+(w/x(2))*d+(1/(w*x(3)))*(((d-c)/h)^2)-((b-a)/h);
(1/x(1))*(c+d)*h+(w/x(2))*(c+d)*h+(1/(w*x(3)))*d-(a+b)*h;
(1/(w*x(7)))*(((d-c)/h)^2)+(1/x(6))*((d-c)/h)+((b-a)/h)+(1/x(4))*((d-a)/h)+(1/(w*x(5)))*(((d-c)/h)^2)-((b-a)/h);
(1/(w*x(7)))*d+(1/x(6))*(c+d)*h+(a+b)*h+(1/x(4))*(c+d)*h+(1/(w*x(5)))*c-(a+b)*h;
(1/(w*x(7)))*d*p+(1/x(6))*(c+d)*h*x(8)+(a+b)*h*x(8)+(1/(w*x(7)))*((d-c)/h)*(x(9)/w)+(1/x(6))*d*(x(9)/w)+b*(x(9)/w)+(c+d)*h-(c+d)*h;
(a+b)*h*x(8)-(1/x(4))*(c+d)*h*x(8)-(1/(w*x(5)))*c*x(8)+a*(x(9)/w)-(1/x(4))*c*(x(9)/w)-(1/(w*x(5)))*((d-c)/h)*(x(9)/w)+(c+d)*h-(c+d)*h];
x0 = [508; 1176; 244; 511; 1; 511; 1; 511; 1270];
X = fsolve(F,x0);
0
Эксперт по математике/физике
3362 / 1888 / 568
Регистрация: 09.04.2015
Сообщений: 5,297
23.12.2016, 09:33 6
Во-первых, у Вас ошибка в 15 строке - осталась не замененной переменная p.
Цитата Сообщение от triplen Посмотреть сообщение
Не могу назвать приблизительный диапазон значений переменных.
Это очень плохо. Такая система вполне может иметь несколько корней и получается совершенно неизвестно какие имеют физически допустимое значение.
Точка приблизительно в районе корня (максимальная невязка 0.082)
x0 = [0.9162; 508.49; 144.05; 8.1637e+08; -9.1167e+10; -8.0093e+13; 3.4957e+07; 2.0001e-05; -1.2576e-06];
Величины корней x4, x5, x6, x7 очень сильно отличаются от остальных и мешают более точному поису корней.
Предлагаю составить новую систему уравнений, в которой перечисленные переменные заменить на обратные, возможно это позволит найти более точное значение корня (и может для новой системы и fsolve будет искать корни).
0
0 / 0 / 0
Регистрация: 02.11.2015
Сообщений: 4
24.12.2016, 22:56  [ТС] 7
SSC, спасибо за помощь. Буду пытаться.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2016, 22:56

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Решение системы нелинейных уравнений методом Ньютона
Здравствуйте. Помогите пожалуйста реализовать метод простых итераций и метод Ньютона для решения...

Системы нелинейных уравнений
Доброго времени суток! У меня есть по этой теме вопрос: простенькое ЧИСЛЕННОЕ решение (без...

Системы нелинейных уравнений
системы нелинейных уравнений

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.