Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 26.05.2018
Сообщений: 12
1

Разбить функцию на сумму и найти коэффициенты

04.12.2018, 23:08. Показов 2964. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть функция вида H(S)=533.6/((S^3+4*S^2+8*S+8)*(S^2+0.667^2))
Хочу представить в виде суммы коэффициентов, деленных на корни знамени знаменателя (в том числе и мнимые). Т.е. методом неопределенных коэффициентов.
Не могу найти ни корни, ни полюсы.
Грубо говоря, хочу представить это в виде как в приложении.
Вложения, ожидающие проверки
Тип файла: png Безымянный.png
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2018, 23:08
Ответы с готовыми решениями:

Найти коэффициенты A и B, функцию f(x)
Непрерываня случайная велечина X задана интегральной функцией распределения: F(x)= (при x<=0 ,0 ...

Найти предел последовательности, разбить алгоритм на программу и функцию
Продолжаю изучать Паскаль, вот теперь у меня тут непонимание возникло:resent: Задание такое: В...

Ввести число n, разбить число на цифры, и найти сумму этих цифр
Здравствуйте.Очень нужно сделать задание, кто может? Заранее спасибо!!! Ввести число n, разбить...

Найдите коэффициенты и запишите в ответ их сумму (т.е. a+b+c+d)
Здравствуйте. Не могу решить, даже преобразовать.

7
Эксперт по математике/физике
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
05.12.2018, 07:57 2
То, что Вы не можете найти корни множителя (S^2+0.667^2), это очень печально.
Для второго множителя один из корней -2, остальное уж сами.
0
0 / 0 / 0
Регистрация: 26.05.2018
Сообщений: 12
05.12.2018, 14:54  [ТС] 3
Так не проблема найти корни, проблема найти коэффициенты. Ручками я могу, вопрос, как это в матлабе сделать?
0
Эксперт по математике/физике
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
06.12.2018, 08:16 4
Цитата Сообщение от lemom Посмотреть сообщение
как это в матлабе сделать?
Функция roots для численного нахождения корней полинома.
Функция solve найдет корни полинома до 4 степени включительно символьно
1
0 / 0 / 0
Регистрация: 26.05.2018
Сообщений: 12
06.12.2018, 09:32  [ТС] 5
и коэффициенты искать отдельно системой линейных уравнений?
я думал есть что-то вроде факторизации для разделения на слагаемые
мб есть формат в матлабе, чтобы он не приводил выражение к такому виду? (оставался 0,667^2 и 0,667)
Миниатюры
Разбить функцию на сумму и найти коэффициенты  
0
Эксперт по математике/физике
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
06.12.2018, 09:52 6
Лучший ответ Сообщение было отмечено lemom как решение

Решение

Еще есть функция factor
Matlab M
1
2
3
4
5
6
7
p=sym( '(S^3+4*S^2+8*S+8)*(S^2+0.667^2)' ); 
pf=factor(p);
pretty(pf)
                      2                       2 
  (1000000.0 S  + 444889.0) (S + 2.0) (S  + 2.0 S + 4.0) 
  ------------------------------------------------------ 
                         1000000
но она не дает комплексных корней

Цитата Сообщение от lemom Посмотреть сообщение
чтобы он не приводил выражение к такому виду? (оставался 0,667^2 и 0,667)
Ну у Вас просто мечта об "ИДЕАЛЬНОМ САПРе".

PS
"ИДЕАЛЬНЫЙ САПР" - большая красная кнопка, надавил на нее, а сзади выскакивают чертежи и медальки
1
0 / 0 / 0
Регистрация: 26.05.2018
Сообщений: 12
06.12.2018, 14:00  [ТС] 7
Matlab M
1
2
3
4
5
6
7
p=str2sym( '(S^3+4*S^2+8*S+8)*(S^2+0.667^2)' ); 
pf=factor(p);
pretty(pf)
                      2                       2 
  (1000000.0 S  + 444889.0) (S + 2.0) (S  + 2.0 S + 4.0) 
  ------------------------------------------------------ 
                         1000000
sym->str2sym
спасибо
0
Модератор
1700 / 1552 / 520
Регистрация: 13.09.2015
Сообщений: 5,370
06.12.2018, 22:14 8
Лучший ответ Сообщение было отмечено lemom как решение

Решение

lemom, вас такое разложение устроит?
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
num=533.6;
den1=[1 4 8 8];
den2=[1 0 0.667^2];
[r,p,k]=residue(num,conv(den1,den2))
 
r =
 
  30.0120 + 0.0000i
  16.4461 -11.8716i
  16.4461 +11.8716i
 -31.4521 -38.8244i
 -31.4521 +38.8244i
 
 
p =
 
  -2.0000 + 0.0000i
  -1.0000 + 1.7321i
  -1.0000 - 1.7321i
   0.0000 + 0.6670i
   0.0000 - 0.6670i
 
 
k =
 
     []
Соответственно, получается сумма следующих дробей:

https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{30.0120}{s+2}+\frac{16.4461-11.8716i}{s-\left(-1.0000+1.7321i\right)}+\frac{16.4461+11.8716i}{s-\left(-1.0000-1.7321i\right)}+\frac{-31.4521-38.8244i}{s-0.6670i}+\frac{-31.4521+38.8244i}{s+0.6670i}
1
06.12.2018, 22:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2018, 22:14
Помогаю со студенческими работами здесь

Написать небольшую функцию, которая будет считать коэффициенты регрессии
Добрый день. Нужно сделать на C# небольшую функцию, которая будет считать коэффициенты...

Переписать коэффициенты прямых, параллельных первой прямой (коэффициенты заданы в типизированном файле)
Прямая на плоскости задается уравнением Ax+by+c=0, где A и В одновременно не равняются нулю. пусть...

Найти сумму s=(a+b)+(c+d), используя функцию
9.найти сумму s=(a+b)+(c+d), использую функцию

Написать функцию, которая решает систему линейных уравнений, коэффициенты которых вводятся с клавиатуры
Добрый день господа программисты и системные администраторы. Я дико извиняюсь за беспокойство, но...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru