>웹 프론트엔드 >JS 튜토리얼 >Matlab 및 평균 스택으로 웹 앱 생성

Matlab 및 평균 스택으로 웹 앱 생성

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌원래의
2025-02-19 13:22:12748검색

Creating a Web App with MATLAB and the MEAN Stack

코어 포인트

기술 컴퓨팅을위한 고급 언어 인 MATLAB은 평균 스택과 통합되어 강력한 웹 응용 프로그램을 생성 할 수 있습니다.

평균 스택은 mongodb, express.js, angularjs 및 node.js로 구성되며 Matlab과 함께 사용하면 웹에서 실시간 데이터 시각화가 가능합니다.
    통합 프로세스에는 MATLAB의 컴퓨팅 파워를 사용하여 데이터를 처리하고 결과를 생성 한 다음 평균 스택을 사용하여 구축 된 웹 응용 프로그램에 표시됩니다.
  • MATLAB 언어에서 무료 오픈 소스 JSON 인코더/디코더 구현 인 JSONLAB은 웹 애플리케이션에 사용하기 위해 MATLAB 데이터를 JSON 형식으로 변환하는 데 사용됩니다.
  • MATLAB 웹 애플리케이션 생성에는 MATLAB 컴파일러를 사용하여 독립형 응용 프로그램 작성, Matlab 웹 앱 서버에서 웹 애플리케이션 프로젝트 작성, 웹 애플리케이션 프로젝트에 독립 응용 프로그램을 업로드하고 웹 응용 프로그램을 사용자에게 배포하는 것이 포함됩니다.
  • MATLAB은 문제와 솔루션을 친숙한 수학 표기법으로 표현할 수있는 사용하기 쉬운 환경에서 컴퓨팅, 시각화 및 프로그래밍을 통합하는 기술 컴퓨팅을위한 고급 언어입니다. 전 세계에는 Matlab에서 수백만 명의 과학자와 엔지니어가 개발 한 많은 프로젝트가 있습니다. MATLAB에서 사람들이 얻는 다양한 실험 및 운영 데이터는 웹 응용 프로그램을 지원하는 데 사용될 수 있지만 몇 가지 장애물이 있습니다.
  • MATLAB은 Matrix 형식 데이터를 이해하고 웹 응용 프로그램은 JSON 또는 XML 형식의 데이터를 선호합니다.
  • 데이터는 일반적으로 MATLAB 프로그램 내에서 생성 및 사용되며, 이는 개발자의 저축 및 데이터를 사용하는 데있어 자유를 제한합니다.
  • MATLAB이 JSON 형식의 데이터를 제공하고 웹 애플리케이션이 MATLAB 의이 JSON 데이터를 사용하여 훌륭한 것을 만들 수 있다면 응용 프로그램 작성이 훨씬 쉽습니다.
  • 이 기사에서는 Matlab과 Mean Stack을 함께 작동시키는 방법을 보여주는 소규모 데모 프로그램을 개발할 것입니다.
  • 웹 애플리케이션 정보
