%作者:ss_优快云
%20200322
%求一次拟合的程序
close all
%输入数据单位处理
data_all=load('enc1.csv');% load data from file.
Cd0=data_all(:,1); %取第一列
ENC0=data_all(:,2); %取第二列
Cd=Cd0*10^12;%单位pF
ENC=ENC0;%单位化为mV
%拟合
A=polyfit(Cd,ENC,1) %y=1x+b p=[a b]线性拟合
ENC_new=polyval(A,Cd);%拟合函数
%画图
figure;
plot(Cd,ENC,'ro','LineWidth',3)%原曲线
hold on
plot(Cd,ENC_new,'k-','LineWidth',1.5)%拟合曲线
grid on %加网格
xlabel('探测器电容/pF');
ylabel('等效电荷噪声/e-');
legend('原曲线','线性拟合曲线');
%title('ENC-Cd曲线');
axis([0 1.1*max(Cd) 0 1.1*max(ENC)]);
text_handle = text(0.3*max(Cd),0.25*max(ENC), sprintf('ENC=%2.0fe-+%2.3fe-/pF×Cd',A(2),A(1)),'FontSize',15);%在图上显示线性度的值,显示的字体
%求enc=60e-的Cd值
syms x
x = solve('A(2)+A(1)*x=60');
x1=eval(x)