国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ ウェブフロントエンド jsチュートリアル Matlabと平均スタックでWebアプリを作成する

Matlabと平均スタックでWebアプリを作成する

Feb 19, 2025 pm 01:22 PM

Creating a Web App with MATLAB and the MEAN Stack

コアポイント

  • テクニカルコンピューティングの高レベル言語であるMATLABは、平均スタックと統(tǒng)合して強(qiáng)力なWebアプリケーションを作成できます。
  • 平均スタックは、mongodb、express.js、angularjs、node.jsで構(gòu)成されており、Matlabと併用すると、Web上のリアルタイムのデータ視覚化が可能になります。
  • 統(tǒng)合プロセスには、Matlabのコンピューティングパワーを使用してデータを処理して結(jié)果を生成します。これは、平均スタックを使用して構(gòu)築されたWebアプリケーションに表示されます。
  • MATLAB言語での無料のオープンソースJSONエンコーダー/デコーダー実裝であるJSonLabは、Webアプリケーションで使用するためにMATLABデータをJSON形式に変換するために使用されます。
  • MATLAB Webアプリケーションの作成には、MATLABコンパイラを使用したスタンドアロンアプリケーションの作成、MATLAB WebアプリサーバーでWebアプリケーションプロジェクトの作成、Webアプリケーションプロジェクトへのスタンドアロンアプリケーションのアップロード、ユーザーへのWebアプリケーションの展開が含まれます。
MATLABは、問題やソリューションをおなじみの數(shù)學(xué)的表記で表現(xiàn)できる使いやすい環(huán)境で、コンピューティング、視覚化、プログラミングを統(tǒng)合する技術(shù)コンピューティングの高レベルの言語です。 Matlabで書かれ、何百萬人もの科學(xué)者とエンジニアによって開発された世界中に多くのプロジェクトがあります。 MATLABから取得したさまざまな実験および運(yùn)用データを使用して、Webアプリケーションをサポートすることができますが、いくつかの障害があります。

MATLABはマトリックス形式のデータを理解していますが、WebアプリケーションはJSONまたはXML形式でデータを好みます。
  • データは通常、MATLABプログラム內(nèi)で作成および使用されます。これにより、データの節(jié)約と使用などの開発者の自由が制限されます。
  • MATLABがJSON形式でデータを提供し、WebアプリケーションがMATLABからこのJSONデータを使用して素晴らしいものを作成できる場合、アプリケーションの作成ははるかに簡単です。
  • この記事では、MATLABと平均スタックを一緒に動(dòng)作させる方法を示すための小さなデモプログラムを開発します。
Webアプリケーションについて

このWebアプリケーションには、MATLABからブラウザへのリアルタイムデータ転送が含まれます。簡単にするために、現(xiàn)在の時(shí)刻をMATLABから転送し、ブラウザに表示します。 MATLABでJSONファイルをエンコード/デコードするためのツールボックスであるJSonLabを使用します。 Webアプリケーションは、平均スタックを使用して作成されます。平均スタックに慣れていない場合は、継続する前に「平均スタックの初心者」を読むことをお?jiǎng)幛幛筏蓼埂?

jsonlabの紹介

jsonlabは、matlab言語でのJSONエンコーダー/デコーダーの無料オープンソース実裝です。 MATLABデータ構(gòu)造(配列、構(gòu)造、セル、構(gòu)造配列、およびセル配列)をJSON形式の文字列に変換するか、JSONファイルをMATLABデータにデコードするために使用できます。

loadjson()、savejson()、loadubjson()、およびsaveubjson()の4つの関數(shù)へのアクセスを提供します。最後の2つの関數(shù)は、UBJSON形式を処理するために使用されます。 loadjson()は、JSON文字列を関連するMATLABオブジェクトに変換するために使用されます。私たちのプロジェクトでは、Matlabオブジェクト(セル、構(gòu)造、または配列)をJSON文字列に変換するsavejson()関數(shù)のみを使用します。次のように使用できます

json = savejson(rootname, obj, filename)
json = savejson(rootname, obj, opt)
json = savejson(rootname, obj, 'param1', value1, 'param2', value2, ...)
ファイルを記述する必要があるため、最初の署名を使用します。 JSON文字列を返し、文字列をファイルに書き込みます。

jsonlabのインストール

開始するには、jsonlabをダウンロードし、アーカイブを解凍し、次のコマンドを使用してMATLABのパスリストにフォルダーのパスを追加します。

このパスを永続的に追加する場合は、

