deval
미분 방정식 해 구조체 계산
설명
예제
상수 지연(Constant Delay)의 지연 미분 방정식(DDE) 계산하기
이 예제에서는 dde23
을 사용하여 DDE 방정식 y' = ddex1de(t,y,Z)
를 풀고 해를 플로팅합니다.
dde23
을 사용하여 시스템을 풉니다.
sol = dde23(@ddex1de, [1 0.2], @ddex1hist, [0 5]);
구간 [0 5]
의 100개 지점에서 해를 구합니다.
x = linspace(0,5); y = deval(sol,x);
해를 플로팅합니다.
plot(x,y)
반데르폴 방정식(van der Pol equation) 실행
이 예제에서는 ode45
를 사용하여 시스템 y' = vdp1(t,y)
를 풀고 해의 첫 번째 성분을 플로팅합니다.
ode45
를 사용하여 시스템을 풉니다.
sol = ode45(@vdp1, [0 20], [2 0]);
구간 [0 20]
의 100개 지점에서 해의 첫 번째 성분을 구합니다.
x = linspace(0,20,100); y = deval(sol,x,1);
해를 플로팅합니다.
plot(x,y)
보간 함수의 기울기
ode23
을 사용하여 구간 에 대해 초기 조건 y0 = 0
을 사용하여 간단한 ODE y' = t^2
을 풉니다.
sol = ode23(@(t,y) t^2, [0 3], 0);
7개 지점에서 해를 구합니다. 해 구조체 sol
에는 deval
이 이들 지점에서 연속해(Continuous Solution)를 생성하는 데 사용하는 보간 함수가 포함됩니다. deval
에 지정된 지점에서 보간 함수의 도함수를 반환할 두 번째 출력 인수도 지정합니다.
x = linspace(0,3,7); [y,yp] = deval(sol,x)
y = 1×7
0 0.0417 0.3333 1.1250 2.6667 5.2083 9.0000
yp = 1×7
0 0.2500 1.0000 2.2500 4.0000 6.2500 9.0000
입력 인수
sol
— 해 구조체
구조체
해 구조체로, 이러한 미분 방정식 솔버 중 하나에서 반환된 구조체로 지정됩니다.
초기값 문제 솔버 —
ode45
,ode23
,ode113
,ode15s
,ode23s
,ode23t
,ode23tb
,ode15i
지연 미분 방정식 솔버 —
dde23
,ddesd
또는ddensd
경계값 문제 솔버 —
bvp4c
또는bvp5c
예: sol = ode45(@myode,tspan,y0)
데이터형: struct
x
— 계산 지점
벡터
계산 지점으로, 벡터로 지정됩니다. x
는 해의 값을 구하려는 지점을 지정합니다. x
의 요소는 원래 적분 구간 [sol.x(1) sol.x(end)]
에 포함되어야 합니다. 각각의 인덱스 i
에 대해 해 y(:,i)
는 x(i)
에 대응합니다.
예: 0:0.1:1
예: [2 3 5 8]
데이터형: single
| double
idx
— 반환할 해 성분
벡터
반환할 해 성분으로, 벡터로 지정됩니다. 해의 특정 성분만 구하려는 경우 이 입력값을 사용하십시오.
예: y = deval(sol,x,[2 3])
은 두 번째 해 성분과 세 번째 해 성분만 반환합니다.
데이터형: single
| double
출력 인수
y
— 보간된 해
벡터 | 행렬
보간된 해로, 벡터나 행렬로 반환됩니다. y
에 포함된 행의 개수는 반환되는 해 성분의 개수와 동일합니다.
다중 점 경계값 문제(Multipoint Boundary Value Problem)의 경우 bvp4c
또는 bvp5c
로 구한 해는 인터페이스에서 불연속적일 수 있습니다. 인터페이스 지점 xc
에 대해 deval
함수는 xc
의 왼쪽 극한과 오른쪽 극한의 평균을 반환합니다. 극한값을 얻으려면 x
값을 xc
보다 약간 크거나 작은 값으로 설정해야 합니다.
yp
— sol
에서 생성된 연속해(Continuous Solution)의 도함수
벡터 | 행렬
sol
에서 생성된 연속해의 도함수로, 벡터나 행렬로 반환됩니다. yp
는 y
와 크기가 같고 y
의 각 해 지점에서 sol
이 사용하는 보간 함수의 기울기를 나타냅니다.
확장 기능
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
버전 내역
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)