Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2012, 14:44   #21
Соффи
Пользователь
 
Аватар для Соффи
 
Регистрация: 20.12.2011
Сообщений: 33
Смущение

У меня теперь непонятка как сделать так, чтобы в ту же самую книгу (которая открывается по окончании процедуры), но во второй лист, вставлялся новый (второй) массив производных этот... или Эксель может автоматически только 1 страницу отображать после процедуры?...


БЫЛО И РАБОТАЛО:

With CreateObject("Excel.Application")
.Workbooks.Add(1).Sheets(1).Range(" A1:O1").Value = Array(1,2,...15) - это мои заголовки

.Sheets(1).Range("A2").Resize(1000, 15) = x

.Visible = True
End With

________
А нужно чтобы появились на другой ещё страничке тоже - заголовки:

Workbooks.Add(1).Sheets(2).Range("A 1:D1").Value = Array(1,2,3,4)

ну и столбцы с самим массивом y:
.Sheets(2).Range("A2").Resize(1000, 10) = y
Он мне сказал: «Держись, браток!» - И я держался.

Последний раз редактировалось Соффи; 17.01.2012 в 14:47.
Соффи вне форума Ответить с цитированием
Старый 17.01.2012, 21:53   #22
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

Соффи, привет) Для оформления кода на форуме есть специальные теги. Примерно так
Код:
With CreateObject("Excel.Application")
    With .Workbooks.Add
        .Sheets(1).Range("A1:O1").Value = Array(1,2,...15) - это мои заголовки
        .Sheets(1).Range("A2").Resize(1000, 15) = x
        .Sheets(2).Range("A2").Resize(1000, 10) = y
    End With
    .Visible = True
End With
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Старый 18.01.2012, 15:14   #23
Соффи
Пользователь
 
Аватар для Соффи
 
Регистрация: 20.12.2011
Сообщений: 33
Хорошо

всё супер, NERV!!! спасибо!!!
всё супер!
Он мне сказал: «Держись, браток!» - И я держался.
Соффи вне форума Ответить с цитированием
Старый 20.01.2012, 17:28   #24
Соффи
Пользователь
 
Аватар для Соффи
 
Регистрация: 20.12.2011
Сообщений: 33
По умолчанию NERV)) не знаю как назвать свой вопрос, потому в этой же теме ))

В этой же всё программке... туплю второй день...

Вот по написанному ранее выражению, посчитаны "якобы производные" (я называю их ЯКОБЫ, потому что по сути это отношение приращений, и приращения эти не малые, потому это не совсем честные производные, но пусть так), эти производные на каждом шаге расчета имеем, они заполняют массив y...
Неопределенности деления на ноль я исключила...
И вот, на определенном шаге найдена максимальная производная, и наступает такое состояние, что будет выполнено условие:

If (x(i, 8)=0.8*x(0, 9)) then
ptabl.SetSel("ny="&UzelN4)
ppn.Calc("pn*"&koeff)
pqn.Calc("qn*"&koeff)
End If

(прости, я опять не пользуюсь этими, тегами)

то есть, на определенный заранее коэффициент koeff, будут умножены параметры pn и qn ОПРЕДЕЛЕННОГО МНОЙ ТУТ ЗАРАНЕЕ узла UzelN4...
так было раньше...
а теперь я хочу чтобы вместо этого UzelN4 автоматически вставал тот узел, у которого эта производная максимальная, и вот над этим я ломаю голову...

Мысли мои путаются, хотя я понимаю:

допустим максимумом оказалось число y(shag, 3) в массиве y, которое равно
y(shag, 3) = (x(shag, 7) - x(shag - 1, 7)) / (x(shag, 8) - x(shag - 1, 8))

отсюда можно вытянуть (извлечь) уменьшаемое числителя x(shag, 7), где как раз это число x(shag, 7) в массиве х, и это число x(shag, 7) является параметром ИСКОМОГО УЗЛА, вот от сюда это видно

x(shag,7)=Rastr.Calc("val","node"," qnr","ny="&UzelN4)

x(shag,7) это параметр узла ny под названием UzelN4

ВОПРОС: как прописать чтобы этот UzelN4 вставал автоматически в
ptabl.SetSel("ny="&UzelN4)

(чтобы я заранее не указывала его).
Он мне сказал: «Держись, браток!» - И я держался.

Последний раз редактировалось Соффи; 20.01.2012 в 17:30.
Соффи вне форума Ответить с цитированием
Старый 25.01.2012, 20:04   #25
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

Софи, сформулируй, пожалуйста, покороче) Нет времени читать и вникать
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Старый 31.01.2012, 15:17   #26
Соффи
Пользователь
 
