MATLAB 에뮬레이션의 프로세스 및 코드 구조 - 경험 요약

문서 목록

  • 프로세스 개요
  • 코드 구조
  • 1.섹션 1: 데이터 로드
  • 2.제2부분: 모의 계산
  • 3.섹션 3: 드로잉
  • 명명규칙
  • 프로세스 개요


    장기적으로 matlab 코드를 작성하는 과정에서 얻은 경험을 정리했다. 합리적인 절차를 통해MATLAB 코드를 쓰고 코드 구조를 설계하면 후속적인 디버깅과 수정에 큰 편의를 제공할 수 있다.
    절차는 다음과 같이 요약할 수 있다.데이터 획득, 저장mat ;2. 전체 모의 계산 코드를 작성한다(기간에 독립할 수 있는 계산 단원을 함수로 작성한다).3. 모의 결과를 저장한다.4. 드로잉5. 그림의 스타일, 좌표, 라벨 등을 수정한다.

    코드 구조


    MATLAB는 모두 m 로 스크립트 코드와 함수 코드를 저장하는데 다음에 소개한 것은 전체 모의 그래프와 관련된 코드 구조이다.전체 프로젝트는 여러 개m 가 실현한 여러 개의 모의 그래프와 관련될 수 있으므로 함수의 중용성, 용이성, 데이터의 일치성을 고려해야 한다.
    일반적으로 한 번의 모방m 을 실현하면 다음과 같은 몇 가지 부분으로 나눌 수 있다.각 부분은 코드에서%% 를 사용하여 소절로 나누어져 있으며, 각 소절을 단독으로 디버깅할 수 있습니다.

    1. 제1부분: 데이터 로드


    모의 데이터는 모의와 직접 관련된 입력 매개 변수를 포함할 뿐만 아니라 색표, 글꼴 설정 등 도표 스타일과 관련된 데이터도 포함한다.
    %%---------------------------
  • 비우기: clearclc
  • 변하지 않는 데이터를 mat 로 저장하고 load xxx.mat로 불러오기;
  • 디버깅을 변경해야 하지만 전체 프로젝트에서 일치하는 코드를 유지하고 단독m 으로 스크립트를 작성하여 불러옵니다.

  • %-----------------------------
  • 이 파일의 매개 변수만 사용하거나 불러온 데이터를 변경합니다. 여기서 직접 정의하거나 값을 부여합니다.

  • 2. 두 번째 부분: 모의 계산


    %%---------------------------
  • 모방을 고려하면 여러 개의 독립된 절차로 나눌 수 있으므로 미리 생각하고 각 단계의 입력과 출력을 고려해야 한다.
  • 모의 절차에 따라 서로 다른 절차의 코드 블록을 빈 줄이나 주석으로 분리하면 뚜렷하다.
  • 실시간으로 생성된 결과 데이터를 기록하는데 일반적으로 그림을 만드는 x와 y축 데이터, 도례 텍스트 등을 포함하고 수조나 원포수조로 저장한다.
  • 다른 알고리즘에 사용할 수 있는 독립된 단원을 함수로 쓸 수 있다(코드의 가독성을 높이기 위해서이기도 하다).

  • %-----------------------------
  • 결과 데이터 저장
  • 프롬프트
  • 데이터를 저장하는 데 save 명령을 사용하면 다음에 열기m 는 지난번 결과를 직접 불러와서 그림을 그릴 수 있다.
  • sprintf로 매개 변수의 변화를 자동으로 생성하는 도례 텍스트.gtxt(i)=sprintf(“I=%d A”, current(i))
  • 함수의 호출은 매개 변수가 너무 많으면 호출할 때 매개 변수의 이름이 일치하거나 구조체 등 방법을 사용한다.

  • 3. 세 번째 부분: 드로잉


    %%----------------------------
  • 결과 데이터 불러오기;

  • %------------------------------
  • 그림 상자를 생성하고 핸들을 가져옵니다fig1=figure.
  • 메쉬 열기grid on, 열기 유지hold on
  • %----------------------------
  • x축 라벨, 좌표 범위/좌표 각도 설정
  • %----------------------------
  • Y축의 좌우 측면에 따라 각각 그린다:
  • plot,semilogx,semilogy 등 그림;
  • 설정 라벨, 좌표 범위/좌표 눈금, 격자
  • %----------------------------
  • 설치 범례
  • %----------------------------
  • (옵션) 가장자리의 빈 부분 제거set(fig1.CurrentAxes,'looseInset',[0 0.1 0 0]) %
  • 글꼴 번호 통일 설정set(fig1.CurrentAxes,'FontName',ftname,'FontSize',ftsize)
  • 닫기 유지hold off
  • 프롬프트
  • yyaxis right/left로 아래 조작하는 좌표축이 왼쪽인지 오른쪽인지 지정한다.
  • 만약에 그림에 화살표, 텍스트 상자를 추가해야 한다면 먼저 도표 편집 도구로 그림에 직접 그려진 다음에 코드를 생성할 수 있다. 생성된 코드는 함수로 그 중에서 자신이 필요로 하는 부분을 자신의 코드 뒤로 복사하면 된다.
  • 생성 도례와 그림의 곡선이 대응한다:
  • gtxt(1)=sprintf( “R=%d”, resistor(1) )   
    ... 
    gc(1)=plot(x{1},y{1})
    ...
    legend([gc(1),gc(2),gc(3)],gtxt{1},gtxt{2},gtxt{3}, 'Location','Northwest') 
    

    명명 규칙


    간단한 변수는 소문자로 하고 다른 변수는 알파카봉 명명법(예를 들어colorListForLine)으로 한다.그림의 코드 파일은 Curve_xxxx.m로 명명한다.전역 파라미터의 파일 이름을 Load_xxxx.m로 설정합니다.어떤 값을 계산하는 함수 파일은 Calc_xxxx.m로 명명한다.은함수 표현식의 파일을 Fun_xxxx.m로 명명하기;원시 데이터의 파일은 Source_xxxx.m로 명명한다.결과 데이터의 파일은 Result_xxxx.m로 명명됩니다.기타 데이터의 파일은 Data_xxxx.m로 명명됩니다.

    좋은 웹페이지 즐겨찾기