如何定义这个问题的合适参数吗?

5视图(30天)
你好,每个人!
我想做一个恰当的过程为多个数据集:
  • 我使用fit(),以适应情节,我要和这样一个伽马函数:a。* ^ b (x - 1)。* exp (- (x - 1) / c)。
  • 问题我是定义多少个点形成峰值的左派和右派,我想将融入拟合过程
  • 我的最终目标是衡量拟合曲线下的面积
我添加了一个情节,我的形象,和一个代码的一部分。
% %计算限制和不离准则
步伐= (Info.Acq。TR * Info.Acq.NumSpokes) / 1000;
r2C_smoothed =光滑(r2C 4);
[~,maxPosition] = max (r2C_smoothed [], 2);
x_real =(1:步伐:长度(r2C_smoothed) *步伐)';
% r2C_interpolated = interp1(1:长度(r2C)、r2C x_interpolated);
% [~,maxPosition_interpolated] = max (r2C_interpolated [], 2);
dy =梯度(r2C_smoothed(:))。/梯度(x_real);
dy2 =梯度(dy(: 1))。/梯度(x_real);
dy2 = dy2 (: 1);
K =双([dy2 x_real]);%第二derivativ和x轴
双(N = [0 x_real (maxPosition)]);% 0 =二阶导数和峰值的位置
Idx_left = knnsearch (K (1: maxPosition,:), N,“距离”,“seuclidean”);%”然而,找到最近的点为零和最近的的最大值位置数据
Idx_right = knnsearch (K (maxPosition:,:), N,“距离”,“seuclidean”)+ maxPosition;
低= Idx_left-1;
= Idx_right;
不离准则(Masktype:) =(低maxPosition);
% %拟合曲线
据= fitoptions (“方法”,“NonlinearLeastSquares”,“低”(0,0,0),“上”,正无穷,正无穷,正无穷,曾经繁荣的[100]2);
FitParam = fittype (“。* (x - 1) ^。b。* exp (- (x - 1) / c)。”,“系数”,{“一个”,“b”,“c”},“选项”,据);
y =双(r2C_smoothed ');
FitParam =适合(x_real(1:较低的+ 1),y(低:),FitParam);
一个= FitParam.a;
b = FitParam.b;
c = FitParam.c;
可以看出,健康不是正确的。通常最适合出来当我将3点的左侧峰形式,并从右边5点。但我不会工作在每一个数据集。所以我想到使用最近的拐点形成峰值(+ / -偏见)作为decison规则,但由于数据是离散的,有点吵,这并不好足够的工作。有任何其他的想法吗?谢谢提前

答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!