来自多个细胞的近似实验数据
Approximate experimental data from multiple cells
我有几个元胞阵列,其中包含来自 .mat 文件的探测数据。
我需要为 1000 个输入中的每一个找到共振频率和 q 因子,然后估计(近似)它们。然而,下面的代码只提供了 fres 的 1 个值而不是 1000,并且没有显示 (i, fres) 的图。
- FStart - 元胞数组 (1000*1)
- FEnd - 元胞数组 (1000*1)
Amp - 多阵列 (1000*100)
for i = 1:1:1000
f1 = FStart(i):10:FEnd(i);
grid on
y1 = plot(f1,Amp(i,:));
[maxValue, maxIndex] = max(Amp(i,:)); %find maximum value of amplitude for each i
[Q_Value, Q_Index] = max(0.5*Amp(i,:)); %also tried 0.5*max() and /2
fres = f1(maxIndex); %by index of max amplitude value find resonance frequency
plot(i,fres) %plot resonance frequency for each i
hold on
end
注意:最后一个FStart值小于第一个FreqEnd值
此外,我尝试将 Q 因子视为:Max(水平频率 = 1/2*MaxAmplitude)-Min(水平频率 = 1/2*MaxAmplitude)
fmin = min(f2(Q_Index))
fmax = max(f2(Q_Index))
但是显示fmin = fmax
你能告诉我,这里有什么问题吗?
除了清楚地显示问题出在哪里的答案评论之外,您可能还想通过将 fres
存储为向量来从脚本中删除 plot
:
for i = 1:1000
f1 = FStart(i):10:FEnd(i);
grid on
y1 = plot(f1,Amp(i,:));
[maxValue, maxIndex] = max(Amp(i,:)); %find maximum value of amplitude for each i
[Q_Value, Q_Index] = max(0.5*Amp(i,:)); %also tried 0.5*max() and /2
fres(i) = f1(maxIndex); %by index of max amplitude value find resonance frequency
end
plot(1:1000,fres,'ko-','LineWidth',2)
我有几个元胞阵列,其中包含来自 .mat 文件的探测数据。
我需要为 1000 个输入中的每一个找到共振频率和 q 因子,然后估计(近似)它们。然而,下面的代码只提供了 fres 的 1 个值而不是 1000,并且没有显示 (i, fres) 的图。
- FStart - 元胞数组 (1000*1)
- FEnd - 元胞数组 (1000*1)
Amp - 多阵列 (1000*100)
for i = 1:1:1000 f1 = FStart(i):10:FEnd(i); grid on y1 = plot(f1,Amp(i,:)); [maxValue, maxIndex] = max(Amp(i,:)); %find maximum value of amplitude for each i [Q_Value, Q_Index] = max(0.5*Amp(i,:)); %also tried 0.5*max() and /2 fres = f1(maxIndex); %by index of max amplitude value find resonance frequency plot(i,fres) %plot resonance frequency for each i hold on end
注意:最后一个FStart值小于第一个FreqEnd值
此外,我尝试将 Q 因子视为:Max(水平频率 = 1/2*MaxAmplitude)-Min(水平频率 = 1/2*MaxAmplitude)
fmin = min(f2(Q_Index))
fmax = max(f2(Q_Index))
但是显示fmin = fmax
你能告诉我,这里有什么问题吗?
除了清楚地显示问题出在哪里的答案评论之外,您可能还想通过将 fres
存储为向量来从脚本中删除 plot
:
for i = 1:1000
f1 = FStart(i):10:FEnd(i);
grid on
y1 = plot(f1,Amp(i,:));
[maxValue, maxIndex] = max(Amp(i,:)); %find maximum value of amplitude for each i
[Q_Value, Q_Index] = max(0.5*Amp(i,:)); %also tried 0.5*max() and /2
fres(i) = f1(maxIndex); %by index of max amplitude value find resonance frequency
end
plot(1:1000,fres,'ko-','LineWidth',2)