什么是符号表达式(对称)和如何在matlab分化时使用这个?

1视图(30天)
你好,我有一些数据与电压尖峰录音,我需要计算。我想使用diff()函数来计算峰值的数量(即数量的上升和下降)在一段时间内发生的。但是,我看到,我需要使用的符号表达式我求导。谁能告诉我这是什么意思吗?我可以使一组符号表达式吗?(例如,对称型的数组倍)?
谢谢! ! !

答案(2)

约翰D 'Errico
约翰D 'Errico 2021年8月29日
不。你误解什么diff,为什么使用diff。
diff,当应用到数字矢量,形成连续的元素之间的区别。这不是一个导数。
例如,
X =质数(20)
X = 1×8
2 3 5 7 11 13 17 19
dx = diff (X)
dx = 1×7
1 2 2 4 2 4 2
它所做的是计算双连续的元素之间的区别。我们可以得到相同的结果的操作:
dx_2 = X(2:结束)- X (1: end-1)
dx_2 = 1×7
1 2 2 4 2 4 2
再一次,这不是一个导数。你的困惑源于diff还可以用来进行分化,当应用于符号表达式。这就是对称的用武之地。例如:
信谊x
x
类属性名称大小字节x 1 x1 8信谊
所以x是一个象征性的变量。这里不包含数值。
y = x ^ 3 + 3 * x ^ 2 - 2
y =
diff (y, x)
ans =
正如您可以看到的,分化的一个表达式。在这两种情况下,一个函数命名使用diff,但是他们却完全不同的事情,这取决于输入参数。

Chunru
Chunru 2021年8月29日
如果你有数字录音代替fumula /表达式输入,应该使用数值差异。“findpeaks”可能也有帮助。
3评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年8月29日
数值导数的估计, 通常 使用梯度()是一个更好的选择。
数字差异可以估计在几种不同的方式。向前的差异;向后的差异;中央的差异;和其他人。

登录置评。

社区寻宝

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

开始狩猎!