と入力し、jsonlabルートフォルダーを參照してリストに追加する必要があります。終了したら、[保存]をクリックする必要があります。次に、matlabで
addpath('/path/to/jsonlab');
を?qū)g行して

を?qū)g行します。出力が表示された場合、JsonLabが正しくインストールされていることを意味します。 pathtool rehashwhich loadjsonmatlab code

現(xiàn)在の時(shí)刻が必要なので、コマンドを使用します。 [年、月、日、時(shí)間、秒]の形式で現(xiàn)在の日付と時(shí)刻を含む6要素の日付ベクトルを返します。繰り返し時(shí)間を取得するために、

コマンドを無限の

ループに配置します。したがって、MATLABコマンドウィンドウでCTRL Cを使用してスクリプトの実行が終了するまで、リアルタイムデータを取得し続けます。 clock clock次のコードは、このアイデアを?qū)g裝しています:while

プロジェクトでは、営業(yè)時(shí)間、分、秒に焦點(diǎn)を當(dāng)てています。上記のコードで使用されている

関數(shù)は、マトリックスのすべての要素を最も近い整數(shù)に丸めます。時(shí)間データを取得するには、マトリックスの列4の値が必要なため、コマンド
format shortg;
y=0;
while y == 0
    % c = [year month day hour minute seconds]
    c=clock;
    % 將每個(gè)值四舍五入為整數(shù)
    c=fix(c);
    x.clock=c;
    % 訪問c的第4列,即小時(shí)
    x.hours=c(:,4);
    % 訪問c的第5列,即分鐘
    x.minutes=c(:,5);
    % 訪問c的第6列,即秒
    x.seconds=c(:,6);
    % 將x轉(zhuǎn)換為JSON并寫入matlabData.json
    savejson('',x,'data/matlabData.json');
end
を使用します。同じ方法を使用して、分と秒を取得します。

fix(c)クロックといくつかの個(gè)別の変數(shù)をWebアプリケーションに個(gè)別に送信して、MATLABオブジェクトからJSONへの異なるデータ型の変換を表示します。クロックデータは配列に変換されますが、時(shí)間、分、秒の値は數(shù)値に変換され、後で表示されます。 c(:,4) 私たちのプロジェクトでは、JSON形式を使用して変數(shù)xを変換および書き込み、ファイルに書き込みます

に書き込みます。簡単にするために、

パラメーターは空の文字列になります。

前のコードを使用して、必要なすべてのMATLABコードを完了します。これで、スクリプトを?qū)g行すると、JSONファイルがデータフォルダーに作成され、ファイル內(nèi)のデータが自動(dòng)的かつ絶えず更新されることを観察できます。 JSONファイルコンテンツの例は次のとおりです savejson() matlabData.jsonこのファイルを監(jiān)視し、node.jsを使用して最新のデータを読み取ります。それでは、Webアプリケーションの構(gòu)築を開始しましょう。 rootname

webアプリケーション

{
   "hours": 19,
   "minutes": 28,
   "seconds": 28,
   "clock": [2015,5,27,19,28,28]
}

MATLABデータがJSONに変換され、ファイルに保存されたため、このファイルを獨(dú)立して読み取り、変更を監(jiān)視してデータを取得できます。この操作は、MATLABとは何の関係もありません。この記事の殘りの部分では、基本的な概念の一部のみを使用していても、socket.ioと平均スタックを理解していると思います。

Webアプリケーションの作成を開始しましょう。

package.jsonファイルを作成

アプリケーションを開始するには、プロジェクトの依存関係を定義しましょう。これを行うには、次のようにpackage.jsonファイルを作成します。

json = savejson(rootname, obj, filename)
json = savejson(rootname, obj, opt)
json = savejson(rootname, obj, 'param1', value1, 'param2', value2, ...)
ファイルを作成した後、プロジェクトのルートフォルダーで

を?qū)g行して、すべての依存関係をインストールします。 NPMに慣れていない場合は、「NPM Getting Guide -Node Package Manager」を読むことをお?jiǎng)幛幛筏蓼埂?npm install

サーバーサイドコード コードのこの部分には、node.js、Express、およびMongodbの使用が含まれます。サーバーによって実行される操作には、

が含まれます

提供
    file
  • index.html jsonファイルのデータを監(jiān)視および読み取り
  • mongodb
  • を使用してデータベースにデータを保存します
  • socket.io
  • を使用してブラウザにデータを送信します
  • ルートフォルダーに
という名前のファイルを作成し、説明されているすべての機(jī)能に必要なコードを記述します。

