2014 dxdy logo

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

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




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

Код:
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 
phys в сообщении #840017 писал(а):
Как научить матлаб искать нужный мне корень?
Учить Матлаб поступать по велению юзера сложно. Проще самому научиться правильно использовать матлабовские функции, хелп почитать...
Код:
fsolve(@system, 0.5)

ans =

    0.4498

fsolve(@system, 1.5)

ans =

    1.5005

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group