Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Решение дифференциальных уравнений с помощью степенных рядов
Пример: Решить дифференциальное уравнение y' = cosx+ey с начальным условием y(0) = 1. Решение: Обращение к dsolve возвращает сообщение о том, что решение не найдено: >> dsolve('Dy=cos(x)+exp(y)','y(0)=1','x') ans = [ empty sym ] Команда dsolve не нашла аналитического решения в MATLAB. Известно, что решения этого дифференциального уравнения в аналитическом виде не существует. Найти разложение решения в степенной ряд (до 6 -й степени по умолчанию) можно с помощью команды dsolve системы Maple. >> maple('dsolve({diff(y(x),x)=cos(x)+exp(y(x)),y(0)=1},y(x),series)') ans = y(x) = series(1+(1+exp(1))*x+(1/2*exp(1)*(1+exp(1)))*x^2+(-1/6+1/3*exp(1)*(3/2*exp(1)+exp(1)^2+1/2))*x^3+(1/2*exp(1)^3+1/4*exp(1)^4+7/24*exp(1)^2)*x^4+(1/2*exp(1)^4+1/5*exp(1)^5+5/12*exp(1)^3+1/120-1/40*exp(1)+1/12*exp(1)^2)*x^5+O(x^6),x,6) Имеется возможность управлять порядком разложения. Найдем разложение решения в степенной ряд до 3 -й степени: >> maple('Order:=3;dsolve({diff(y(x),x)=cos(x)+exp(y(x)),y(0)=1},y(x),series)') ans = Order:= 3y(x) = series(1+(1+exp(1))*x+(1/2*exp(1)*(1+exp(1)))*x^2+O(x^3),x,3) Решение тригонометрических уравнений
Пример: Решить тригонометрическое уравнение cos2x+ sinx = 1. Решение: Обращение к solve приводит к следующим решениям: >> syms x >> solve('cos(2*x)+sin(x)=1',x) ans = [ 0] [ pi] [ 1/6*pi] [ 5/6*pi] Отметим, что непосредственно в MATLAB команда solve возвращает только значения корней, которые находятся в интервале [-p;p]. Для получения всех решений тригонометрического уравнения cos2x+ sinx = 1 следует использовать следующие команды системы Maple: >> maple('_EnvAllSolutions:=true'); >> maple('solve(cos(2*x)+sin(x)=1,x)') ans = 2*pi*_Z, pi+2*pi*_Z, 1/6*pi+2*pi*_Z, 5/6*pi+2*pi*_Z Здесь _Z – переменная целого типа. Вопросы для самопроверки 1. Как создать символьную переменную в MATLAB? 2. Как в MATLAB осуществляется управление точностью вычислений? 3. Как выполняются в MATLABупрощения и подстановки в символьных выражениях? 4. Как в MATLAB вычислить в символьном виде значение предела функции? 5. Как выполнить в MATLABдифференцирование в символьном виде? 6. Как вычислить в MATLABзначение интеграла в символьном виде? 7. Как получить в MATLABв символьном виде разложение функции в ряд? 8. Как вычислить в MATLABзначение суммы и произведения ряда в символьном виде? 9. Как можно в MATLAB найти решение алгебраического уравнения в символьном виде? 10. Как можно в MATLAB найти решение дифференциального уравнения в символьном виде? 11. Как осуществляется в MATLAB в символьном виде прямое и обратное преобразование Лапласа? 12. Перечислите встроенные в MATLAB средства визуализации символьных вычислений? 13. Как можно в MATLAB обратится к ядру системы Maple? ПРИЛОЖЕНИЯ
|