我怎么能延长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)

接受的答案

Bjorn Gustavsson
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
2的评论

登录置评。

更多的答案(0)

s manbetx 845


释放

R2021a

社区寻宝

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

开始狩猎!