server.js Expressを使用して靜的ファイルを提供します:

要求が
addpath('/path/to/jsonlab');
に送信されるたびに、

ディレクトリに保存されているファイルが提供されます。 / appファイルへの変更を監(jiān)視するには、index.htmlを使用し、ファイルが変更されるたびに読み取るには、

を使用します。変更が検出されると、ファイルが読み取られ、データが取得されます。プロセス全體が次のコードを使用して完了します。

fs.watch()クライアントとの接続が確立され、データの取得を開始すると、2つのことが行われます。 fs.readFile() functionを使用して、データをブラウザに送信します

format shortg;
y=0;
while y == 0
    % c = [year month day hour minute seconds]
    c=clock;
    % 將每個(gè)值四舍五入為整數(shù)
    c=fix(c);
    x.clock=c;
    % 訪問c的第4列,即小時(shí)
    x.hours=c(:,4);
    % 訪問c的第5列,即分鐘
    x.minutes=c(:,5);
    % 訪問c的第6列,即秒
    x.seconds=c(:,6);
    % 將x轉(zhuǎn)換為JSON并寫入matlabData.json
    savejson('',x,'data/matlabData.json');
end

Mongooseミドルウェアを使用してMongoDBにデータを保存します<」

2番目の操作を?qū)g行するには、データのスキーマを作成し、そのスキーマに基づいてモデルを作成します。これは、以下に示すコードを使用して行われます:
  1. 前のコードセグメントの最後のステートメントでは、定義されたパターンに基づいてモデルを作成します。関數(shù)に渡された最初のパラメーターは、モデルが屬するセットの単數(shù)名です。 Mongooseは、複數(shù)の名前をコレクションに自動(dòng)的に割り當(dāng)てます。したがって、ここではemit()
  2. コレクションのモデルです。
  3. 新しいデータを取得すると、最新のデータを使用してスキーマの新しいインスタンスを作成し、
メソッドを使用してデータベースに保存します。このインスタンスはドキュメントと呼ばれます。次のコードでは、

はドキュメントです。

この部分の最終コードは次のとおりです。
json = savejson(rootname, obj, filename)
json = savejson(rootname, obj, opt)
json = savejson(rootname, obj, 'param1', value1, 'param2', value2, ...)

tryおよびcatchを使用して、アプリケーションのクラッシュを防ぎます。使用しないと、JSON.parseが急速な変更により予期しないユーザー入力エラーを引き起こした場合、アプリケーションがクラッシュする場合があります。これは私たちが避けたいものです!

また、MongoDBサーバーが実行されていることを確認(rèn)してください。そうしないと、アプリケーションがクラッシュします。

クライアントコード

このセクションでは、単純な靜的HTMLページを作成します。 socket.ioを介して新しいデータが受信されると、ページに表示されるデータを更新します。このデータは、リアルタイムチャートの作成にも使用できます。

以下は、

ファイルの単純なコードです:index.html

addpath('/path/to/jsonlab');

ディレクティブは、アプリケーションがロードされているときに、ブラウザが元の(コンパイルされていない)AngularJSテンプレートを簡単に表示しないようにするために使用されます。 ngCloak

アプリケーションを?qū)g行します

node.jsサーバーを起動(dòng)する前に、MatlabコードとMongoDBサーバーが実行されていることを確認(rèn)する必要があります。 MongoDBサーバーを?qū)g行するには、端末でコマンド

を?qū)g行する必要があります。 node.jsサーバーを?qū)g行するには、プロジェクトフォルダーのルートディレクトリでコマンドmongodを?qū)g行する必要があります。 node server.js

現(xiàn)在の時(shí)刻を示す靜的ページは

で提供されます。 127.0.0.1:3000

結(jié)論 この記事では、平均スタックを使用して、MATLABプログラムからJSON形式のデータを取得するWebアプリケーションを作成します。データはJSonLabの助けを借りて変換されます。データはsocket.ioを使用してブラウザに送信されるため、ブラウザの変更はリアルタイムで反映されます。このデモの完全なソースコードは、GitHubで入手できます。

この記事を楽しんで、コメントを読むことを楽しみにしています。

(FAQSセクションは、記事の長さのために個(gè)別に処理するようにお?jiǎng)幛幛筏蓼?。重要な質(zhì)問と回答を抽出し、必要に応じて簡単に要約または再編成できます。

以上がMatlabと平均スタックでWebアプリを作成するの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Java vs. JavaScript:混亂を解消します Java vs. JavaScript:混亂を解消します Jun 20, 2025 am 12:27 AM

