Графическое решение уравнений на языке Visual Basic
Графическое решение уравнений на языке Visual BasicМКОУ «Усть-Багарякская СОШ»
На языке алгебры формальные модели записываются с помощью уравнений, точное решение которых основывается на поиске равносильных преобразований алгебраических выражений, позволяющих выразить переменную величину с помощью формулы.Точные решения существуют только для некоторых уравнений определенного вида (линейные, квадратные, тригонометрические и др.) поэтому для большинства уравнений приходится использовать методы приближенного решения с заданной точностью (графические или численные).
Задача. Найти корень уравнения x3 - sinx = 0 путем построения графика функции в системе программирования Visual Basic.Построение графиков функций может использоваться для грубо приближенного решения уравнений. Для уравнений вида f(x) = 0, где f(x) — некоторая непрерывная функция, корень (или корни) этого уравнения являются точкой (или точками) пересечения графика функции с осью X.
Проект «Графическое решение уравнения»Формальная модель задана уравнением х3 - sinx = 0, для нахождения корней уравнения разработаем компьютерную модель на языке Visual Basic.Разместить на форме:графическое поле PictureBox1,(Size 300*200) в котором будет осуществляться построение графика функции у = х3 - sinx;кнопку Button1 для создания событийной процедуры построения графика.
В событийной процедуре осуществим преобразование компьютерной системы координат графического поля в математическую систему координат, удобную для построения графика функции. Нарисуем оси координат и нанесем на них шкалу.Запустить проект на выполнение и щелкнуть по кнопке График.
В полученной математической системе координаты находятся в диапазонах -150 < X < 150 и -100 < Y < 100. Однако для поиска корней уравнения нам необходимо построить график функции в диапазоне аргумента -1,5<Х<1,5, на котором функция принимает значения примерно в диапазоне -1<Y<1. Следовательно, необходимо увеличить масштаб графика в 100 раз:координаты точек графика необходимо умножить на 100;
значения шкал осей надо разделить на 100. Построение графика функции осуществим в цикле со счетчиком (аргумент X) с использованием метода рисования точки DrawEllipse (Pen1, X * 100, Y * 100,1,1),в котором координатами точки являются аргумент функции и значение функции.
Public Class Form1 Dim Graph1 As Graphics Dim Pen1 As New Pen(Color.Black, 2) Dim drawBrush As New SolidBrush(Color.Black) Dim drawFont As New Font("Arial", 10) Dim X, Y As Single Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Graph1 = Me.PictureBox1.CreateGraphics()
Graph1.Clear(Color.White) 'Печать шкал математической системы координат в компьютерной системе координат For X = -150 To 150 Step 50 Graph1.DrawString(X / 100, drawFont, drawBrush, X + 150, 80) Next X For Y = 0 To 200 Step 50 Graph1.DrawString((Y - 100) / 100, drawFont, drawBrush, 150, 180 - Y) Next Y 'Преобразование компьютерной системы координат в математическую систему координат
Graph1.ScaleTransform(1, -1) 'Поворот оси Y Graph1.TranslateTransform(150, -100) 'Сдвиг по осям X и Y 'Рисование осей математической системы координат Graph1.DrawLine(Pen1, -150, 0, 300, 0) 'Ось Х Graph1.DrawLine(Pen1, 0, -100, 0, 100) 'Ось Y For X = -150 To 150 Step 50 'Засечки на оси X Graph1.DrawLine(Pen1, X, -5, X, 5) Next X For Y = -100 To 100 Step 50 'Засечки на оси Y
Graph1.DrawLine(Pen1, -5, Y, 5, Y) Next Y 'График функции For X = -1.5 To 1.5 Step 0.01 Y = X ^ 3 - Math.Sin(X) Graph1.DrawEllipse(Pen1, X * 100, Y * 100, 1, 1) Next X End SubEnd Class
Практическое задание. В системе программирования Visual Basic создать проект «Графическое решение уравнения»В системе программирования Visual Basic создать проект «Графическое решение уравнения-2», в котором ищется решение уравнения х3 - cosx = 0 .