Filter löschen
Filter löschen

For example, I want to get a result like this. b=[1 diff(3)]=[1 0]. Not b=[1] .

1 Ansicht (letzte 30 Tage)
differentiation of constant value is zero. But in matlab, diff(3)=[]; I want to get a vector which components are constant and zero. For example, I want to get a result like this. b=[1 diff(3)]=[1 0]. Not b=[1] How can I solve it?

Akzeptierte Antwort

David Sanchez
David Sanchez am 30 Jul. 2013
Do something like the following function:
function out=my_diff(in)
out = diff(in);
if isempty(out)
out = 0;
end

Weitere Antworten (1)

Jan
Jan am 30 Jul. 2013
Bearbeitet: Jan am 30 Jul. 2013
diff() is not the "differentiation", but the "difference" of neighboring elements. As long as [3] does not have neighboring elements the result is empty, of course.
The "differentiation" is performed by the command gradient. But even with this [3] is not a well defined input: There is no slope between one point. Replying 0 is mathematically incorrect then.

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by