Как написать программу для решения уравнения

Если алгебраическое уравнение записано в виде (x=varphi left(x right)), то при выполнении определенных условий решение уравнения (приближенное) может быть найдено методом последовательных приближений. Суть метода состоит в том, что n+1-е приближение для корня уравнения (x_) вычисляется на основе n-го приближения (x_) через соотношение: $$x_=varphi left(x_ right)$$ Дальше задается начальное условие для начального решения, проверяется выполнение условия возможности применения приближенного метода, а затем применяются итерационные формулы. Программа для решения уравнения (x^-5x+6=0) итерационным методом приведена ниже. Здесь надо обратить внимание, что для каждого из корней (x=2,x=3) построены свои схемы из-за того, что возникают ограничения на выполнение условий применимости итерационного алгоритма. Для первого корня уравнение представляем в виде: $$x=left(x^+6 right)/5$$ но условие: $$left|dvarphi /dx right| выполняется только на интервале: (left|x right| $$x=sqrt$$ и тогда указанное выше условие выполняется для (x>2,45) а значит интересующий нас корень попадает в указанный диапазон.

Научиться программировать — C# — «решение квадратного уравнения», разбор задачи (часть 1)

Мне нравится

    • Умножение на два в степени
    • Аргументы со значениями по умолчанию в С++
    • Пример работы с потоками в С++
    • Метод половинного деления в С++

    Оставить комментарий

    Вы должны быть авторизованы , чтобы оставить или оценить комментарий.

    Новые записи

    • Сравнение различных типов .
    • Зачем нужна аналитика Вайл.
    • Розкриття потужності ігров.
    • Про сувенірну продукцію та.
    • Защита зрения: контактные .
    • Про обладнання для шкільни.
    • Сила настільних ігор для к.
    • Як матраци Sleep Fly забез.
    • Что такое портативная элек.
    • Какой интернет магазин пла.

    Новые комментарии

    • Я нашел работу уже на посл
    • Наклон шрифта удобно и точ
    • И что это значит? совершен
    • Спасибо. Крутые советы!
    • интерестно
    • «Сделайте пожалуйста
    • Ну вот — «бессмысленн
    • Бред. Выкладывать данные н
    • На каком основании вы гово
    • Только что придумал идею д

    Популярные записи

    • Гостовские чертежные рамки.
    • 72 образца характеристик н.
    • Чертежные шрифты студентам.
    • Миллиметровка, система коо.
    • Титульный лист курсовой ра.
    • Таблица производных и инте.
    • Построение поверхностей
    • Пишем характеристику студе.
    • Заявление на отчисление и .
    • Пишем отзыв руководителя

    Новые объявления

    • Чем отличаются услуги грам.
    • Серебряное мужское кольцо .
    • Особенности и разновидност.
    • Почему и когда нужен аудит.
    • Быстрая покупка бикоина на.
    • Не важно где ты находишься.
    • Неожиданная причина почему.
    • Как уберечь себя и свое пр.
    • Несколько советов покупате.
    • Доставка воды как бизнес

    Источник: studlab.com

    Java — урок 5.4 (Практика — решаем квадратное уравнение)

    Как написать программу решения дифференциального уравнения… ( C++ )

    Для численного решения обыкновенных дифференциальных уравнений различают задачи с начальными условиями (ЗНУ) и граничными условиями (ЗГУ).

    Дело в том, что для полного определения искомой функции одного уравнения недостаточно. При определении первообразной из производной функции мы получим множество решений, отличающихся друг от друга свободным членом (константой С).

    Читайте также:
    Программа как отделить музыку от слов

    Поэтому, для однозначного определения данной константы С, у искомой функции должны задаваться еще граничные условия, указывающие, что делается на концах исследуемого интервала, и/или начальные условия, описывающие значение функции
    в начальный момент (t = 0). Совокупность граничных и начальных условий называется краевыми условиями.

    Для численного решения обыкновенных дифференциальных уравнений применяют метод Рунге-Кутта, с наиболее часто используемым 4-ым порядком точности. Давайте рассмотрим программную реализацию данного метода Рунге-Кутта, и Вы увидите, что написать программу для решения дифференциального уравнения не составляет особого труда.

    Вариант решения задачи рассмотрю на следующем примере:

    Условия задачи:
    Пусть выстрел из орудия произведен с начальной скоростью V0, под углом к горизонту α, с высоты Н0 расположения орудия, т.к. в реальности огонь может вестись с холма или из капонира (т.е. ниже уровня земли).
    Считаем, что снаряд имеет форму шара с радиусом r, изготовлен из материала, имеющего определенную плотность ρ.
    Построить траекторию полета снаряда Y(x) ,
    указать максимальную высоту полета Hk , дальность падения снаряда Xk и время полета tk , построить график скорости V(t) на отрезке [0,tk].

    Таким образом, исходные данные, которые пользователь может задать на форме:
    Начальная скорость V0, м/с2
    Начальная высота H0, м
    Угол выстрела α, ° (град)
    Плотность материала ρ, кг/м3
    Радиус r, м

    При построении математической модели условимся, что ось Оx системы координат направлена горизонтально в направлении выстрела, а ось Oy — вертикально вверх. Вектор скорости снаряда V(t) за время полета будет изменяться как по величине, так и по направлению, поэтому в модели рассматриваем его проекции на координатные оси. Горизонтальную составляющую скорости в момент времени t обозначим Vx(t), а вертикальную – Vy(t).

    Пусть поверхность Земли плоская. Согласно законам механики, при сделанных предположениях движения тела в горизонтальном направлении является равномерным, а в вертикальном – равнозамедленным или равноускоренным с ускорением свободного падения g.

    Если с силой тяжести FT все достаточно просто (она свой вектор не меняет ни по величине, ни по направлению), то сила лобового сопротивления FC , действующая на снаряд, пропорциональна квадрату скорости движения тела. Обозначим через FX и FY горизонтальную и вертикальную проекции вектора силы лобового сопротивления,
    причем FX/F= VX/V, FY/F= VY/V.

    тело брошенное под углом к горизонту

    Значение силы лобового сопротивления F= -b·V² (пропорционально квадрату скорости тела). Коэффициент b=0.5·C·S·ρ, где C – коэффициент лобового сопротивления (для многих задач баллистики C≈0.15), S – площадь поперечного сечения (S=πr²), ρ — плотность воздуха (ρ=1,29 кг/м3).

    Решение поставленной задачи можно свести к решению системы дифференциальных уравнений

    Система дифференциальных уравнений

    Метод Рунге-Кутта предполагает многократное вычисление значения производной искомой функции по имеющейся формуле (из уравнения), поэтому имеет смысл …

    Читайте также:
    Программа содержание которой направлено на целостный педагогический процесс и включает все основные

    Код функций будет выглядеть так:

    // функция Нахождение горизонтальной проекции скорости
    //по первому уравнению системы
    double Form1::fvx( double vy, double vx )
    <
    return -b*vx*sqrt(vx*vx+vy*vy) / m;
    >

    // функция Нахождение вертикальной проекции скорости
    //по второму уравнению системы
    double Form1::fvy( double vy, double vx )
    <
    return -b*vy*sqrt(vx*vx+vy*vy) / m — g;
    >

    Шаг интегрирования у меня задается на форме.
    Сейчас нам предстоит вычислить значения нескольких функций (Vx, Vy, V ) в точках интервала с шагом. В моем примере у интервала задано начало х=0, а конечная точка интервала будет определена в процессе вычисления ( высота полета ядра стала <=0).
    Результаты вычислений помещаются в массивы…

    Код процедуры будет выглядеть так:

    Void Form1::Runge_Kutta(void)
    double k1,k2,k3,k4, l1,l2,l3,l4;

    pY[0]=H; pX[0]=0; pt[0]=0; //массивы-координаты: высота, дальность и время
    pVx[0]=Vx; pVy[0]=Vy; pV[0]=V; //массивы- скорости: проекции на
    //горизонталь и вертикаль и полная скорость (величина вектора)
    bool vzbool=true;//взлет
    int i=1;

    //расчет по модели и заполнение массивов
    while( (pY[i-1]>-0.00001 || vzbool) i <
    pt[i] =pt[i-1]+_h;
    k1 = _h * fvx( pVy[i-1], pVx[i-1]);
    l1 = _h * fvy( pVy[i-1], pVx[i-1]);
    k2 = _h * fvx( pVy[i-1]+l1/2, pVx[i-1]+k1/2 );
    l2 = _h * fvy( pVy[i-1]+l1/2, pVx[i-1]+k1/2 );
    k3 = _h * fvx( pVy[i-1]+l2/2, pVx[i-1]+k2/2 );
    l3 = _h * fvy( pVy[i-1]+l2/2, pVx[i-1]+k2/2 );
    k4 = _h * fvx( pVy[i-1]+l3, pVx[i-1]+k3 );
    l4 = _h * fvy( pVy[i-1]+l3, pVx[i-1]+k3 );

    //вот собственно формула, определяющая метод Рунге-Кутта:
    // получаем проекции скорости из предварительно полученных
    //приближенных значений
    pVx[i]=pVx[i-1] + (k1+2*k2+2*k3+k4)/6;
    pVy[i]=pVy[i-1] + (l1+2*l2+2*l3+l4)/6;

    pV[i] = sqrt( pVx[i]*pVx[i] + pVy[i]*pVy[i] ); //величина вектора скорости
    //из проекций

    pY[i]=pY[i-1]+pVy[i]*h;
    pX[i]=pX[i-1]+pVx[i]*h; //пересчет координат

    if(pY[i]>pY[i-1]) iMax=i; //сохранение номера узла с максимальной высотой
    else vzbool=false;//падение

    i++;
    >
    n=i-1; //количество реальных шагов
    >

    где:
    int iMax; //узел с макс.высотой полета

    double b; //коэф.пропорциональности Силы лобового сопротивления
    double m; //масса ядра
    double H; //уровень расположения орудия в момент выстрела
    double V,Vx,Vy; //начальная скорость и ее проекции на оси

    В результате работы этой подпрограммы произойдет численное решение задачи Коши для системы обыкновенных дифференциальных уравнений и будут получены значения функций Vx(ti), Vy(ti) в точках ti=i·h, i=1,2. ; h – шаг метода.

    Как видим, после получения нового значения скорости Vx(ti)
    рассчитывается координата X(ti)=X(ti-1)+h·Vx(ti), где h= ti-ti-1 = const.
    Кроме того, параллельно рассчитывается значение высоты Y(ti)=Y(ti-1)+h·Vy(ti),
    где h= ti-ti-1 = const по найденным значениям Vy(ti).
    Когда будет получено значение Y(ti), вычисления заканчиваются
    (немного модифицировано в условиях цикла while).

    Кроме того, в программе интерполируются функции y(t), у(х) для нахождения более точных значений дальности и времени полета, а также максимальной высоты траектории. Полученные при интерполяции данные используем для построения траектории полета снаряда с более мелким шагом, например h=0,02 (сек).

    Также в программе для сравнения проведен расчет по упрощенной модели, известной как модель Галилея, пренебрегая сопротивлением воздуха.

    программа, моделирующая полет ядра под углом к горизонту

    Желающим, УДАЛЕННО (или В ФОРМЕ РЕПЕТИТОРСТВА), объясню материал
    на примере ИХ ВАРИАНТА ЗАДАНИЯ…
    Исходный код с подробными комментариями – на Ваш носитель или e-mail.

    Читайте также:
    Обучающие программы примеры информатика

    Источник: orenstudent.ru

    Исследовательская работа на тему: �«Исследование методов решения уравнений с помощью компьютерных программ

    Проблема : создать программу для автоматического решения уравнений Объект иследования : решение уравнений с помощью компьютера Предмет исследования : компьютерные программы Гипотеза: я считаю, что компьютерные программы для решения уравнений автоматизируют вычисление корней

    • Проблема : создать программу для автоматического решения уравнений
    • Объект иследования : решение уравнений с помощью компьютера
    • Предмет исследования : компьютерные программы
    • Гипотеза: я считаю, что компьютерные программы для решения уравнений автоматизируют вычисление корней

    Цель исследования : изучить и создать программы для автоматического вычисления корней уравнения. Поставленная цель исследования предполагает решения ряда задач :

    Цель исследования : изучить и создать программы для автоматического вычисления корней уравнения.

    Поставленная цель исследования предполагает решения ряда задач :

    • Изучить различные виды уравнений
    • Изучить способы решения уравнений
    • Составить алгоритм решения уравнений
    • Разработать вычислительные программы для решения уравнений
    • Проанализировать результаты вычислений
    • Сформулировать выводы и рекомендации по выбору программы для решения уравнений с помощью компьютера

    Методы исследования : сравнение и анализ, эксперимент, метод визуализации данных. Новизна исследования заключается в экспериментальной проверке компьютерных вычислений с помощью табличного процессора. Практическая значимость состоит в том, что созданные для проведения эксперимента программы можно будет использовать и в дальнейшем для нахождения корней уравнения

    • Методы исследования : сравнение и анализ, эксперимент, метод визуализации данных.
    • Новизна исследования заключается в экспериментальной проверке компьютерных вычислений с помощью табличного процессора.
    • Практическая значимость состоит в том, что созданные для проведения эксперимента программы можно будет использовать и в дальнейшем для нахождения корней уравнения

    Задача № 1 Изучить различные виды уравнений

    Задача № 1 Изучить различные виды уравнений

    Задача № 2 Изучить способы решения уравнений

    Задача № 2 Изучить способы решения уравнений

    В своей работе, я решила остановиться на квадратных и биквадратных уравнениях, так как эти виды уравнений – самые распространенные. Они используются в таких науках , как алгебра, физика, геометрия и химия. Способы решения квадратных уравнений:

    В своей работе, я решила остановиться на квадратных и биквадратных уравнениях, так как эти виды уравнений – самые распространенные. Они используются в таких науках , как алгебра, физика, геометрия и химия.

    Способы решения квадратных уравнений:

    Способы решения биквадратных уравнений: Для решения биквадратного уравнения нужно сделать подстановку х 2 = t, найти корни t 1 и t 2 квадратного уравнения аt 2 + bt + c = 0 и решить уравнения х 2 = t 1 и х 2 = t 2 . Они имеют решения лишь в случае, когда t 1,2 ≥ 0.

    • Общая формула для вычисления корней (нахождение дискриминанта)
    • Использование прямой и обратной теоремы Виета
    • Графический способ решения квадратных уравнений

    Способы решения биквадратных уравнений:

    Для решения биквадратного уравнения нужно сделать подстановку х 2 = t, найти корни t 1 и t 2 квадратного уравнения

    аt 2 + bt + c = 0 и решить уравнения х 2 = t 1 и х 2 = t 2 . Они имеют решения лишь в случае, когда t 1,2 ≥ 0.

    Задача № 3 Составить алгоритм решения уравнений

    Задача № 3 Составить алгоритм решения уравнений

    Алгоритм решения квадратного уравнения

    Алгоритм решения квадратного уравнения

    Алгоритм решения биквадратного уравнения

    Алгоритм решения биквадратного уравнения

    Задача № 4 Разработать вычислительные программы для решения уравнений

    Задача № 4 Разработать вычислительные программы для решения уравнений

    Программу которую я решила взять для решения уравнений – это MS Excel Microsoft excel – программа для работы с электронными таблицами, созданная компанией Microsoft. Она представляет возможности экономико – статистических расчетов, графические инструменты

    Программу которую я решила взять для решения уравнений – это MS Excel

    Microsoft excel – программа для работы с электронными таблицами, созданная компанией Microsoft. Она представляет возможности экономико – статистических расчетов, графические инструменты

    Технология решения квадратного уравнения в MS Excel

    Технология решения квадратного уравнения в MS Excel

    Технология решения биквадратного уравнения в MS Excel

    Технология решения биквадратного уравнения в MS Excel

    Задача № 5 Проанализировать результаты вычислений, сформулировать выводы.

    Задача № 5 Проанализировать результаты вычислений, сформулировать выводы.

    Данная исследовательская работа позволила мне понять, что любую проблему можно решить. В школе нас этому учат. Мы знакомимся с различного рода задачами, и для их решения составляем уравнение. Также в школе нас знакомят с методами решения уравнений, открытыми великими математиками. Я научилась решать эти уравнения с помощью компьютерных технологий. В итоге изучения материала о квадратных и биквадратных уравнениях я не только овладела применением алгоритмических предписаний к решению конкретных заданий, но и научилась использовать логические средства для обоснования решений в случаях, когда это необходимо.

    Данная исследовательская работа позволила мне понять, что любую проблему можно решить. В школе нас этому учат. Мы знакомимся с различного рода задачами, и для их решения составляем уравнение. Также в школе нас знакомят с методами решения уравнений, открытыми великими математиками. Я научилась решать эти уравнения с помощью компьютерных технологий.

    В итоге изучения материала о квадратных и биквадратных уравнениях я не только овладела применением алгоритмических предписаний к решению конкретных заданий, но и научилась использовать логические средства для обоснования решений в случаях, когда это необходимо.

    Источник: kopilkaurokov.ru

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru