我怎么能延长polyfit重对数刻度线吗?
10视图(30天)
显示旧的评论
我写了这段代码,但我需要延长这条线从y y = 100 = 10。我试过但我不能这样做。有人能帮忙吗?
x = (0.310 - 0.220 0.125 - 0.065)
y = (95.4 - 63.3 36.8 - 22.4)
X = log10 (X);Y = log10 (Y);
P = polyfit (X, Y, 1);
yhat = 10。^ [polyval (P (X (1) X(结束))));
重对数(x, y,“年代”)
持有在
重对数([x (1) x(结束)],yhat)
包含(“(mm)”)
ylabel (“(%)”)
网格在
斜率= P (1)
txt = [“m =”num2str (P (1)))
文本(0.4,40,txt)
0评论
接受的答案
Bjorn Gustavsson
2022年1月6日
当你计算
yhat
你只有第一个和最后一个元素的值适合您使用。你应该尽量延长值的范围和计算
yhat
更大范围的值。这样可以帮助你:
x = (0.310 - 0.220 0.125 - 0.065)
y = (95.4 - 63.3 36.8 - 22.4)
X = log10 (X);Y = log10 (Y);
P = polyfit (X, Y, 1);
ξ= log10 (linspace (min (x) / 10, max (x) * 10), 101);%的新变量使用的评估
yhat = 10。^ [polyval (P, Xi)];
重对数(x, y,“年代”)
持有在
重对数(10 ^ Xi, yhat)%绘制修改。
包含(“(mm)”)
ylabel (“(%)”)
网格在
斜率= P (1)
txt = [“m =”num2str (P (1)))
文本(0.4,40,txt)
您可能需要调整
习
- variable和放大情节。
HTH