我试图用LMFIT库做一个多洛伦兹拟合,但它不起作用,我甚至知道我做的语法是完全错误的,但我没有任何新的想法。
我的问题是:我有一个很长的光谱,有多组峰,但这些峰的数量不是恒定的,所以有时我只有一个峰,但有时我可能有8个,甚至20个。
#function definition:
def Lorentzian(x, amp, cen, wid, n):
f = 0
for i in range( int(n) ):
"lorentzian function: wid = half-width at half-max"
f += (
我试着用scipy.optimize.curve_fit来拟合布里渊光谱(有几个峰)。我有多个有几个峰的光谱,我试图用洛伦兹函数来拟合它们(每个峰一个洛伦兹函数)。我试图自动化的过程,大量的分析(即,使用峰值查找算法,以获得峰值位置,峰宽和峰高,并使用它们作为拟合的初始猜测)。我现在正在研究一个光谱,看看一般的想法是否有效,然后我将把它扩展到自动的,并与我所有的光谱一起工作。到目前为止,我已经这样做了:
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import find_peaks
from scip
我正在尝试寻找给定图像的一些相对最大值。我知道有两种可能的方法,第一种是使用scipy.ndimage.maximum_filter(),第二种是使用skimage.feature.peak_local_max()。
为了比较这两种方法,我修改了skimage 中的一个示例,以便比较找到的峰值。
from scipy import ndimage as ndi
import matplotlib.pyplot as plt
from skimage.feature import peak_local_max
from skimage import data, img_as_float
im
我有一个光谱数据(在x轴上有1000个变量,峰值强度为y),以及我从一个函数中得到的各个特定x位置的感兴趣峰的列表(一个称为峰值的矩阵)。在这里,我想画一条线,从每个山峰的最大值到X轴--或者,最终,在每个山峰上方放置一个垂直箭头--但我读到它很麻烦,所以只需要一条垂直线是受欢迎的。但是,使用下面的代码,我得到了“使用行值必须是数字类型的向量的错误”。有什么想法吗?
X = spectra;
[Peak,intensity]=PeakDetection(X);
nrow = length(Peak);
Peak2=Peak; % to put inside the real xaxis va
我试图为光谱OpenAPI linter ()定义一个错误格式。下面是我的代码,但我看到的是,在运行:make之后,quickfix窗口填充了来自谱的行,但我无法使用它导航到错误点。在Vim中没有错误,快速修复窗口不起什么作用。
“光谱”的消息如下所示:
/path/to/sample.yaml:25:9 error oas3-schema "Property `think` is not expected to be here."
我现在的Vimscript如下所示:
function! OpenAPIDetect()
if getline(1) =~ 'op