Решение системы диффуров - VB

  1. Доброго времени суток форумчане! Я не сильно опытный пользователь VB6, задача выполнения дипломного проекта именно в нем создала необходимость изучить его практически с нуля. В ходе выполнения диплома возникла необходимость написать прогу, решающую дифур неким методом Рунге-Кутта в VB и я написал, чему несказанно рад)) Но теперь возникла необходимость решить систему из 2х дифуров с 3мя неизвестными(желательно этим же методом), с чем как оказалось не так просто справиться! Может кто-то из людей, хоро сведующих в математике и в VB одновременно поможет мне в моем начинании? Буду крайне признателен! вот текст моей проги, решающей дифур:


textual

Код к задаче: «Решение системы диффуров - VB»

Private Sub Command1_Click() 
x0 = Val(Text1.Text) 
xk = Val(Text2.Text) 
h = Val(Text3.Text) 
y0 = Val(Text4.Text)

СДЕЛАЙТЕ РЕПОСТ

6   голосов, оценка 4.333 из 5



Похожие ответы
  1. Напишите программу перевода чисел (длиной 8 бит) из одной системы счисления в другую. По программе составьте блок-схему. Перевод из системы по основанию 2 в систему по основанию 10; нужно сделать exe файл

  1. Добрый день. Как будет выглядеть решение данной задачи в Basic?

  1. Нажав на кнопку, программа нарисует график. Туда, где пересекаются линии y = sin(x) и y = ax подведите указатель линии и прочитайте ответ. Если вам нужна большая точность, то с помощью мыши нарисуйте прямоугольник и вновь нажмите кнопку, программа нарисует график в более крупном масштабе... так можно повторить несколько раз, но не до бесконечности...

  1. Всем привет! Задался целью выяснить почему программа, которую я написал тормозит, точнеее какие ее блоки... Может кому пригодится, простой анализатор скорости работы кода. Выдает действительный результата три знака после запятой. Погрешность измериний не большая. Втулил интерфейс аля Win10, тени от формы (корректно и быстро отрисовываюстя), перетаскивание формы...код формы

  1. Дана система точечных N масс c координатами . Центр масс системы определяется по формуле: Момента инерции системы относительно оси Z, проходящей через центр масс системы: Составить программу расчета момента инерции системы относительно оcи Z, проходящей через центр масс системы. Исходные параметры N5

  1. Доброго времени суток, дорогие друзья. У меня задание, написанное в заголовке. Код ругается на строку z(v,o)=k(i,i) Он выдает сообщение "Индекс находился вне границ массива". Подскажите пожалуйста, как решить эту проблему? Вот собственно сам код:PureBasic1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 Module Module1       Sub Main()           Dim m, a, i, j, y, n, p, MAXJ, MAXI, MAX As Double         Console.Write("Введите количество уравнений системы= ")         n = Val(Console.ReadLine()) 'кол-во строк'         m = n + 1 'кол-во столбцов = кол-ву строк'         Dim x(n, m) As Single         For i = 1 To n             For j = 1 To m                 x(i, j) = InputBox("Ввод коэффициента (" & i & " ; " & j & ")") 'ввод коэффициентов матрицы A|B'             Next j         Next i         '----------------------------------------------------------------------—         '----------------------------------------------------------------------—         'ВЫВОД УРАВНЕНИЙ         Console.WriteLine()         Console.Write("введенные уравнения:")         Console.WriteLine()         For i = 1 To n             For j = 1 To m                 If j < m Then                     Console.Write("({0}x{1})", x(i, j), j)                     If j < m - 1 Then                         Console.Write("+")                     End If                 Else                     Console.Write("={0}", x(i, j))                 End If             Next j             Console.WriteLine()         Next i         '----------------------------------------------------------------------—         '----------------------------------------------------------------------—         Dim f(n, m) As Single         For i = 1 To n             For j = 1 To m                 f(i, j) = x(i, j)             Next j         Next i             For i = 1 To n             MAX = x(i, 1)             MAXI = i             MAXJ = 1             For j = 1 To m - 1                 If MAX < x(i, j) Then                     MAX = x(i, j)                     MAXI = i                     MAXJ = j                 End If             Next j             For y = 1 To m - 1                 p = x(MAXJ, y)                 x(MAXJ, y) = x(MAXI, y)                 x(MAXI, y) = p                 p = f(MAXJ, y)                 f(MAXJ, y) = f(MAXI, y)                 f(MAXI, y) = p             Next y             p = f(MAXJ, m)             f(MAXJ, m) = f(MAXI, m)             f(MAXI, m) = p         Next i           Console.WriteLine()         Console.Write("упорядоченные уравнения: ")         Console.WriteLine()         For i = 1 To n             For j = 1 To m                 If j < m Then                     Console.Write("({0}x{1})", f(i, j), j)                     If j < m - 1 Then                         Console.Write("+")                     End If                 Else                     Console.Write("={0}", f(i, j))                 End If             Next j             Console.WriteLine()         Next i         '----------------------------------------------------------------------—         '----------------------------------------------------------------------—         Console.WriteLine()         Console.Write("выражаем x:")         Console.WriteLine()         Dim k(n, m) As Single         For i = 1 To n             For j = 1 To m                 k(i, j) = x(i, j)             Next j         Next i             For i = 1 To n             a = f(i, i)             k(i, i) = a / a             For j = 1 To n                 If (j < i Or j > i) Then                     k(i, m) = f(i, m) / a                     k(i, j) = -((f(i, j)) / a)                 End If             Next j         Next i           For i = 1 To n             Console.Write("{0}x{1}=", k(i, i), i)             For j = 1 To m                 If j < m And (j < i Or j > i) Then                     Console.Write("({0}x{1})", k(i, j), j)                     If j < m Then                         Console.Write("+")                     End If                 End If               Next j             Console.Write("{0}", k(i, m))             Console.WriteLine()         Next i         '----------------------------------------------------------------------—         '----------------------------------------------------------------------—         Dim dMAX, r, g As Double         Console.WriteLine()         Console.Write("высчитываем иксы:")         Console.WriteLine()         g = 10000         Dim u(g) As Double         Dim d1(g) As Double           Dim e, o, v, q As Double         dMAX = 0.0015         Dim z(100000, n * 2 + 1) As Double         For i = 0 To 100000             For j = 1 To n * 2 + 1                 If j < n * 2 + 1 Then                         z(i, j) = 0                 Else                     z(i, n * 2 + 1) = dMAX                 End If             Next j         Next i         e = 0.001         r = 0           v = 1         Do While dMAX > e             o = 0             For i = 1 To n                 o = o + 1                 For j = 1 To n                     If (i < j Or i > j) Then                         k(i, i) = k(i, j) * z(i - 1, j) + r                         r = k(i, i)                     End If                 Next j                 k(i, i) = k(i, i) + k(i, m)                 z(v, o) = k(i, i)             Next i             o = 0             q = 1             For j = n + 1 To 2 * n                 z(v, j) = Math.Abs(z(v, q) - z(v - 1, q))                 q = q + 1                 If dMAX < z(v, j) Then                     dMAX = z(v, j)                 End If               Next j             z(v, n * 2 + 1) = dMAX             v = v + 1           Loop         Console.WriteLine("{0}", dMAX)           For i = 1 To n             Console.Write("X{0}= {1} ", i, z(i, j))         Next i             Console.ReadLine()     End Sub   End ModuleДобавлено через 1 минуту 169 строкаДобавлено через 33 секунды точнее 161, прошу прощения.Добавлено через 2 часа 3 минуты проблема решена. тут куча ошибок, поэтому не заморачивайтесь.

  1. ВСЕМ ПРИВЕТ. Возникли проблемы при написании программы. Тем кто поможет буду очень признателен... Значения массива M и необходимых параметров задаются самостоятельно при выполнении тестового примера. Количество элементов массива должно быть не меньше 15. Элементы массива должны содержать нули и положительные и отрицательные вещественные числа. В программе предусмотреть ввод элементов массива M с клавиатуры. Введенные значения элементов массива должны быть отображены на форме проекта. Для ввода параметров, необходимых для решения задачи, и вывода результата использовать компонент TextBox. В качестве поясняющих надписей использовать компонент Label.

  1. В общем, после пары лекций и лабораторных работ вида- смотри в методичку и делай что написано по Visual Basic'у мне выдали задание- разработать программу для решения системы из 2 уравнений с 2 неизвестными по теме матричные игры. Пока я смутно представляю как должен выглядеть код программы- пока есть только форма и программа считает детерминант. Как действовать дальше? Нужно ли использовать двумерные массивы? Очень прошу помогите с кодом п.с.- тут форма и код из visual studio т.к на пк у меня не работает бейсик

  1. Есть задача (к сожалению не могу написать формулу), решение которая так выглядит на яз. программирования PascalABC:Pascal1 2 3 4 5 6 7 8 9 Program My_program; var x, y, t, z: real; begin     Write('Вводите X:  ');  Readln(x);     Write('Вводите Y:  ');  Readln(y);     Write('Вводите t:  ');  Readln(t);     z:=( (Power (SQRT(Power(y,-x)+Power(x,-y)+EXP(2*x-y)),3))/(y*y+x*x+t*t))-SQR(t);     Writeln('Z = ', z); end.А как написать эту программу на Visual Basic? Заранее спасибо

  1. Помогите решить систему Y=x^3+2x при x≤-8 y=2x-1 при -88 пожалуйста