Аватар для Соффи
 
Регистрация: 20.12.2011
Сообщений: 33
Лампочка Работа с узлом для которого найдено максимальное число.

Мы искали и нашли максимум.
Положим, максимумом оказалось число y(shag, 3) в массиве y, которое равно дроби:
y(shag, 3) = (x(shag, 7) - x(shag - 1, 7)) / (x(shag, 8) - x(shag - 1, 8))

ПРИВЕТ )

Видишь, уменьшаемое в числителе это: x(shag, 7).
Это число x(shag, 7) в массиве х, которое равно:

x(shag,7)=Rastr.Calc("val","node"," qnr","ny="&UzelN4)

Видишь, число x(shag,7) это параметр узла ny под названием UzelN4.

После отыскания максимума шла у меня строчка:
ptabl.SetSel("ny="&UzelN4).

ВОПРОС:
какие написать заклинания вот перед этой строчкой:

ptabl.SetSel("ny="&UzelN4)

чтобы в ней вместо UzelN4, которое я заранее сама вставляла, появлялось название именно того узла, для которого y(shag, 3) максимальное! В данном случае это и есть узел UzelN4. Но я хочу прописать туда выражение для имени, а не само имя UzelN4.

Связь между именем UzelN4 и максимумальной производной y(shag, 3) - это число x(shag,7).
Вот через эту связь хочу выразить имя UzelN4...
Он мне сказал: «Держись, браток!» - И я держался.
Соффи вне форума Ответить с цитированием
Старый 31.01.2012, 15:19   #27
Соффи
Пользователь
 
Аватар для Соффи
 
Регистрация: 20.12.2011
Сообщений: 33
По умолчанию

получилось не короче, но может попонятнее...
Он мне сказал: «Держись, браток!» - И я держался.
Соффи вне форума Ответить с цитированием
Старый 01.02.2012, 14:10   #28
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

Привет, Софи) Прочитал "вопрос", первая реакция - О_о
Цитата:
а теперь я хочу чтобы вместо этого UzelN4 автоматически вставал тот узел, у которого эта производная максимальная, и вот над этим я ломаю голову...
Где узлы определяются?
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Старый 02.02.2012, 18:48   #29
Соффи
Пользователь
 
Аватар для Соффи
 
Регистрация: 20.12.2011
Сообщений: 33
По умолчанию

Реакция понятна

Сейчас поясню

Эти узлы - это переменные, задаваемые в самом начале процедуры:

Sub Proba(koeff,UzelN1,UzelN2,UzelN3,Uz elN4,UzelN,UzelShbm)

Заметка: в программке (для котрой этот макрос составляется) есть таблица, в которой этому списку узлов соответствуют некотрые параметры...

Далее выполнялись различные действия:
1) параметры узлов считались, и заносились в массив х;
2) были взяты производные параметров узлов и эти производные заносились в массив у;
3) далее шла строчка в которой я сама (от балды - так скажем) писала какой узел хочу отключить (здесь отключить - это обнулить два его параметра):

ptabl.SetSel("ny="&UzelN4) - выделяла узел в таблице программы
ppn.Calc("pn*"&koeff) - умножала один из параметров этого узла на коэффициент НОЛЬ (это я раньше называла тебе ОТКЛЮЧИТЬ УЗЕЛ, но я была не совсем корректна в этом, я лишь обнуляю его параметр pn)
pqn.Calc("qn*"&koeff) - умножаю второй параметр выбранного узла на ноль

СУТЬ:
правильно было бы чтобы не я (от балды) задавала узел в котором обнуляю параметры, а чтобы по ходу процедуры, в зависимости от того, в каком узле текущая производная максимальна определялся этот узел для обнуления, то есть определялся для вот этой строчки
ptabl.SetSel("ny="&UzelN4).
Он мне сказал: «Держись, браток!» - И я держался.

Последний раз редактировалось Соффи; 02.02.2012 в 18:51.
Соффи вне форума Ответить с цитированием
Старый 06.02.2012, 15:12   #30
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

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

Последний раз редактировалось nerv; 06.02.2012 в 15:14.
nerv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить максимальное число? ВДПУ Помощь студентам 4 12.12.2011 21:00
Как в vb6 выбрать максимальное число из 3-х? LINKEDimmortal Помощь студентам 0 01.06.2010 19:21
(ASM) Как обозначить максимальное число..?? hen Помощь студентам 2 05.03.2010 12:58
Как в idHttp выставить максимальное число времени, которое может быть потрачено на запрос? TwiX Работа с сетью в Delphi 7 15.02.2010 19:54
Максимальное число LOVELY Помощь студентам 2 12.02.2010 01:21