Форум программистов, компьютерный форум, киберфорум
Наши страницы
Matlab
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
Sainret
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 13
#1

Решение системы уравнений

04.06.2013, 00:54. Просмотров 2713. Ответов 20
Метки нет (Все метки)

помогите реализовать решение системы уравнений,
система уравнений по сути не сложная, но не пойму как её реализовать на матлабе:
Warning: Explicit solution could not be found. все время выдает
Система выглядит следующим образом:
Matlab M
1
2
CE*cos(fi3)+DE*sin(fi5)=CD*cos(fi3+fi4)
CE*sin(fi3)+DE*cos(fi5)=CD*sin(fi3+fi4)
где CE=22
DE=22
CD=40
fi4=arccos((CE^2+CD^2-DE^2)/(2*CE*CD))

при решении её вот таким образом:
Matlab M
1
B=solve('CE*cos(fi3)+DE*sin(fi5)=CD*cos((fi4+fi3))','CE*sin(fi3)+DE*cos(fi5)=CD*sin((fi3+fi4))','fi3','fi5')
он выдает:
Warning: Explicit solution could not be found.
> In solve at 140
In reshenie at 35

B =

[ empty sym ]


??? Access to an object's fields is only permitted within its methods.
Помогите плиз!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2013, 00:54
Ответы с готовыми решениями:

