Hi all, i try to use interp1 function. but i have two data input (Y), the values of the underlying function , one of them is a vector while the other is constant value. so how i can deal with Y

조회 수: 2 (최근 30일)
yi = c(x,Y,xi)

답변 (1개)

John D'Errico
John D'Errico 2016년 2월 20일
편집: John D'Errico 2016년 2월 20일
So, what you are telling us is, that you apparently have a "function" Y(x), such that for ANY point x, the value of the function Y(x) is Y, a constant. You wish to interpolate that "function"?
My question is, why bother? You already know the function is constant. So the simple answer is to use repmat, which will return the same constant value for every value of xi.
yi = repmat(Y,size(xi));
The only thing I am unsure about is what you intended by the code fragment:
yi = c(x,Y,xi)
This is what Stephen also referred to. I see that this call seems to be identical to the format interp1 uses. And you refer to interp1 in your question. Therefore, I assume that you are asking what function can be used to interpolate a constant function. Again, the answer is, no special function is required, perhaps beyond something trivial like repmat.
  댓글 수: 3
Muna Shehan
Muna Shehan 2016년 2월 21일
where Y is a matrix that should contain the input of u (2xlength(x). So how i can write Y if it contains two inputs one of them is vary with time and the other is constant yi = interp1(x,Y,xi)
Jonathan Hawkins
Jonathan Hawkins 2017년 6월 12일
As to "Why bother..." I've run into this problem when I'm writing code that needs to interpolate for a generic function, which can be constant.
It's incredibly irritating that interp1 throws an error if the function you're interpolating happens to be constant. That's just shoddy design on Mathworks' part if you ask me.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

태그

아직 태그를 입력하지 않았습니다.

Community Treasure Hunt

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

Start Hunting!

Translated by