计算机怎么算对数的反函数,Excel 计算对数分布函数反函数:LOGINV函数

LOGINV函数用于计算x的对数累积分布函数的反函数,ln(x)是含有mean与standard_dev参数的正态分布。如果p=LOGNORMDIST(x,...),则LOGINV(p,...)=x。使用对数分布可分析经过对数变换的数据。LOGINV函数的语法如下:

LOGINV(probability,mean,standard_dev)

其中,probability参数是与对数分布相关的概率,mean参数为ln(x)的平均值,standard_dev参数为ln(x)的标准偏差。下面通过实例详细讲解该函数的使用方法与技巧。

打开“LOGINV函数.xlsx”工作簿,切换至“Sheet1”工作表,本例中的原始数据如图18-26所示。已知与对数分布相关的概率,ln(x)的平均值,ln(x)的标准偏差,要求计算对数正态累积分布函数的反函数值。具体的操作步骤如下。

选中A6单元格,在编辑栏中输入公式“=LOGINV(A2,A3,A4)”,用于计算对数正态累积分布函数的反函数值,输入完成后按“Enter”键返回计算结果,如图18-27所示。

96eb075c2bf9cee275988f2ff80b03ef.png

图18-26 原始数据

186f6a69d90a3860a74e16dcd7592ebe.png

图18-27 计算对数分布函数反函数

如果变量为非数值参数,则函数LOGINV返回错误值“#VALUE!”。如果参数probability<0或probability>1,则函数LOGINV返回错误值“#NUM!”。如果参数standard_dev≤0,则函数LOGINV返回错误值“#NUM!”。对数分布函数的反函数为:

LOGINV(p,µ,σ)=e[µ+σx(NORMSINT(p))]

### Python连接海康威视摄像头的示例代码 为了实现Python与海康威视摄像头之间的通信,通常需要借助其官方提供的SDK或者第三方库来完成。以下是基于Windows环境以及Python 3.7版本的一个典型方法[^2]。 #### 安装依赖项 在开始之前,确保已安装必要的依赖包。可以通过`pip install`命令安装所需的模块: ```bash pip install numpy opencv-python ``` 这些工具可以帮助处理图像数据并简化视频流的操作过程。 #### 调用海康威视SDK的核心逻辑 下面展示了一段用于初始化设备、登录摄像机并抓取实时画面的基础脚本。此部分假设读者已经成功配置好了本地开发环境,并下载了对应平台上的Hikvision SDK动态链接库文件(DLLs)[^3]。 ```python import ctypes from ctypes import c_char_p, byref, Structure, POINTER, pointer, sizeof, windll import time import cv2 import numpy as np class NET_DVR_DEVICEINFO_V30(Structure): # 设备信息结构体定义 _fields_ = [ ("sSerialNumber", (c_char * 48)), ("byAlarmInPortNum", ctypes.c_byte), ... ] HCNetSDK = windll.LoadLibrary("HCNetSDK.dll") # 加载sdk dll def init_sdk(): """ 初始化SDK """ if not HCNetSDK.NET_DVR_Init(): # 初始化函数返回false表示失败 raise Exception('Failed to initialize the SDK.') atexit.register(HCNetSDK.NET_DVR_Cleanup) def login(ip_address='192.168.1.64', port=8000, username="admin", password=""): """ 登录指定IP地址的相机""" device_info = NET_DVR_DEVICEINFO_V30() user_id = HCNetSDK.NET_DVR_LoginV40( ip_address.encode(), port, username.encode(), password.encode(), byref(device_info)) if user_id < 0: error_code = HCNetSDK.NET_DVR_GetLastError() print(f'Login failed with code {error_code}') return None return user_id def start_real_play(user_id, window_name='Real Play'): """ 开始实况播放 """ l_real_handle = HCNetSDK.NET_DVR_RealPlay_V40(user_id, ...) while True: frame_data = get_frame(l_real_handle) img_array = convert_to_image(frame_data) cv2.imshow(window_name, img_array) keypress = cv2.waitKey(1) & 0xFF if keypress == ord('q'): break stop_real_play(l_real_handle) if __name__ == '__main__': try: init_sdk() uid = login() if uid is not None: start_real_play(uid) except Exception as e: print(e) finally: pass ``` 上述程序片段展示了如何利用CTypes绑定低级API接口访问硬件资源的过程[^1]。需要注意的是实际应用过程中可能还需要额外考虑异常捕获机制以增强健壮性;另外由于不同型号之间可能存在差异因此建议参照具体产品手册调整参数设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值