본문 바로가기
반응형

분류 전체보기68

Simulink 기초 (2) 미분방정식 만들기 - 수직하강 문제, 블록 10m의 높이에서 떨어지는 상황에 대한 미분방정식을 만들어보자. 뉴턴의 법칙에 의해 \[m\ddot{x}=-mg, x(0)=10\] 와 같은 미분방정식과 초기 조건을 얻을 수 있다. 먼저 중력가속도를 표현하는 Constant 블록을 생성해보자. 라이브러리 - Source - Constant 블록을 드래그하여 생성한 후에 블록을 더블클릭하여 상수 값을 -9.81로 변경한다. 질량은 서로 약분되므로 고려하지 않고, g를 2번 적분하면 x가 나오는 것을 알 수 있다. 따라서 적분기 2개를 배치하고 Constant 블록과 연결해보자. 적분기는 라이브러리 - Continuous - Integrator 블록을 이용하여 추가할 수 있다. 초기조건을 지정하기전에 각 신호의 이름을 지정해보자 화살표를 더블클릭하면 이름을.. 2023. 3. 23.
Simulink 기초 (1) 시작하기, 블록 Matlab의 홈 탭에서 Simulink를 선택하여 Simulink를 실행 할 수 있다. 다음과 같이 시작페이지가 나오는데 빈 모델을 선택하여 모델을 생성할 수 있다. 시뮬레이션 탭에 라이브러리 브라우저를 선택하면 블록 라이브러리가 오고 블록을 workspace에 드래그하여 블록을 생성할 수 있다. - 블록 블록은 입력을 받아 연산을 수행하고 출력을 보내는 형태로 입력이 없거나 출력이 없을 수 있다.(Ex.Constant block) 입력과 출력은 포트에서 연결할 수있으며(>모양), 포트를 끌어서 블록과 블록 사이를연결 할 수 있다. 먼저 Constant 블록을 만들어보자. 라이브러리 - Source - Constant 블록을 Workspace에 드래그하여 생성한다. Constant 블록은 상수를 출력하.. 2023. 3. 23.
Matlab 실습 15.mesh, surf 문제 :x와 y의 범위가 [-2 2] 일 때, \( z=e^{-x^2-y^2} \) 를 mesh와 surf를 이용하여 그려보자 코드 : clear, clf xx=-2:0.1:2; yy=xx; [x,y]=meshgrid(xx,yy); z=exp(-x.^2-y.^2); figure(1), mesh(x,y,z); figure(2), surf(x,y,z); 그래프 - meshgrid는 xx와 yy를 각각 x좌표, y좌표에 저장하는 기능을 한다. - mesh는 색칠이 되어있지않고, surf는 색칠이 되어있다. 2022. 12. 24.
Matlab 실습 14. 3D 그래프 그리기 문제 : 바닥에서 20바퀴를 돌아 꼭지점에 도달하는 원추형 선 그래프를 그려보자 코드 : clear, clf turns=20*2*pi; theta=linspace(0,turns,4000); x=cos(theta).*(turns-theta)./turns; y=sin(theta).*(turns-theta)./turns; z=theta./turns; plot3(x,y,z) 그래프 2022. 12. 24.
Matlab 실습 13. 버튼을 이용하여 색깔 설정하기 문제 : sin 함수의 색깔을 Box 버튼을 이용해 조절하는 프로그램을 작성해보자. 코드 : clear all, close all t=0:0.01:10; line_color=['r', 'b', 'g']; str='Yes'; while 1 if strcmp(str,'Yes') % str과 'Yes'가 같으면 1을반환 % s=menu('Choose a color', 'red', 'blue', 'green');... % 선택에 따라 s는 1,2,3을 반환 [s,tf]=listdlg('ListString',{'red','blue','green'}... ,'SelectionMode','single','PromptString','hello'); % menu와 동일 이걸 주로 사용 plot(t,sin(t),line_.. 2022. 12. 24.
Matlab 실습 12. 그래프창을 여러개 만드는 방법 - subplot 문제 : 감쇠비에 따른 단위계단응답을 여러개의 창에 그려보자 코드 : clear all, close all zeta=0.2:0.2:0.8; t=0:0.01:5; y=zeros(length(t),1); for i=1:length(zeta) num=100; den=[1 20*zeta(i) 100]; y(:,i)=step(num,den, t); % 여러개의 그래프를 그리는 방법(1,2,3,4열에 정보를 저장) end subplot(221), plot(t,y(:,1)), axis([0 5 0 2]), grid, title('z=0.2') subplot(222), plot(t,y(:,2)), axis([0 5 0 2]), grid, title('z=0.4') subplot(223), plot(t,y(:,3)), .. 2022. 12. 24.
반응형