필터 지우기
필터 지우기

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

조회 수: 1 (최근 30일)
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?

채택된 답변

David Sanchez
David Sanchez 2013년 7월 30일
Do something like the following function:
function out=my_diff(in)
out = diff(in);
if isempty(out)
out = 0;
end

추가 답변 (1개)

Jan
Jan 2013년 7월 30일
편집: Jan 2013년 7월 30일
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.

카테고리

Help CenterFile Exchange에서 Mathematics에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by