作业帮 > 综合 > 作业

Matlab简单编程问题:我用下面的程序画出了一个曲线,现在想画出这个曲线的一阶导数图和二阶导数图

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 12:36:24
Matlab简单编程问题:我用下面的程序画出了一个曲线,现在想画出这个曲线的一阶导数图和二阶导数图
程序如下:
x=[460 476 492 508 524];
y=[0.005 0.015 0.032 0.013 0.003];
xx=460:1:524;
yy=spline(x,y,xx);
plot(xx,yy)
请高手用matlab编程啊,如果能实现,将不胜感激!小弟我是前天才开始学matlab,思考了两天都没想出来好的解决办法.如果能用二重抛物线等数值微分法在matlab中画出一阶和二阶图形来也可以!小弟我死了好多脑细胞,也想不出解决办法.
x=[460 476 492 508 524];
y=[0.005 0.015 0.032 0.013 0.003];
xx=460:1:524;
yy=spline(x,y,xx);
figure
plot(xx,yy)
dy1 = diff(yy);
xx1 = (xx(1:end-1) + xx(2:end))/2;
figure
plot(xx1,dy1) % 一阶导数图
dy2 = diff(dy1);
xx2 = (xx1(1:end-1) + xx1(2:end))/2;
figure
plot(xx2,dy2) % 二阶导数图
再问: 您回答的已经很好了!不过我想更进一步的问一句:您能不能在matlab中用二重抛物线法画出x,y的拟合曲线及该曲线的一阶和二阶图形,即:用第一个点(x=460,y=0.005),第二个点(x=476,y=0.015),第三个点(x=492,y=0.032)作出一个抛物线y=ax^2+bx+c,再用第二个点,第三个点,第四个点作出一抛物线y'=a'x^2+b'x+c',最后画出所有五个点的平均抛物线图及其一阶、二阶导数图,这个东西对我很有用哦!
再答: 你所述的二重抛物线法的精度,远低于spline。 ......
再问: 能不能不吝花费一点时间,用上面的五个数据编一个最简单的二重抛物线法的小程序出来看看?或者大概讲解一下原理和编程思路,扫个盲也行啊。二重抛物线法只在一篇文献中看到,百度中连个词条都查不到!!数学分析书里也没有,但这个却明显是很基础的东西,日本岛津生产的仪器中用的就是这种方法!所以很想了解一下,拜托了!财富值一定追加奉上,相信会有很多人看到后会得到收益,提高他们的数学水平和兴趣啊(有社会效益哦)
再答: 用第一个点(x=460,y=0.005),第二个点(x=476,y=0.015),第三个点(x=492,y=0.032)作出一个抛物线y=ax^2+bx+c, 再用第二个点,第三个点,第四个点作出一抛物线y'=a'x^2+b'x+c', 最后画出所有五个点的 平均抛物线图 x=[460 476 492 508 524]; y=[0.005 0.015 0.032 0.013 0.003]; x1 = x(1:3) ; y1 = y(1:3) ; x2 = x(2:4) ; y2 = y(2:4) ; p1 = polyfit(x1,y1,2); p2 = polyfit(x2,y2,2); f1 = polyval(p1,x); f2 = polyval(p2,x); f = (f1 + f2)/2; plot(x,y,'o',x,f,'-') % 平均抛物线图