matlab 曲线斜率

已知两组数x=[0.6230.7470.8951.07381.2871.5431.8492.2172.6573.1843.7844.3844.9845.5846.1846... 已知两组数x=[ 0.623 0.747 0.895 1.0738 1.287 1.543 1.849 2.217 2.657 3.184 3.784 4.384 4.984
5.584 6.184 6.784 7.384 7.984],y=[0 0 0 0 0 2.5 e-28 3.8e-23 6.3e-17 1.7e-09 0.00187 0.01421 0.029 0.0446 0.060 0.0771 0.093 0.110 0.127]用matlab画出曲线和求出各个点的斜率怎么实现啊?
展开
 我来答
WM_THU
推荐于2017-11-26 · TA获得超过7164个赞
知道大有可为答主
回答量:4285
采纳率:80%
帮助的人:3897万
展开全部
采用插值后差分代微分的方法求斜率。

% begin
x=[ 0.623 0.747 0.895 1.0738 1.287 1.543 1.849 2.217 2.657 3.184 3.784 4.384 4.984 5.584 6.184 6.784 7.384 7.984];
y=[0 0 0 0 0 2.5e-28 3.8e-23 6.3e-17 1.7e-09 0.00187 0.01421 0.029 0.0446 0.060 0.0771 0.093 0.110 0.127];
% 插值
dx = 1e-3;
xi = min(x):dx:max(x);
yi = interp1(x, y, xi);
plot(x, y, 'o', xi, yi);
% 求差分
dyi = [0 diff(yi)] / dx;
% 找原来的x点数余对应的dy:
dy = interp1(xi, dyi, x);

得到的dy就是各个扰毕基x点缓谨处的斜率值。
更多追问追答
追问
曲线不过原点dyi = [0 diff(yi)] / dx;是不是欠考虑?
追答
曲线过不过原点跟斜率有什么关系呢?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式