在Matlab中使用不同函数计算升序和降序值
我有一个向量,它的值描述了水分随时间的变化。 结果,这些值上升,然后下降,然后再次上升,就像这样继续下去。。。 我需要计算一些东西,但是我需要使用一个不同的方程来计算上升值和下降值 例如,如果我有以下向量:在Matlab中使用不同函数计算升序和降序值,matlab,Matlab,我有一个向量,它的值描述了水分随时间的变化。 结果,这些值上升,然后下降,然后再次上升,就像这样继续下去。。。 我需要计算一些东西,但是我需要使用一个不同的方程来计算上升值和下降值 例如,如果我有以下向量: A = [1 2 3 4 5 4 3 2 5 6 7 8 5 4 2 1] 如何定义前5个值是用方程式f1计算的,接下来3个值是用方程式f2计算的,接下来4个值是用方程式f1计算的,最后4个值是用方程式f2计算的?以下代码将为您提供必须用方程式f1和f2解算的索引 A = [0 A] So
A = [1 2 3 4 5 4 3 2 5 6 7 8 5 4 2 1]
如何定义前5个值是用方程式f1计算的,接下来3个值是用方程式f2计算的,接下来4个值是用方程式f1计算的,最后4个值是用方程式f2计算的?以下代码将为您提供必须用方程式f1和f2解算的索引
A = [0 A]
SolveF1 = find(diff(A)>0)
SolveF2 = find(diff(A)<0)
A=[0a]
SolveF1=查找(差异(A)>0)
SolveF2=查找(差异(A)>查找(差异(A)>0)
ans=
1 2 3 4 5 9 10 11 12
>>查找(diff(A)提示->如果使用diff
,然后使用sign
,您可以很容易地看到“向上”和“向下”方向。另一种方法是使用findpeaks
查找局部最大值/最小值(将等式乘以-1)并使用索引。如果值不变,预期的行为是什么?您能否为A
提供所需的输出?例如,使用f1=x*10和f2=x*100,以便我们可以看到需要根据哪些条目/差异选择函数。
>> find(diff(A)>0)
ans =
1 2 3 4 5 9 10 11 12
>> find(diff(A)<0)
ans =
6 7 8 13 14 15 16