У меня есть функция z=f(x,y), которую я хочу построить на цветовом графике. Но эту конкретную функцию можно вводить только с числами с плавающей запятой или массивами NumPy 0d или 1d. Итак, у меня возникли проблемы при попытке создать цветовую диаграмму, потому что сетка находится в двух измерениях. Может ли кто-нибудь написать мне код, использующий циклы for в качестве альтернативного способа создания цветового графика вместо подключения двухмерного массива к функции?
Это моя попытка:
import numpy as np
import CoolProp.CoolProp as cp
import matplotlib.pyplot as plt
# all units in SI
mdot=10000/7936.64 #mass flow of steam
P_atm=101000 #atmospheric pressure
def area_req(P1, P2):
P_before_trap=P_atm+(P1)*6894.76 #pressure before steam trap
P_after_trap=P_atm+(P2)*6894.76 #pressure after trap
enthalpy_1=cp.PropsSI('H','P',P_before_trap,'Q',0,'water') #enthalpy of condensate before trap
enthalpy_2=enthalpy_1 #steam trap is an isenthalpic device
x_after_trap=cp.PropsSI('Q','P',P_after_trap,'H',enthalpy_2,'water') #vapor fraction after trap
mdot_flash=x_after_trap*mdot #mass flow rate of flash steam after trap
mdot_cond=(1-x_after_trap)*mdot
rho_steam=cp.PropsSI('D','P',P_after_trap,'Q',1,'water') #density of steam component of mixture
rho_water=cp.PropsSI('D','P',P_after_trap,'Q',0,'water') #density of water component of mixture
area_steam=mdot_flash/rho_steam/20.32 #area of steam cross section required to obtain velocity of 4000 ft/min
area_cond=mdot_cond/rho_water/1.524 #area of condensate cross section required to obtain velocity of 5 ft/sec
area_req=area_cond+area_steam
return area_req
# Create a grid of x and y values
x = np.linspace(0, 100, 100)
y = np.linspace(0, 100, 100)
X, Y = np.meshgrid(x, y)
# Evaluate the function on the grid
Z = area_req(X,Y)
# Plot the function using a colormap
plt.imshow(Z, cmap='viridis')
plt.colorbar()
plt.title('Plot of area required')
plt.show()
Подробнее здесь: https://stackoverflow.com/questions/793 ... -2d-arrays
Построение функции с двумя переменными, которая не может передавать массивы NumPy 2d ⇐ Python
Программы на Python
1736878457
Anonymous
У меня есть функция z=f(x,y), которую я хочу построить на цветовом графике. Но эту конкретную функцию можно вводить только с числами с плавающей запятой или массивами NumPy 0d или 1d. Итак, у меня возникли проблемы при попытке создать цветовую диаграмму, потому что сетка находится в двух измерениях. Может ли кто-нибудь написать мне код, использующий циклы for в качестве альтернативного способа создания цветового графика вместо подключения двухмерного массива к функции?
Это моя попытка:
import numpy as np
import CoolProp.CoolProp as cp
import matplotlib.pyplot as plt
# all units in SI
mdot=10000/7936.64 #mass flow of steam
P_atm=101000 #atmospheric pressure
def area_req(P1, P2):
P_before_trap=P_atm+(P1)*6894.76 #pressure before steam trap
P_after_trap=P_atm+(P2)*6894.76 #pressure after trap
enthalpy_1=cp.PropsSI('H','P',P_before_trap,'Q',0,'water') #enthalpy of condensate before trap
enthalpy_2=enthalpy_1 #steam trap is an isenthalpic device
x_after_trap=cp.PropsSI('Q','P',P_after_trap,'H',enthalpy_2,'water') #vapor fraction after trap
mdot_flash=x_after_trap*mdot #mass flow rate of flash steam after trap
mdot_cond=(1-x_after_trap)*mdot
rho_steam=cp.PropsSI('D','P',P_after_trap,'Q',1,'water') #density of steam component of mixture
rho_water=cp.PropsSI('D','P',P_after_trap,'Q',0,'water') #density of water component of mixture
area_steam=mdot_flash/rho_steam/20.32 #area of steam cross section required to obtain velocity of 4000 ft/min
area_cond=mdot_cond/rho_water/1.524 #area of condensate cross section required to obtain velocity of 5 ft/sec
area_req=area_cond+area_steam
return area_req
# Create a grid of x and y values
x = np.linspace(0, 100, 100)
y = np.linspace(0, 100, 100)
X, Y = np.meshgrid(x, y)
# Evaluate the function on the grid
Z = area_req(X,Y)
# Plot the function using a colormap
plt.imshow(Z, cmap='viridis')
plt.colorbar()
plt.title('Plot of area required')
plt.show()
Подробнее здесь: [url]https://stackoverflow.com/questions/79355959/plotting-a-two-variable-function-that-cannot-pass-numpy-2d-arrays[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия