ppval
조각별 다항식 계산
설명
예제
여러 차수의 다항식으로 조각별 다항식 만들기
구간 [0,4]에 3차 다항식이 있고, 구간 [4,10]에 2차 다항식이 있고, 구간 [10,15]에 4차 다항식이 있는 조각별 다항식을 만듭니다.
breaks = [0 4 10 15]; coefs = [0 1 -1 1 1; 0 0 1 -2 53; -1 6 1 4 77]; pp = mkpp(breaks,coefs)
pp = struct with fields:
form: 'pp'
breaks: [0 4 10 15]
coefs: [3x5 double]
pieces: 3
order: 5
dim: 1
구간 [0,15]에 있는 많은 점에서 조각별 다항식을 계산하고 결과를 플로팅합니다. 다항식이 만나는 절점에서 수직 파선을 플로팅합니다.
xq = 0:0.01:15; plot(xq,ppval(pp,xq)) line([4 4],ylim,'LineStyle','--','Color','k') line([10 10],ylim,'LineStyle','--','Color','k')
반복되는 부분을 갖는 조각별 다항식 만들기
두 2차 다항식을 교대로 나타내는 4개의 간격을 갖는 조각별 다항식을 만들고 플로팅합니다.
처음 두 서브플롯은 2차 다항식과 그에 음수를 취한 다항식을 구간 [-8,-4]와 [-4,0]에 표시합니다. 다항식은 다음과 같습니다.
세 번째 서브플롯은 4개 구간에 이러한 두 2차 조각별 다항식을 교대로 나타내어 생성한 하나의 조각별 다항식을 보여줍니다. 다항식이 만나는 지점을 표시하는 세로선이 추가됩니다.
subplot(2,2,1) cc = [-1/4 1 0]; pp1 = mkpp([-8 -4],cc); xx1 = -8:0.1:-4; plot(xx1,ppval(pp1,xx1),'k-') subplot(2,2,2) pp2 = mkpp([-4 0],-cc); xx2 = -4:0.1:0; plot(xx2,ppval(pp2,xx2),'k-') subplot(2,1,2) pp = mkpp([-8 -4 0 4 8],[cc;-cc;cc;-cc]); xx = -8:0.1:8; plot(xx,ppval(pp,xx),'k-') hold on line([-4 -4],ylim,'LineStyle','--') line([0 0],ylim,'LineStyle','--') line([4 4],ylim,'LineStyle','--') hold off
입력 인수
출력 인수
v
— 쿼리 점의 조각별 다항식 값
벡터 | 행렬 | 배열
쿼리 점의 조각별 다항식 값으로, 벡터, 행렬 또는 배열로 반환됩니다.
pp
에 [d1,..,dr]
값 계수(비 스칼라 계수 값)가 있을 경우:
xq
가 길이N
의 벡터일 때v
의 크기는[d1,...,dr,N]
이고,v(:,...,:,j)
는xq(j)
에서의 값입니다.xq
의 크기가[N1,...,Ns]
일 때v
의 크기는[d1,...,dr,N1,...,Ns]
이고,v(:,...,:, j1,...,js)
는xq(j1,...,js)
에서의 값입니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
다음 두 문장이 모두 참일 때 출력
v
의 크기는 MATLAB®과 일치하지 않습니다.입력
xx
가, 가변 길이 벡터가 아닌 가변 크기의 배열입니다.xx
가 런타임 시에 행 벡터가 됩니다.
이 경우, 코드 생성기는 한원소(singleton) 차원을 제거하지 않습니다. 하지만, MATLAB이 한원소 차원을 제거할 수도 있습니다.
예를 들어,
xx
가 :4×:5 배열이라고 가정하겠습니다(첫 번째 차원은 상한이 4인 가변 크기이고 두 번째 차원은 상한이 5인 가변 크기임).ppval(pp,0)
이 2×3 고정 크기 배열을 반환한다고 가정하겠습니다.v
의 크기는 2×3×:4×:5입니다. 런타임 시, size(x,1) = 1이고 size(x,2) = 5라고 가정합니다. 생성된 코드에서 size(v)는 [2,3,1,5]입니다. MATLAB에서는 크기가 [2,3,5]입니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
이 함수는 GPU 배열을 완전히 지원합니다. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)