реклама на сайте
подробности

 
 
> Как решить систему в Matlab
kt368
сообщение May 6 2014, 05:59
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 454
Регистрация: 13-10-10
Из: Киев
Пользователь №: 60 135



Здравствуйте!
Есть система уравнений вида

Код
R1+2*C1*R2+R1*C1+R1*R2+3R2=10
2*R1+C1*R2+3*R1*C1+3*R1*R2+6*R2=3
3*R1+2C1*R2+2*R1*C1+2*R1*R2+R2=8


Как её можно решить в матлабе с помощью встроенных функций (т.е. автоматически, не вручную)? Это же не система линейных уравнений, поэтому матрично я её решить не могу.
Также хочется уметь её решать для случая когда у неё нет решений, тогда хочется использовать что-то типа метода наименьших квадратов и найти такие значения R1, R2, C1 при которых первое равенства уравнения "почти выполняются", т.е. разнича между значениями слева от знака равно и справа минимальна.

Да, реальная система будет ориентировочно 15-го порядка с 15-ю неизвестными.

Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
RHnd
сообщение May 6 2014, 07:22
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Пусть все неизвестные параметр объединены в вектор x. Тогда у вас набор скалярных функций векторного аргумента вида:
f1(x)=10
f2(x)= 3
f3(x)=8

Далее вам надо минимизировать невязку между f(x) = [f1; f2; f3] и c=[10; 3; 8]. Посмотрите на функцию fminsearch или на родственные ей из Optimization Toolbox, если он у вас есть.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th June 2025 - 19:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01377 секунд с 7
ELECTRONIX ©2004-2016