Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Неправильно выполняется VBS скрипт для решения уравнений

Ответить
Настройки темы
VBS/WSH/JS - [решено] Неправильно выполняется VBS скрипт для решения уравнений

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Есть сей скрипт, решающий уравнения.Он работает по количеству циклов.
a = InputBox("Введите левую часть уравнения","GA Solving")
b = 0
min = InputBox("Введите минимальное значение корня","GA Solving")
max = InputBox("Введите максимальное значение корня","GA Solving")
r = InputBox("Введите количество циклов на определение одного корня(больше - точнее)","GA Solving")
s = InputBox("Введите количество попыток определить корень(если вы встретили уравнение с одним корнем ставьте 1;ставьте всегда больше к-ва корней)","GA Solving")
Randomize
For z=1 to s
c = ((max - min + 1)*Rnd + min)
d = ((max - min + 1)*Rnd + min)
e = ((max - min + 1)*Rnd + min)
f = ((max - min + 1)*Rnd + min)
k1 = replace (a,"x",""& c &"")
k2 = replace (a,"x",""& d &"")
k3 = replace (a,"x",""& e &"")
k4 = replace (a,"x",""& f &"")
k1 = replace (k1,",",".")
k2 = replace (k2,",",".")
k3 = replace (k3,",",".")
k4 = replace (k4,",",".")
k1 = eval(k1)
k2 = eval(k2)
k3 = eval(k3)
k4 = eval(k4)
l = 1/Abs(k1)
m = 1/Abs(k2)
n = 1/Abs(k3)
o = 1/Abs(k4)
f = c*l+d*m+e*n+f*o/(l+m+n+o)
For n=1 to r
c = ((max - min + 1)*Rnd + min)
d = ((max - min + 1)*Rnd + min)
e = ((max - min + 1)*Rnd + min)
k1 = replace (a,"x",""& c &"")
k2 = replace (a,"x",""& d &"")
k3 = replace (a,"x",""& e &"")
k4 = replace (a,"x",""& f &"")
k1 = replace (k1,",",".")
k2 = replace (k2,",",".")
k3 = replace (k3,",",".")
k4 = replace (k4,",",".")
k1 = eval(k1)
k2 = eval(k2)
k3 = eval(k3)
k4 = eval(k4)
l = 1/Abs(k1)
m = 1/Abs(k2)
n = 1/Abs(k3)
o = 1/Abs(k4)
D = c*l+d*m+e*n+f*o/(l+m+n+o)
k5 = replace (a,"x",""& D &"")
k5 = replace (k5,",",".")
k5 = eval(k5)
p = 1/Abs(k5)
If p>o Then
f = D
End If
Next
MsgBox f,0,"GA Solving"
Next
В программе нужно заменить количество циклов на точность.Пробовал так - не работает.
a = InputBox("Введите левую часть уравнения","GA Solving")
b = 0
min = InputBox("Введите минимальное значение корня","GA Solving")
max = InputBox("Введите максимальное значение корня","GA Solving")
r = InputBox("Введите минимальную точность определения","GA Solving")
s = InputBox("Введите количество попыток определить корень(если вы встретили уравнение с одним корнем ставьте 1;ставьте всегда больше к-ва корней)","GA Solving")
Randomize
For z=1 to s
c = ((max - min + 1)*Rnd + min)
d = ((max - min + 1)*Rnd + min)
e = ((max - min + 1)*Rnd + min)
f = ((max - min + 1)*Rnd + min)
k1 = replace (a,"x",""& c &"")
k2 = replace (a,"x",""& d &"")
k3 = replace (a,"x",""& e &"")
k4 = replace (a,"x",""& f &"")
k1 = replace (k1,",",".")
k2 = replace (k2,",",".")
k3 = replace (k3,",",".")
k4 = replace (k4,",",".")
k1 = eval(k1)
k2 = eval(k2)
k3 = eval(k3)
k4 = eval(k4)
l = 1/Abs(k1)
m = 1/Abs(k2)
n = 1/Abs(k3)
o = 1/Abs(k4)
f = c*l+d*m+e*n+f*o/(l+m+n+o)
Do
c = ((max - min + 1)*Rnd + min)
d = ((max - min + 1)*Rnd + min)
e = ((max - min + 1)*Rnd + min)
k1 = replace (a,"x",""& c &"")
k2 = replace (a,"x",""& d &"")
k3 = replace (a,"x",""& e &"")
k4 = replace (a,"x",""& f &"")
k1 = replace (k1,",",".")
k2 = replace (k2,",",".")
k3 = replace (k3,",",".")
k4 = replace (k4,",",".")
k1 = eval(k1)
k2 = eval(k2)
k3 = eval(k3)
k4 = eval(k4)
l = 1/Abs(k1)
m = 1/Abs(k2)
n = 1/Abs(k3)
o = 1/Abs(k4)
D = c*l+d*m+e*n+f*o/(l+m+n+o)
k5 = replace (a,"x",""& D &"")
k5 = replace (k5,",",".")
k5 = eval(k5)
p = 1/Abs(k5)
If p>o Then
f = D
L=Abs(k5)
Else
L=Abs(k4)
End If
Loop While L>r
MsgBox f,0,"GA Solving"
Next
Программа выполняется, но ответ выдается с совершенно другой точностью.Помогите найти ошибку, ибо уже намучился с этой проблемой, ничего не помогает.Заранее спасибо!

Отправлено: 23:40, 28-01-2018

 

Ветеран


Contributor


Сообщения: 2706
Благодарности: 1684

Профиль | Отправить PM | Цитировать


ProTech Inc,
Цитата ProTech Inc:
Есть сей скрипт, решающий уравнения. »
Уравнения какого вида и каким методом? Не уверен, что кто-то захочет копаться в многоэтажном коде, возможно, кто-то сможет написать свой.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 23:53, 28-01-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


megaloman, линейные, квадратные,кубические, дробно-рациональные

если есть возможность написать свой вариант - пожалуйста
Метод - генетический алгоритм.

Последний раз редактировалось ProTech Inc, 29-01-2018 в 00:25.


Отправлено: 00:04, 29-01-2018 | #3


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ошибка заключалась в неправильном вводе формулы, как оказалось, формула должна была быть введена так:f = (c*l+d*m+e*n+f*o)/(l+m+n+o).

Отправлено: 23:50, 18-02-2018 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Неправильно выполняется VBS скрипт для решения уравнений

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - Скрипт VBS для копирования Файла с сетевой папки . xtoxa Скриптовые языки администрирования Windows 1 31-05-2016 14:50
VBS/WSH/JS - Скрипт vbs для удаления ветки реестра angel_lyucifer Скриптовые языки администрирования Windows 12 25-11-2015 18:32
VBS/WSH/JS - Скрипт vbs для создания плокального пользователя с атрибутами Neep Скриптовые языки администрирования Windows 4 29-07-2014 10:05
VBS/WSH/JS - нужен vbs скрипт для отпраки файлов на mail exekill Скриптовые языки администрирования Windows 0 18-04-2012 16:28
VBS/WSH/JS - VBS скрипт для автоматизации PreSP4 Keir Скриптовые языки администрирования Windows 1 14-04-2010 04:27




 
Переход