Форум программистов, компьютерный форум, киберфорум
Наши страницы

Matlab

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

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

04.06.2013, 00:54. Просмотров 2649. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Решение системы уравнений (Matlab):

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

Решение системы уравнений - Matlab
Как решить такую систему уравнений в матлаб (см. вложение)? пробовал вот так: A=; b=; x=A\b В результате получаю: ...

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

Решение системы уравнений - Matlab
Добрый вечер! Помогите разобраться с решением системы двух уравнений с тремя неизвестными. Есть система: ( x + A ) * y = B (...

Решение системы дифференциальных уравнений - Matlab
Добрый день! Понадобилось решить вот такую систему диф.уравнений: \begin{cases} & \text{} \dot{x}-x-2y=t \\ & \text{}...

Решение системы дифференциальных уравнений - Matlab
Возможно ли такое решить в Matlab: \begin{cases} & \text{ } \ddot{y}=-y+x-\dot{y}+\dot{x} \\ & \text{ }...

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
Миниатюры
Решение системы уравнений  
Зосима
4912 / 3281 / 308
Регистрация: 02.04.2012
Сообщений: 6,191
Записей в блоге: 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
Зосима
4912 / 3281 / 308
Регистрация: 02.04.2012
Сообщений: 6,191
Записей в блоге: 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
Зосима
4912 / 3281 / 308
Регистрация: 02.04.2012
Сообщений: 6,191
Записей в блоге: 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
Зосима
4912 / 3281 / 308
Регистрация: 02.04.2012
Сообщений: 6,191
Записей в блоге: 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
Зосима
4912 / 3281 / 308
Регистрация: 02.04.2012
Сообщений: 6,191
Записей в блоге: 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
Зосима
4912 / 3281 / 308
Регистрация: 02.04.2012
Сообщений: 6,191
Записей в блоге: 15
Завершенные тесты: 1
04.06.2013, 19:21 #15
Так fi4 правильно считается-то?

Т.е. фактически, по трем сторонам нужно рассчитать все углы?
0
04.06.2013, 19:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2013, 19:21
Привет! Вот еще темы с ответами:

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

Решение системы дифференциальных уравнений - Matlab
Собственно дана система диф. уравнений и дан решатель ОДУ. но при решении график выдает в форме прямой. а надо сделать в форме кривых...

Решение системы дифференциальных уравнений - Matlab
Доброго времени суто. Помогите пожалуйста решить систему \begin{cases} & \text{ } dh=-g*t-a*G/k \\ & \text{ } dG= ...

Решение системы линейных уравнений - Matlab
Здравствуйте! Надо решить систему с помощью средств встроенных в Matlab (численно и символьно).Численно я решил,а вот символьно не...


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

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

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