JavaとJavaScriptは異なるプログラミング言語であり、それぞれ異なるアプリケーションシナリオに適しています。 Javaは大規(guī)模なエンタープライズおよびモバイルアプリケーション開発に使用されますが、JavaScriptは主にWebページ開発に使用されます。

JavaScriptコメント:短い説明 JavaScriptコメント:短い説明 Jun 19, 2025 am 12:40 AM

JavaScriptcommentsEareEssentialential-formaining、およびGuidingCodeexecution.1)single-linecommentseared forquickexplanations.2)多LinecommentsexplaincomplexlogiCorprovidededocumentation.3)clarifyspartsofcode.bestpractic

JSで日付と時(shí)間を操作する方法は? JSで日付と時(shí)間を操作する方法は? Jul 01, 2025 am 01:27 AM

JavaScriptで日付と時(shí)間を処理する場合は、次の點(diǎn)に注意する必要があります。1。日付オブジェクトを作成するには多くの方法があります。 ISO形式の文字列を使用して、互換性を確保することをお?jiǎng)幛幛筏蓼埂?2。時(shí)間情報(bào)を取得および設(shè)定して、メソッドを設(shè)定でき、月は0から始まることに注意してください。 3.手動(dòng)でのフォーマット日付には文字列が必要であり、サードパーティライブラリも使用できます。 4.ルクソンなどのタイムゾーンをサポートするライブラリを使用することをお?jiǎng)幛幛筏蓼?。これらの重要なポイントを?xí)得すると、一般的な間違いを効果的に回避できます。

なぜの下部にタグを配置する必要があるのですか? なぜの下部にタグを配置する必要があるのですか? Jul 02, 2025 am 01:22 AM

PLACSTHETTHETTHE BOTTOMOFABLOGPOSTORWEBPAGESERVESPAGESPORCICALPURPOSESESFORSEO、userexperience、andDesign.1.IthelpswithiobyAllowingseNStoAccessKeysword-relevanttagwithtagwithtagwithtagwithemaincontent.2.iTimrovesexperiencebyepingepintepepinedeeping

JavaScript vs. Java:開発者向けの包括的な比較 JavaScript vs. Java:開発者向けの包括的な比較 Jun 20, 2025 am 12:21 AM

javascriptispreferredforwebdevelopment、whilejavaisbetterforlge-scalebackendsystemsandroidapps.1)javascriptexcelsininintingtivewebexperiences withitsdynAmicnature anddommanipulation.2)javaofferstruntypyping-dobject-reientedpeatures

JavaScript:効率的なコーディングのためのデータ型の調(diào)査 JavaScript:効率的なコーディングのためのデータ型の調(diào)査 Jun 20, 2025 am 12:46 AM

javascripthassevenfundamentaldatypes:number、string、boolean、undefined、null、object、andsymbol.1)numberseadouble-precisionformat、有用であるため、有用性の高いものであるため、but-for-loating-pointarithmetic.2)ストリングリムムット、使用率が有用であること

DOMでのイベントの泡立ちとキャプチャとは何ですか? DOMでのイベントの泡立ちとキャプチャとは何ですか? Jul 02, 2025 am 01:19 AM

イベントキャプチャとバブルは、DOMのイベント伝播の2つの段階です。キャプチャは最上層からターゲット要素までであり、バブルはターゲット要素から上層までです。 1.イベントキャプチャは、AddEventListenerのUseCaptureパラメーターをTrueに設(shè)定することにより実裝されます。 2。イベントバブルはデフォルトの動(dòng)作であり、UseCaptureはfalseに設(shè)定されているか、省略されます。 3。イベントの伝播を使用して、イベントの伝播を防ぐことができます。 4.イベントバブルは、動(dòng)的なコンテンツ処理効率を改善するためにイベント委任をサポートします。 5.キャプチャを使用して、ロギングやエラー処理など、事前にイベントを傍受できます。これらの2つのフェーズを理解することは、タイミングとJavaScriptがユーザー操作にどのように反応するかを正確に制御するのに役立ちます。

JavaとJavaScriptの違いは何ですか? JavaとJavaScriptの違いは何ですか? Jun 17, 2025 am 09:17 AM

JavaとJavaScriptは、異なるプログラミング言語です。 1.Javaは、エンタープライズアプリケーションや大規(guī)模なシステムに適した、靜的に型付けされ、コンパイルされた言語です。 2。JavaScriptは動(dòng)的なタイプと解釈された言語であり、主にWebインタラクションとフロントエンド開発に使用されます。

See all articles