Вторник, 26.11.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 124
Гостей: 124
Пользователей: 0
Главная » 2017 » Март » 17 » Волны и программирование
20:22
Волны и программирование

Волны и программирование

Здесь:
http://akostina76.ucoz.ru/blog/2017-03-16-3954

… у меня довольно длинный текст не засунутый в функцию. Это потому, что Maple почему-то не захотел сходу численно считать в функции интегралы. Наверное, как то можно уговорить, но это разбираться надо, а результат от метода не зависит.
Перевести это на любой другой язык можно.
Вот простенький пример HTML использования функции eval:
<html>
<title>eval</title>
<script>
function popup() {
    var x = 10;
    var y = 20;
    var a = eval("x * y");
    alert(a);
    var rad=3.14;
    var b=eval("Math.cos(rad)");
    alert(b);
}
</script>
</head>
<body onload="popup()">
    <div id="div1">1111</div>
</body>
</html>
Эта функция по сути – встроенный в язык компилятор, позволяющий переводить в число строку, в которую, например, введена функция. Это означает, что можно в строке написать любую функцию и обработать информацию строки по какой-то кнопке.
Единственное «сложное»  в решении волнового уравнения – расчет интегралов. Но сложен он только при попытке решить аналитически. Численный расчет интегралов – коэффициентов ряда Фурье – дело не сложное.
Здесь у меня немного было про расчет интегралов:
http://akostina76.ucoz.ru/blog/2017-02-22-3882

И была такая картинка:

Так это и можно сделать. Пусть у меня есть отрезок от 0 до 6. Можно разбить его на 600, например, частей и посчитать сумму площадей всех «столбиков».Ведь значение функции в точке известно и ширина «столбика» известна.
Чаще считают чуть иначе, т.е суммируют не только прямоугольники, но и треугольники:

Считать площадь треугольника столь же просто как и площадь прямоугольника. По картинке видно насколько должна возрасти точность вычисления площади при этом методе.
Я думаю, что этого вполне хватит, хотя на факультете меня как-то спросили «У Вас там что? Вульгарные трапеции?». Прямоугольник с треугольником сверху это и есть трапеция. А вопрос задал человек с кафедры Вычислительной Математики, где именно этими методами и занимаются. Для него это вульгарно, а для остальных, если не требуется какой-то собой точности, это основной рабочий инструмент.
Если очень хочется можно приближать параболами, построенными по трём точкам функции. Это будет ещё точнее.
Можно написать, засунуть в написанное какой-нибудь синус и сравнить точность вычисления. Если отклонение будет в 6-м знаке после запятой этого, наверное, выше крыши хватит.
Более точные методы, т.е трапеции вместо прямоугольников и параболы вместо трапеций позволяют получить точный результат разбив не на 600 кусков а, например на 60. Когда надо на современной машине численно посчитать 10 интегралов, метод не важен.  Мала точность? Увеличить количество отрезков в 2-10 раз, сразу всё хорошо станет, а изменение доли секунды никто не заметит. Но вот если этих интегралов вдруг зачем-то потребуется 10 000 может потребоваться что-то более изящное для расчета.
А если графики интересуют, то вот пример с тем же стандартным HTML – canvas:
http://akostina76.ucoz.ru/blog/2016-09-22-3453

Конкретно этот, конечно, не подойдёт, зато тут подробно про то, как работать с canvas:
function GR(strCanvas)

{

var w,h;
ctx = document.getElementById(strCanvas).getContext("2d");
w = document.getElementById(strCanvas).width;
h = document.getElementById(strCanvas).height;

Просмотров: 341 | Добавил: akostina76 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный конструктор сайтов - uCoz