2014-02-23 5 views
1

질문 -Matlab의 상미 분 방정식

저는 2 차 1 차 미분과 2 차 미분을 해결하는 일부 MATLAB 코드를 작성하고 있습니다. 나는 dsolve()로 괜찮습니다. 그러나 음모를 꾸미고 싶을 때 나는 현재 ezplot을 사용하고 있으며, 원하는 것을 나에게주지 않습니다. 네 개의 그래프가있는 1 개의 창을 만들고 싶습니다. 나는 subplot을 사용할 것임을 알지만, 어떻게하면 좋은지 모릅니다. 또한 내 플롯이 단지 넓은 지역이 아닌 수입 지역을 보여줄 수있는 방법을 모른다. 내가 지금까지 몰랐

close all % close all figure windows that are open 
clear all % clear all the variables currently stored in memory 
clc  % clear the commands in the command window 

%%Problem 1%%%%% 
a = (dsolve('Dv = -500*v+5000','v(0)=5')); 
display (a) 
b = (dsolve('Dx = -2000*x+100','x(0)=-.02')); 
display (b) 

%%Problem 2%%%%% 
c = (dsolve('D2y+2000*Dy+26000000*y-520000000=0','Dy(0)=0','y(0)=5')); 
display(c) 
d = (dsolve('D2y+100*Dy+2500*y-520000000=0','Dy(0)=20','y(0)=0')); 
display (d) 

figure 
ezplot(a); 
axis([0,.01,4,10]) 

figure 
ezplot(b); 
axis([0,.01,0,10]) 

figure 
ezplot(c); 
axis([0,.01,4,10]) 

figure 
ezplot(d); 
axis([0,.01,4,10]) 

답변

2

하지만 ezplot은 플롯의 "흥미로운"에 대한 데이터 포인트를 생성하는 것 : 내 코드는 다음과 같습니다. 따라서 ezplot이 사용하지 않는 x 제한을 지정하면 아무 것도 표시되지 않습니다. 당신이해야 할 일은 ezplot의 두 번째 인수에 x 제한을 지정하는 것입니다. 그런 다음 표준 suplot 함수를 사용하여 서브 도표를 만들고 축 핸들을 가져오고 축을 지정할 수 있습니다. 코드의 플롯 부분은 이와 같아야합니다.

figure 
h1=subplot(2,2,1); 
ezplot(a, [0,0.01]); 
axis(h1,[0,0.01,4,10]) 

h2=subplot(2,2,2); 
ezplot(b, [0,0.01]); 
axis(h2,[0,.01,0,10]) 

h3=subplot(2,2,3); 
ezplot(c, [0,0.01]); 
axis(h3,[0,.01,4,10]) 

h4=subplot(2,2,4); 
ezplot(d, [0,0.01]); 
axis(h4,[0,.01,4,10]) 
+0

이 작업을 해 주셔서 감사합니다. 실제로 이러한 "흥미로운 부분"을 확대해야하지만 실제로 어떻게해야 할 지 잘 알고 있습니다. 당신의 도움을 주셔서 감사합니다 – user2444074

+0

업데이트 : 위에서 언급 한대로 축 값을 변경하려고 시도하기 시작했고 명령 축을 꼭 기억했습니다. 이것은 그래프 문제의 '흥미로운'부분을 해결했습니다. – user2444074