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

Найти точное и приближенное решения системы нелинейных уравнений

20.12.2012, 17:55. Показов 14420. Ответов 9
Метки нет (Все метки)

Найти точное(если это возможно) и приближенное решения системы нелинейных уравнений, определив начальное приближение графически, с помощью функций solve, fsolve. Если удалось получить точное решение, то оцените абсолютную погрешность приближенного решения ( абсолютной погрешностью решения называется модуль разности точного и приближенного решений)

https://www.cyberforum.ru/cgi-bin/latex.cgi?\left\{sin(x+1)-y=1.2; \\ 2x-cos(y)=2;\right
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2012, 17:55
Ответы с готовыми решениями:

Странные решения системы нелинейных уравнений
В маткаде с помощью метода Квази-Ньютон получил решения системы из семи нелинейных уравнений с...

Заполнение таблицы решения системы нелинейных уравнений
День добрый уважаемые. Помогите пожалуйста решить проблему. Задача. 1. Необходимо решить...

Составить программу решения системы нелинейных уравнений
Составить программу решения системы нелинейных уравнений методами а)Ньютона б)Зейделя. Точность...

Ускорение решения системы нелинейных уравнений в Mathcad
Здравствуйте! Мне хотелось бы узнать, есть ли возможность увеличить скорость решения систем...

9
5142 / 3480 / 356
Регистрация: 02.04.2012
Сообщений: 6,387
Записей в блоге: 16
20.12.2012, 18:22 2
Числовое решение не получилось
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
clear, clc
 
% рисуем графики побыстрячку
ezplot('sin(x+1)-y=1.2'), hold on
ezplot('2*x-cos(y)=2'), title('')
 
% символьное решение
R = solve('sin(x+1)-y=1.2','2*x-cos(y)=2');
x0 = double(R.x)
y0 = double(R.y)
plot(x0,y0,'or') % отмечаем точку пересечения
 
%числовое решение
% y1 = sin(x+1)-1.2
% y2 = acos(2*x-2)
% Y = y1-y2
%x1 = fzero('sin(x+1)-1.2 - acos(2*x-2)',1)
%y1 = sin(x1+1)-1.2
1
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 30
20.12.2012, 18:57  [ТС] 3
Ох, Спасибо Огромное, снова выручили меня, дописал в начале syms x, выжал мне такой листинг
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
x0 =
 
    1.4275
 
 
y0 =
 
   -0.5451
 
 
y1 =
 
sin(x+1)-6/5
 
 
 
y2 =
 
acos(2*x-2)
 
 
 
Y =
 
sin(x+1)-6/5-acos(2*x-2)
 
 
Exiting fzero: aborting search for an interval containing a sign change
    because complex function value encountered during search.
(Function value at 0.36 is -3.3637+0.73189i.)
Check function or try again with a different starting value.
 
x1 =
 
   NaN
 
 
y1 =
 
   NaN
Добавлено через 3 минуты
а как я понял, точное решение это и есть числовое, да?
А да, и еще, в задание сказана использовать функции slove и fsolve, а тут получилось только одна функция, зачем тогда fsolve нужен?

Добавлено через 11 минут
и как с помощью нее решить систему?((
0
5142 / 3480 / 356
Регистрация: 02.04.2012
Сообщений: 6,387
Записей в блоге: 16
20.12.2012, 18:58 4
Числовое у меня не получилось - это есть приближенное.
А fsolve в моем матлабе нет, поэтому я его не использовал
0
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 30
20.12.2012, 19:00  [ТС] 5
хороший матлаб) надеюсь в моем тоже нету)
0
5142 / 3480 / 356
Регистрация: 02.04.2012
Сообщений: 6,387
Записей в блоге: 16
20.12.2012, 19:32 6

Не по теме:

Наверное мне легче рабоотать в старых рограммах, потому что я и сам уже :D


Есть мысля! из второго:
x = (2+cos(y))/2 = 1+cos(y)/2; (раскрыл скобки)
Подставляем в первое:
sin( 1+cos(y)/2 + 1 ) - y = 1.2;
Упрощаем:
sin( 2+cos(y)/2 ) - y - 1.2 = 0;

Можно попроборать засунуть этот страх в fzero и попытаться найти y:
y1 = fzero(sin( 2+cos(y)/2 ) - y - 1.2,0)
И подставить во второе, чтобы получить x1:
x1 = 1+cos(y1)/2

Тогда абсолютные погрешности:
dx = abs(x0-x1)
dy = abs(y0-y1)

Я конечно, сомневаюсь, но попробуй! о результатах доложи!
0
3 / 3 / 0
Регистрация: 10.11.2012
Сообщений: 65
20.12.2012, 20:47 7
Ох, матлаб после такого что то вообще разразился ошибками))
0
5142 / 3480 / 356
Регистрация: 02.04.2012
Сообщений: 6,387
Записей в блоге: 16
20.12.2012, 21:10 8
В fzero я забыл взять выражение в кавычки '' и в нем же лучше заменить y на x (чтобы он не запутался).

*надеюсь ты догадался, что вывод формул перед fzero вводить не нужно, равно как и делать x символьной переменной.
0
3 / 3 / 0
Регистрация: 10.11.2012
Сообщений: 65
20.12.2012, 21:28 9
и про кавычки даже не забыл)) все равно ошибка)
0
5142 / 3480 / 356
Регистрация: 02.04.2012
Сообщений: 6,387
Записей в блоге: 16
21.12.2012, 10:24 10
Я ж говорил:
Цитата Сообщение от Зосима Посмотреть сообщение
лучше заменить y на x

У меня все заработало!
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
clear, clc
 
% рисуем графики побыстрячку
ezplot('sin(x+1)-y=1.2'), hold on
ezplot('2*x-cos(y)=2'), title('')
 
% символьное решение
R = solve('sin(x+1)-y=1.2','2*x-cos(y)=2');
x0 = double(R.x)
y0 = double(R.y)
plot(x0,y0,'or') % отмечаем точку пересечения
 
%числовое решение
y1 = fzero('sin( 2+cos(x)/2 ) - x - 1.2',0)
x1 = 1+cos(y1)/2
 
% абсолютные погрешности:
dx = abs(x0-x1)
dy = abs(y0-y1)
Добавлено через 19 минут
Golsa, а все-таки нужно было через solvе и fzero
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2012, 10:24

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

Метод Ньютона для решения системы нелинейных уравнений
Здравствуйте! Нужно решить методом Ньютона систему уравнений с точностью 0.0001: sin(x+y) - 1.2x =...

Метод Ньютона для решения системы нелинейных уравнений
Программа работает неверно. Пожалуйста, помогите найти ошибки. Спасибо. #include <iostream>...

Метод Ньютона для решения системы нелинейных уравнений
sin(x+2)-y=1.5 x+cos(y-2)=0.5 решить методам Ньютона с погрешностью 0.0001.За начальные...

Метод хорд для решения системы нелинейных уравнений
Здравствуйте, задал вопрос по чисмету вот тут...


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

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

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