2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 solve() в MATLAB7.1 работает некорректно
Сообщение23.03.2014, 18:49 
Аватара пользователя


05/05/11
511
МВТУ
Символьная функция вида:

Код:
diffT =

92.576*cos(2.99018*Z) + 693.448*pi*cos(0.777629*pi*((9007199254740992*Z)/7358931111099161 + 0.14298)) + 508.33*cos(1.49509*Z)*sin(1.49509*Z)


При попытке найти корень, выдает (что, вприцнипе правильно):

Код:
solve(diffT)

ans =

1.50045


График функции:

Код:
plot(0:0.01:L_az, subs(diffT, Z, (0:0.01:L_az)));


Изображение

Явно видно что ноль где то в окрестности $z=0.45$

Скорее всего связано это с тем что функция переодическая, и имеет бесконечное множество корней. Как научить матлаб искать нужный мне корень?

 Профиль  
                  
 
 Re: solve() в MATLAB7.1 работает некорректно
Сообщение23.03.2014, 19:29 


05/09/12
2587
phys в сообщении #840017 писал(а):
Как научить матлаб искать нужный мне корень?
Учить Матлаб поступать по велению юзера сложно. Проще самому научиться правильно использовать матлабовские функции, хелп почитать...
Код:
fsolve(@system, 0.5)

ans =

    0.4498

fsolve(@system, 1.5)

ans =

    1.5005

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group