Решение системы уравнений (5 уравнений, 3 неизвестные)
мучаюсь и не могу решить систему: b0 = (A*( (A+1) +...

Решение системы уравнений
Добрый вечер! Помогите разобраться с решением системы двух уравнений с тремя...

Решение системы 3-ех уравнений
Доброго дня Возник следующий вопрос: нужно решить систему, состоящую из трех...

Решение системы уравнений
Как решить такую систему уравнений в матлаб (см. вложение)? пробовал вот...

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

20
tvoretsmira
457 / 447 / 56
Регистрация: 28.05.2013
Сообщений: 699
04.06.2013, 10:04 #2
У меня решается
Matlab M
1
2
3
4
5
6
syms fi3 fi5
CE=22; DE=22; CD=40; 
fi4=acos((CE^2+CD^2-DE^2)/(2*CE*CD));
B=solve(CE*cos(fi3)+DE*sin(fi5)==CD*cos((fi4+fi3)),CE*sin( fi3)+DE*cos(fi5)==CD*sin((fi3+fi4)),fi3,fi5)
B.fi3
B.fi5
И выдаёт следующее
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Warning: The solutions are parametrized by the symbols:
z = (Dom::ImageSet(PI +
arccos((20*sin(7740781025443129/18014398509481984))/11) +
2*PI*k, k, Z_) union Dom::ImageSet(PI -
arccos((20*sin(7740781025443129/18014398509481984))/11) +
2*PI*k, k, Z_)) intersect (Dom::ImageSet(arcsin(-
(20*cos(7740781025443129/18014398509481984))/11 + 1) +
2*PI*k, k, Z_) union Dom::ImageSet(PI - arcsin(-
(20*cos(7740781025443129/18014398509481984))/11 + 1) +
2*PI*k, k, Z_))
 
> In solve at 190
  In NonLinSys at 6 
B = 
    fi3: [1x1 sym]
    fi5: [1x1 sym]
ans =
pi
ans =
z
0
Sainret
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 13
04.06.2013, 12:58  [ТС] #3
как видите у вас тоже не выдал решение, но я могу наглядно доказать что решение есть:
вы можете его видеть на картинке
где 4 градуса это fi3 24 градуса 37 минут - это угол fi4 36 градусов 46 минут это угол fi5
а выделенный толстой линией треугольник CED
0
Миниатюры
Решение системы уравнений  
Зосима
4928 / 3297 / 312
Регистрация: 02.04.2012
Сообщений: 6,206
Записей в блоге: 15
Завершенные тесты: 1
04.06.2013, 13:35 #4
Ребятки, а численный метод (fzero) не пробовали?
0
Sainret
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 13
04.06.2013, 13:56  [ТС] #5
нет не пробовал, потому что не знаю как им пользоваться
0
Зосима
4928 / 3297 / 312
Регистрация: 02.04.2012
Сообщений: 6,206
Записей в блоге: 15
Завершенные тесты: 1
04.06.2013, 14:17 #6
Ага, ошибся для решения систем юзают fsolve (описание с примером)

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
clear, clc
 
CE=22;
DE=22 ;
CD=40 ;
fi4 = acos((CE^2+CD^2-DE^2)/(2*CE*CD));
 
% u(1) -> fi3
% u(2) -> fi5
F = @(u) [CE*cos(u(1))+DE*sin(u(2))-CD*cos(u(1)+fi4);
          CE*sin(u(1))+DE*cos(u(2))-CD*sin(u(1)+fi4)];
u0 = [0.1 0.1]; % начальное приближение
R = fsolve(F, u0) % находим численное решение
 
fi = rad2deg(R) % ответ в градусах
Результат:
Код
R =
    0.3557    0.3557

fi =
   20.3800   20.3800
Похоже на правду?
0
Sainret
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 13
04.06.2013, 17:56  [ТС] #7
честно говоря нет не похоже
ибо fi3 должен быть равен 24+ градуса а fi5 36+ градуса
вы на чертеже можете их увидеть
0
Зосима
4928 / 3297 / 312
Регистрация: 02.04.2012
Сообщений: 6,206
Записей в блоге: 15
Завершенные тесты: 1
04.06.2013, 18:17 #8
На твоем чертеже углы не подписаны а fi4 тогда что? Сходится с рассчетом?
А система верная? (ведь тр-к CDE - непрямоугольный!)
0
Sainret
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 13
04.06.2013, 18:24  [ТС] #9
сейчас все подпишу и поймете
0
Зосима
4928 / 3297 / 312
Регистрация: 02.04.2012
Сообщений: 6,206
Записей в блоге: 15
Завершенные тесты: 1
04.06.2013, 18:34 #10
Хм... а попробуй еще такой вариант
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
clear, clc
 
CE=22;
DE=22 ;
CD=40 ;
fi4 = acos((CE^2+CD^2-DE^2)/(2*CE*CD));
 
% u(1) -> fi3
% u(2) -> fi5
F = @(u) [CE*cos(u(1))+DE*sin(u(2))-CD*cos(u(1)+fi4);
          deg2rad(4)+2*u(1)+u(2)-90];
u0 = [0.1 0.1]; % начальное приближение
R = fsolve(F, u0) % находим численное решение
 
fi = rad2deg(R) % ответ в градусах
Второе ур-е в системе взял из рисунка, ведь поидее:
4 + 24.75 + 24.75 + 36.5 = 90
*Если 4 - это fi4, то можешь тего и записать в формуле.

Пробуй и сообщи результат!

Добавлено через 4 минуты
Кстать, если углы нужны в формате "углы,минуты,секунды" то есть встроенная ф-ция конвертер:
degrees2dms
0
Sainret
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 13
04.06.2013, 18:34  [ТС] #11
В предыдущем посте перепутал fi3 должен получится 4 градуса а fi5 36 градусов 46 минут
и вот вам для понимания чертеж новый на нем как вы видите CED не прямоугольный треугольник, но
треугольники CLD CEM EDK прямоугольные и как раз через них то я и нахожу углы fi3 и fi5 изначально зная данные треугольника CED через теорему косинусов нахожу угол fi4 и далее систему уравнений составляю, но она у меня не решает почему-то
если что L это крайняя верхняя левая точка просто забыл её обозначить
0
Миниатюры
Решение системы уравнений  
Sainret
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 13
04.06.2013, 18:48  [ТС] #12
Цитата Сообщение от Зосима Посмотреть сообщение
deg2rad(4)+2*u(1)+u(2)-90
эм из этого следует, что вы неверно уравнение написали вместо 90 надо pi/2
это ваше 2е уравнение системы

а точнее все уравнение не верно, оно должно выглядеть так:
fi4*2+u(1)+u(2)-pi/2
0
Зосима
4928 / 3297 / 312
Регистрация: 02.04.2012
Сообщений: 6,206
Записей в блоге: 15
Завершенные тесты: 1
04.06.2013, 19:00 #13
точно!
Какой результат с такой системой?
fi4 точно получается 24 градуса? ( fi4*180/pi )
0
Sainret
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 13
04.06.2013, 19:03  [ТС] #14
R =

0.2968 0.4146


fi =

17.0040 23.7560
вот что получилось

Добавлено через 1 минуту
для интереса можете проверить подставив значения сторон в теорему косинусов чтобы убедиться что fi4=24 градусам 37 минутам
0
Зосима
4928 / 3297 / 312
Регистрация: 02.04.2012
Сообщений: 6,206
Записей в блоге: 15
Завершенные тесты: 1
04.06.2013, 19:21 #15
Так fi4 правильно считается-то?

Т.е. фактически, по трем сторонам нужно рассчитать все углы?
0
Sainret
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 13
04.06.2013, 19:23  [ТС] #16
fi4 правильно считается все остальные углы нет, и да вы правы по сторонам нужно рассчитать углы именно те которые я указал
0
Зосима
4928 / 3297 / 312
Регистрация: 02.04.2012
Сообщений: 6,206
Записей в блоге: 15
Завершенные тесты: 1
04.06.2013, 19:33 #17
ну хоть что-то правильно!

Хм... Где-то тут в разделе должна быть тема "решение треугольников", где делался и подобный рассчет углов по сторонам, можно кусок выдрать, посмотреть.
Я пока в пути, не могу воспользоваться поиском
0
Sainret
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 13
04.06.2013, 19:39  [ТС] #18
если найдете пожалуйста дайте ссылку, потому что проблема нахождения данных углов тормозит мое дальнейшее решение задачи
0
tvoretsmira
457 / 447 / 56
Регистрация: 28.05.2013
Сообщений: 699
04.06.2013, 22:10 #19
Вообще говоря треугольник на плоскости с задаными сторонами можно повернуть как угодно. И если fi3 и fi5 это углы между треугольником и вертикальной и горизонтальной линией, то должно существовать безконечное множество решений для этих угов.
2
Sainret
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 13
04.06.2013, 22:20  [ТС] #20
черт вы правы, я не учел этого фактора

Добавлено через 4 минуты
хотя с другой стороны это углы не между вертикальной и горизонтальной линией здесь углы в прямоугольных треугольниках примыкающих к моему треугольнику, то есть как ни крути углы те же будут
0
04.06.2013, 22:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2013, 22:20

Найти решение системы уравнений
Здравствуйте. развейте сомнения как надо делать, а то я что-то запуталась : ...

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

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


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

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

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