4.2MAP learning of univariate normal parameters

这篇博客介绍了如何使用MATLAB和Python进行单变量正态分布参数的最大后验概率(MAP)学习。在MATLAB中,步骤包括函数定义和示例代码的展示,文件位于F盘的指定路径。而在Python环境下,虽然函数已经定义,但尚未添加validate_input42()验证函数,示例代码可在C盘的Jupyter notebook中找到。

在这里插入图片描述
matlab:
step1: function definition
F:\code_computer vision models learning and inference\cvm_recode_matlab
在这里插入图片描述
step2: example
F:\code_computer vision models learning and inference\cvm_recode_matlab
map_norm_ex1.m
在这里插入图片描述
在这里插入图片描述
python:
step1:function definition
C:\Users\Administrator\Algorithm.py
ps:还没有加入validate_input42()
在这里插入图片描述
step2:
C:\Users\Administrator\Algorithm.py\cvm_example.ipynb

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import Algorithm as mine
import scipy.stats as st #也可以使用scipy库中的相关api
%matplotlib inline
# Author:hiddry refernce fom author Stefan Stavrev 2013
# Generate random values from the normal distribution with
# mean value original_mu and standard deviation original_sig.
original_mu = 5
original_sig = 8
# I can be modified in order to see how MAP behaves for small
# vs big amount of data.
I = 100
r = st.norm(original_mu,original_sig).rvs(I)
print("type of r:",type(r))
print("r.shape:",r.shape)
print("r.ndim:",r.ndim)
print("r.min()",r.min)
print("r.max()",r.max)


# Estimate the mean and variance for the data in r.
# Values used for alpha, beta, gamma and delta are(1,1,1,0)
# for the sake of the example. Ohter values can be tried too.
estimated_mu, estimated_var = mine.A422(r,1,1,1,0)
print("Estimated mean:",estimated_mu)
print("Estimated_var:",estimated_var)
estimated_sig = np.sqrt(estimated_var)

# use algotithm 4.1 to compare.
mle_estimated_mu ,mle_estimated_var = mine.Mln(r)
mle_estimated_sig = np.sqrt(mle_estimated_var)

# Estimate and print the error for the mean and the standard deviation.MAP
muError = np.abs(original_mu - estimated_mu)
sigError = np.abs(original_sig - estimated_sig)
print("muError:",muError)
print("sigError",sigError)

# Plot the original and the estimated models for comparison.
x = np.linspace(r.min(),r.max())
plt.plot(x, st.norm(original_mu,original_sig).pdf(x),c='g',label = 'original')
plt.plot(x, st.norm(estimated_mu,estimated_sig).pdf(x),c='b',label = 'MAP')
plt.plot(x, st.norm(mle_estimated_mu,mle_estimated_sig).pdf(x),c = 'r',label = 'MLE')
plt.xlabel('x',fontsize=16)
plt.ylabel('',fontsize=16)
plt.legend(loc = 'upper right')
plt.xticks([])
plt.yticks([])
plt.title('(d)',fontsize=14)

在这里插入图片描述

【博士论文复现】【阻抗建模、验证扫频法】光伏并网逆变器扫频与稳定性分析(包含锁相环电流环)(Simulink仿真实现)内容概要:本文档是一份关于“光伏并网逆变器扫频与稳定性分析”的Simulink仿真实现资源,重点复现博士论文中的阻抗建模与扫频法验证过程,涵盖锁相环和电流环等关键控制环节。通过构建详细的逆变器模型,采用小信号扰动方法进行频域扫描,获取系统输出阻抗特性,并结合奈奎斯特稳定判据分析并网系统的稳定性,帮助深入理解光伏发电系统在弱电网条件下的动态行为与失稳机理。; 适合人群:具备电力电子、自动控制理论基础,熟悉Simulink仿真环境,从事新能源发电、微电网或电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握光伏并网逆变器的阻抗建模方法;②学习基于扫频法的系统稳定性分析流程;③复现高水平学术论文中的关键技术环节,支撑科研项目或学位论文工作;④为实际工程中并网逆变器的稳定性问题提供仿真分析手段。; 阅读建议:建议读者结合相关理论教材与原始论文,逐步运行并调试提供的Simulink模型,重点关注锁相环与电流控制器参数对系统阻抗特性的影响,通过改变电网强度等条件观察系统稳定性变化,深化对阻抗分析法的理解与应用能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值