이 웹 응용 프로그램에는 MATLAB에서 브라우저로 실시간 데이터 전송이 포함됩니다. 단순화하기 위해 현재 시간을 MATLAB에서 전송하여 브라우저에 표시합니다. MATLAB에서 JSON 파일을 인코딩/디코딩하기위한 도구 상자 인 JSONLAB을 사용합니다. 웹 응용 프로그램은 평균 스택을 사용하여 생성됩니다. 평균 스택에 익숙하지 않은 경우 계속하기 전에 "평균 스택의 초보자"기사를 읽는 것이 좋습니다.
    JSONLAB 소개
  • JSONLAB은 MATLAB 언어로 JSON 인코더/디코더의 무료 오픈 소스 구현입니다. MATLAB 데이터 구조 (배열, 구조, 셀, 구조 어레이 및 셀 어레이)를 JSON 형식의 문자열로 변환하거나 JSON 파일을 MATLAB 데이터로 디코딩하는 데 사용할 수 있습니다.
  • 그것은 우리에게 ,

    , 및 의 네 가지 함수에 액세스 할 수있게합니다. 마지막 두 기능은 UBJSON 형식을 처리하는 데 사용됩니다. 는 JSON 문자열을 관련 MATLAB 객체로 변환하는 데 사용됩니다. 프로젝트에서는 Matlab 객체 (셀, 구조 또는 배열)를 JSON 문자열로 변환하는 loadjson() 함수 만 사용합니다. 다음과 같이 사용할 수 있습니다. savejson() loadubjson() 파일을 작성해야하므로 첫 번째 서명을 사용합니다. JSON 문자열을 반환하고 문자열을 파일에 씁니다. saveubjson() JSONLAB 설치 loadjson() 를 시작하려면 JSONLAB을 다운로드하고 아카이브를 압축하고 다음 명령을 사용하여 MATLAB의 경로 목록에 폴더 경로를 추가하십시오. savejson() 이 경로를 영구적으로 추가하려면

    를 입력하고 JSONLAB 루트 폴더로 찾아보고 목록에 추가해야합니다. 완료되면 저장을 클릭해야합니다. 그런 다음 Matlab에서
    <code class="language-matlab">json = savejson(rootname, obj, filename)
    json = savejson(rootname, obj, opt)
    json = savejson(rootname, obj, 'param1', value1, 'param2', value2, ...)</code>
    를 실행하고 를 입력하십시오. 출력이 표시되면 JSONLAB이 올바르게 설치되어 있음을 의미합니다.

    matlab 코드 우리는 현재 시간이 필요하므로 명령을 사용합니다. 현재 날짜와 시간을 포함하는 6 개 요소 날짜 벡터를 (연도, 월, 일, 시간, 분, 초)로 반환합니다. 시간을 반복적으로 얻으려면

    명령을 무한 루프에 넣습니다. 따라서 MATLAB 명령 창에서 CTRL C를 사용하여 스크립트 실행이 종료 될 때까지 실시간 데이터를 계속 얻을 수 있습니다.

    다음 코드는이 아이디어를 구현합니다

    우리 프로젝트에서 우리는 몇 시간, 분, 초에 중점을 둡니다. 위 코드에 사용 된
    <code class="language-matlab">addpath('/path/to/jsonlab');</code>
    함수는 매트릭스의 모든 요소를 ​​가장 가까운 정수로 반올림합니다. 시간 데이터를 얻으려면 매트릭스의 열 4 열 값이 필요하므로 명령 를 사용합니다. 동일한 방법을 사용하여 분과 초를 검색합니다.

    우리는 MATLAB 객체에서 JSON으로 다른 데이터 유형의 변환을 표시하기 위해 시계와 별도의 변수를 웹 응용 프로그램에 별도로 보냅니다. 시계 데이터는 배열로 변환되지만 시간, 분 및 초의 값은 숫자로 변환되며 나중에 볼 수 있습니다. pathtool 우리 프로젝트에서는 함수를 사용하여 JSON 형식을 사용하여 변수 X를 변환하고 작성하고 파일 에 씁니다. 단순화를 위해 매개 변수는 빈 문자열이됩니다. rehash 이전 코드를 사용하여 필요한 모든 MATLAB 코드를 완료합니다. 이제 스크립트를 실행하면 JSON 파일이 데이터 폴더에서 생성되고 파일의 데이터가 자동으로 지속적으로 업데이트되는 것을 관찰 할 수 있습니다. JSON 파일 컨텐츠의 예는 다음과 같습니다 <code>which loadjson 우리는이 파일을 모니터링하고 node.js를 사용하여 최신 데이터를 읽습니다. 이제 웹 응용 프로그램 구축을 시작하겠습니다.

    웹 응용 프로그램

    이제 MATLAB 데이터가 JSON으로 변환되어 파일에 저장 되었으므로이 파일을 독립적으로 읽고 변경 사항을 모니터링하여 데이터를 얻을 수 있습니다. 이 작업은 Matlab과 관련이 없습니다. 이 기사의 나머지 부분에서는 기본 개념 중 일부 만 사용하더라도 Socket.io와 평균 스택을 이해한다고 가정합니다.

    웹 응용 프로그램 작성을 시작하겠습니다.

    Package.json 파일을 작성하십시오

    응용 프로그램을 시작하려면 프로젝트의 종속성을 정의해 봅시다. 이렇게하려면 다음과 같이

    파일을 만듭니다.

    파일을 작성한 후 프로젝트의 루트 폴더에서 실행하여 모든 종속성을 설치하십시오. NPM에 익숙하지 않은 경우 "NPM Getting Start Guide -Node Package Manager"를 읽는 것이 좋습니다. 서버 사이드 코드

    코드 의이 부분에는 node.js, express 및 mongodb의 사용이 포함됩니다. 서버에서 수행하는 작업에는 다음이 포함됩니다

    package.json 제공 파일 JSON 파일에서 데이터를 모니터링하고 읽습니다 mongodb 를 사용하여 데이터를 데이터베이스에 저장하십시오 Socket.io를 사용하여 브라우저로 데이터를 보내십시오

    <code class="language-matlab">json = savejson(rootname, obj, filename)
    json = savejson(rootname, obj, opt)
    json = savejson(rootname, obj, 'param1', value1, 'param2', value2, ...)</code>
    우리는 루트 폴더에서

    라는 파일을 작성하여 설명 된 모든 기능에 필요한 코드를 작성합니다. npm install 우리는 정적 파일을 제공하기 위해 Express를 사용합니다

    요청이 로 전송 될 때마다 디렉토리에 저장된 파일이 제공됩니다.

    파일의 변경 사항을 모니터링하기 위해 파일을 사용하고 변경할 때마다 파일을 읽으려면 를 사용합니다. 변경이 감지되면 파일을 읽고 데이터를 검색합니다. 전체 프로세스는 다음 코드를 사용하여 완료됩니다. 클라이언트와 연결되어 데이터를 가져 오기 시작하면 두 가지 작업을 수행합니다.

    socket.io의 function 를 사용하여 브라우저로 데이터를 보냅니다. 몽구스 미들웨어 를 사용하여 MongoDB에 데이터를 저장하십시오

    두 번째 작업을 수행하려면 데이터 스키마를 생성 한 다음 해당 스키마를 기반으로 모델을 만듭니다. 아래에 표시된 코드를 사용하여 수행됩니다
      이전 코드 세그먼트의 마지막 문서에서 정의 된 패턴을 기반으로 모델을 만듭니다. 기능으로 전달 된 첫 번째 매개 변수는 모델이 속한 세트의 단일 이름입니다. Mongoose는 자동으로 복수형 이름을 컬렉션에 할당합니다. 그러므로 여기
    • 는 index.html 새 데이터를 얻을 때 최신 데이터를 사용하여 스키마의 새 인스턴스를 생성하고
    • 메소드를 사용하여 데이터베이스에 저장합니다. 이 인스턴스를 문서라고합니다. 다음 코드에서 는 문서입니다. <li> 이 부분의 최종 코드는 다음과 같습니다. </li> <pre class="brush:php;toolbar:false">&lt;code class=&quot;language-matlab&quot;&gt;json = savejson(rootname, obj, filename) json = savejson(rootname, obj, opt) json = savejson(rootname, obj, 'param1', value1, 'param2', value2, ...)&lt;/code&gt;</pre> <p> 우리는 응용 프로그램의 충돌을 방지하기 위해 <code>try 및 를 사용합니다. 우리가 그것을 사용하지 않고 catch가 빠른 변경으로 인해 예상치 못한 사용자 입력 오류를 일으킨 경우 응용 프로그램이 충돌 할 수 있습니다. 이것이 우리가 피하고 싶은 것입니다! JSON.parse 또한 MongoDB 서버가 실행 중인지 확인하십시오. 그렇지 않으면 응용 프로그램이 충돌합니다.

      클라이언트 코드

      이 섹션에서는 간단한 정적 HTML 페이지를 생성합니다. Socket.io를 통해 새 데이터가 수신되면 페이지에 표시된 데이터를 업데이트합니다. 이 데이터는 실시간 차트를 만드는 데 사용될 수도 있습니다.

      다음은

      파일의 간단한 코드입니다. 지시문은 응용 프로그램이로드 될 때 브라우저가 원래 (고려되지 않은) 형태의 AngularJS 템플릿을 간략하게 표시하지 못하도록하는 데 사용됩니다.

      응용 프로그램을 실행하십시오 Node.js 서버를 시작하기 전에 Matlab 코드와 MongoDB 서버가 실행 중인지 확인해야합니다. MongoDB 서버를 실행하려면 터미널에서 명령

      를 실행해야합니다. node.js 서버를 실행하려면 프로젝트 폴더의 루트 디렉토리에서 명령

      를 실행해야합니다. index.html 현재 시간을 보여주는 정적 페이지는 에 제공됩니다.

      결론
      <code class="language-matlab">addpath('/path/to/jsonlab');</code>

      이 기사에서는 평균 스택을 사용하여 MATLAB 프로그램에서 JSON 형식으로 데이터를 가져 오는 웹 응용 프로그램을 만듭니다. JSONLAB의 도움으로 데이터가 변환됩니다. 그런 다음 Socket.io를 사용하여 데이터를 브라우저로 전송하므로 브라우저의 변경 사항은 실시간으로 반영됩니다. 이 데모의 전체 소스 코드는 Github에서 사용할 수 있습니다. ngCloak 이 기사를 즐기고 귀하의 의견을 읽기를 기대합니다.

      (FAQS 섹션은 기사의 길이로 인해 별도로 처리하는 것이 좋습니다. 주요 질문과 답변을 추출하여 필요에 따라 간단히 요약 또는 재구성 할 수 있습니다.)

위 내용은 Matlab 및 평균 스택으로 웹 앱 생성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.