organize vector, difference between adjacent elements of a vector
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Fidele Adanvo
am 29 Nov. 2020
Kommentiert: Adam Danz
am 29 Nov. 2020
Hello, everything okay? How can I automate this sequence?
if A=[ a ,b, c ,d ,e, ..........]
outA=[ A(1)-2 , ((A(1)-2)+(A(2)-A(1))) , (((A(1)-2)+(A(2)-A(1))) +(A(3)-A(2))) , ((((A(1)-2)+(A(2)-A(1))) +(A(3)-A(2))) +(A(4)-A(3))), ..............]
for exemple
if A=[ 3 ,10, 55 ,100 ,888, ..........]
outA= [ 3-2, ((3-2)+(10-3)) , ((3-2)+(10-3) +(55-10)), ((3-2)+(10-3) +(55-10)+(100-55)), ((3-2)+(10-3) +(55-10)+(100-55)+(888-100) )]
outA=[ 1 , (1+7), (8+44 ) , (53+44), (98+788)]
outA=[ 1 8 53 98 886]
0 Kommentare
Akzeptierte Antwort
Adam Danz
am 29 Nov. 2020
Bearbeitet: Adam Danz
am 29 Nov. 2020
A=[ 3 ,10, 55 ,100 ,888];
z = cumsum(diff([2,A]))
4 Kommentare
Adam Danz
am 29 Nov. 2020
You want to subtract the first element of A by 2 which is why 2 is added to the beginning of [2,A].
If you want to apply the restriction min(1,...) to the first element of A,
z = cumsum(diff([2,A]));
z(1) = min(1,z(1))
Weitere Antworten (1)
Ameer Hamza
am 29 Nov. 2020
Bearbeitet: Ameer Hamza
am 29 Nov. 2020
The rule you described in just A-2
A=[3 ,10, 55 ,100 ,888];
B = A-2;
Result
>> B
B =
1 8 53 98 886
In the sum (A(1)-2) + (A(2)-A(1)) + (A(3)-A(2)) + ... + (A(n)-A(n-1)), after cancelling out the common term, you will only get A(n)-2.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!