用半导体在matlab中绘制线性拟合

时间:2018-05-15 16:43:44

标签: matlab

我试图通过这个点来制作衬里。我使用了lsline,在例子中它运行得非常好。

    x = 1:10;
y1 = x + randn(1,10);
scatter(x,y1,25,'b','*')
hold on;
lsline;

但是当涉及到我的功能时,它不起作用。

 X = [0.5762
0.6191
0.6594
0.6997
0.7359
0.7753]

N = [10 * 0.000001;
40 * 0.000001;
160 * 0.000001;
640 * 0.000001;
2560 * 0.000001;
10240 * 0.000001]

figure(1);
semilogy(X,N,'r*');
hold on;
lsline;

我也尝试过相同的X,Y,N但是

scatter(X,N,25,'b','*')
set(gca,'yscale','log')


lsline;

它仍然不起作用。

1 个答案:

答案 0 :(得分:2)

问题是lsline用于线性拟合,而不是指数。您需要使用N的对数来进行线性拟合。在这种情况下,我使用基数4,因为您的数据看起来像4^X

X = [0.5762 0.6191 0.6594 0.6997 0.7359 0.7753];
N = [10 40 160 640 2560 10240] * 0.000001;

figure;
plot(X, log(N)/log(4), 'r*');
xlabel('X')
ylabel('Log(N)')
grid on, grid minor
hold on
lsline;
hold off