Добрый день!
Помогите, пожалуйста, решить задачку!
Это задача по теплопроводности с граничными условиями.
У нас имеется длинная квадратная труба, по которой течет горячая жидкость. Наружный размер трубы равен 10 дюймам, внутренни - 4 дюйма.
Мне необходимо вывести все числа, полученные в результате решения функции
u(i, j) = Str(1 / 4 * (Val(u(i, (j - 1))) + Val(u((i - 1), j)) + _
Val(u(i, (j + 1))) + Val(u((i + 1), j))))
в виде рисунка в таблице, то есть как печать карты изотерм в сечении трубы, но не на пользовательской форме, а в таблице.
Заранее огромное спасибо за помощь!
Вывод решения функции в файле Excel
- Naeel Maqsudov
- Сообщения: 2551
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Так и не понял, требуется
а) "Вывод решения функции в файле" и сделать это надо на VBA в Excel
б) Надо сделать решение на чем-то (не указано на чем), но вывод "в файле Excel"
а) "Вывод решения функции в файле" и сделать это надо на VBA в Excel
б) Надо сделать решение на чем-то (не указано на чем), но вывод "в файле Excel"
Добрый день!
Вывод решения необходимо произвести в программе VBA.
Данная программа уже составлена с применением пользовательской формы. Но мне необходимо показать рисунок, который Вы увидите, открыв пользовательскую форму, непосредственно в самом файле Excel. После вывода значений в таблице ячейки с одинаковыми значениями должны быть закрашены одним цветом, то есть должны получиться изотермы. Код программы во вложенном файле.
спасибо.
Вывод решения необходимо произвести в программе VBA.
Данная программа уже составлена с применением пользовательской формы. Но мне необходимо показать рисунок, который Вы увидите, открыв пользовательскую форму, непосредственно в самом файле Excel. После вывода значений в таблице ячейки с одинаковыми значениями должны быть закрашены одним цветом, то есть должны получиться изотермы. Код программы во вложенном файле.
спасибо.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Naeel Maqsudov
- Сообщения: 2551
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Код: Выделить всё
For i = 0 To 60
For j = 0 To 60
Cells(61-i,j+1).Value + u_print(i, j)
Next j
Next i
Спасибо огромное за помощь! Попытаюсь вывести данные с помощью Вашего кода.
По поводу раскраски: мне необходимо раскрасить ячейки, значения которых соответствуют заданным интервалам, в различные цвета. В данном случае А - синий, В - фиолетовый, С - голубой, D - серый, E/N - желтый, О - оранжевый, Р - розовый,Q - коричневый, R - красный.
Вот часть кода из вложенного файла, в которой необходимо поменять буквы на цвета:
'замена чисел на обозначения в другой матрице
For j = 0 To 60
For i = 0 To 60
If u(j, i) >= 0 And u(j, i) <= 11.7 Then
u_print(j, i) = "A"
ElseIf ((u(j, i) >= 23.6) And (u(j, i) <= 35.3)) Then
u_print(j, i) = "B"
ElseIf ((u(j, i) >= 47.1) And (u(j, i) <= 58.7)) Then
u_print(j, i) = "C"
ElseIf ((u(j, i) >= 70.6) And (u(j, i) <= 82.3)) Then
u_print(j, i) = "D"
ElseIf ((u(j, i) >= 94.2) And (u(j, i) <= 105.8)) Then
u_print(j, i) = "E" '"N"
ElseIf ((u(j, i) >= 117.9) And (u(j, i) <= 129.4)) Then
u_print(j, i) = "O"
ElseIf ((u(j, i) >= 141.4) And (u(j, i) <= 152.9)) Then
u_print(j, i) = "P"
ElseIf ((u(j, i) >= 164.8) And (u(j, i) <= 176.3)) Then
u_print(j, i) = "Q"
ElseIf ((u(j, i) >= 188.3) And (u(j, i) <= 200)) Then
u_print(j, i) = "R"
Else
u_print(j, i) = " "
End If
Next i
Next j
Еще раз огромное спасибо!
По поводу раскраски: мне необходимо раскрасить ячейки, значения которых соответствуют заданным интервалам, в различные цвета. В данном случае А - синий, В - фиолетовый, С - голубой, D - серый, E/N - желтый, О - оранжевый, Р - розовый,Q - коричневый, R - красный.
Вот часть кода из вложенного файла, в которой необходимо поменять буквы на цвета:
'замена чисел на обозначения в другой матрице
For j = 0 To 60
For i = 0 To 60
If u(j, i) >= 0 And u(j, i) <= 11.7 Then
u_print(j, i) = "A"
ElseIf ((u(j, i) >= 23.6) And (u(j, i) <= 35.3)) Then
u_print(j, i) = "B"
ElseIf ((u(j, i) >= 47.1) And (u(j, i) <= 58.7)) Then
u_print(j, i) = "C"
ElseIf ((u(j, i) >= 70.6) And (u(j, i) <= 82.3)) Then
u_print(j, i) = "D"
ElseIf ((u(j, i) >= 94.2) And (u(j, i) <= 105.8)) Then
u_print(j, i) = "E" '"N"
ElseIf ((u(j, i) >= 117.9) And (u(j, i) <= 129.4)) Then
u_print(j, i) = "O"
ElseIf ((u(j, i) >= 141.4) And (u(j, i) <= 152.9)) Then
u_print(j, i) = "P"
ElseIf ((u(j, i) >= 164.8) And (u(j, i) <= 176.3)) Then
u_print(j, i) = "Q"
ElseIf ((u(j, i) >= 188.3) And (u(j, i) <= 200)) Then
u_print(j, i) = "R"
Else
u_print(j, i) = " "
End If
Next i
Next j
Еще раз огромное спасибо!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Что-то у меня не проходит строчка
Cells(61 - I, J + 1).Value + u_print(I, J)
После ввода программа автоматически превращает ее в строчку:
Cells(61 - I, J + 1).Value u_print(I, J) и не пропускает...
В чем дело, никак не пойму...
---------- Post added at 18:45 ---------- Previous post was at 18:13 ----------
Оказывается, просто нужно было изменить "+" на равно.
Cells(61 - I, J + 1).Value = u(I, J)
У меня вывелись значения в файле Excel. Спасибо большущее!
Cells(61 - I, J + 1).Value + u_print(I, J)
После ввода программа автоматически превращает ее в строчку:
Cells(61 - I, J + 1).Value u_print(I, J) и не пропускает...
В чем дело, никак не пойму...
---------- Post added at 18:45 ---------- Previous post was at 18:13 ----------
Оказывается, просто нужно было изменить "+" на равно.
Cells(61 - I, J + 1).Value = u(I, J)
У меня вывелись значения в файле Excel. Спасибо большущее!