matlab中如何对图形微分或者积分

来源:百度知道 编辑:UC知道 时间:2024/09/21 01:49:45
matlab中如何对图形微分或者求导,而不是简单的对符号进行求导。
例如:x=0:0.05:2*pi;
y=sin(x);
plot(x,y);
z=diff(y);
plot(x,z);
得到的结果是不对的,因为还是正弦函数。
请问对图形的微分和积分??
??? Error using ==> plot
Vectors must be the same lengths.
出现以上的错误,该如何改呢??就像楼下所说的,语句中就有问题,y为离散量,z=diff(y)就是求y的微分,不是连续量里的微分。麻烦请写点具体的程序一下,感谢了。
再有一个问题:
MATLAB中如何对已知随机信号的波形进行微分??前提是随机信号,也就是在未知函数关系的图形情况下的加减乘除法、微分、积分等问题。感谢各位!

上面的说法不太对
x=0:0.05:2*pi;
y=sin(x);
plot(x,y);
hold on
z=diff(y)/0.05;%相当于dy/dx
plot(x(1:125),z,'r');

蓝线为原函数
红线是微分

首先这句语句就有问题,y为离散量,z=diff(y)就是求y的差分,不是连续量里的微分,x,y的规模均为1x126,z为1x125,所以这条语句无法执行,如下显示:
??? Error using ==> plot
Vectors must be the same lengths.
你看到的图实际上还是plot(x,y)的图形罢了,plot(x,z)没有执行。

不是结果不对,而是你的图像坐标轴跟着变了,所以才看起像是正弦函数。其实你看看对应坐标值就知道了。