問題タブ [s-function]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - m-file-function を C(または MEX) S-function に変換する手順はありますか?
MATLAB コードとして記述された単純な関数があります。例えば:
matlabFunction
この関数は、シンボリック式を使用してコマンド アプリケーションから派生します。MATLAB S-Function ブロックまたは Interpreted MATLAB ブロックで使用する代わりに、C S-Function、MEX S-Function などのパフォーマンスを高速化するために S-Function に変換することができます。ありがとう
matlab - simulink で s-function のパラメーターとして変数を使用する方法
手動で挿入された定数を使用せずに、変数を使用して s-function のいくつかのパラメーターを指定したいと考えています。
matlab でグローバル変数を定義し、それらをパラメーターとして使用しようとしましたが、正常に動作します。
とにかく、simulink で計算された変数を他の関数のパラメータとして使用したい。出来ますか?もしそうなら、どうすればできますか?
1 つのアイデアは、matlab e でグローバル定数を引き続き使用して simulink から更新することでしたが、「ワークスペースへ」ブロックがそれらを構造体または配列に変換し、単一の値が必要なため、それを行うことができません。
編集: ワークスペースのグローバル変数の変数を更新することは、simulinkが最初に値を読み取ったように見えるため、役に立ちません
c++ - .cpp ファイルの STRINGIFY
それらをコンパイルするために作成されたいくつかの .cpp ファイルを読み込んでおり、レベル 2 S-Function のために MATLAB で使用する mex ファイルを持っています。
私はこの命令が実際に何のためにあるのか知りたいです:
ご協力いただきありがとうございます。
matlab - S-Function .cpp の void** とは
MATLAB S-Function に基づく .cpp ファイルに記述されたコードを読み込んでいます。
私はそれが何を意味するのか知りたいだけです:
どの型の変数ですか?そして、2つの星は何を表していますか?
御時間ありがとうございます。
matlab - S-Function Builder を使用して配列サイズの入力を取得する方法
MATLAB2014b s-function ビルダーを使用しており、入力配列のサイズを取得したいと考えています。たとえば、次の入力があります。名前: A、次元: 2、行: 1、列: 16、実数
出力ペインで、配列サイズを取得するために次のコードを記述しました。
Simulink モデルで "size_1" を出力すると、"1" が得られます。結果は 16 になると予想しています。私のコードは間違っていますか? 入力配列サイズを取得する方法はありますか?
matlab - s-function で使用されている定数変数を matlab で調整可能にする方法
シングル トラック モデルをモデル化する AC コード内の関数を呼び出す単純な S-Function を作成しました。質量、ヨー慣性モーメント、ステアリング比などを保存するために定数変数を使用しています。これらの変数を調整可能にする方法を知りたいと思っていました。S-Function からサブシステムを作成し、リアルタイム ワークショップ -> S-Function の生成を使用して、リストから調整可能なパラメーターを選択したいと考えています。しかし、今のところ、調整可能なパラメーターを何も指定していないため、調整可能なパラメーターを見つけることができません
これは私の S-Function コードです
これは関数 singletrack() を持つロジックファイルです
および対応する .h ファイル
ssSetSFcnParamTunable() を使用する必要があることはわかっていますが、例を見た後でも、その方法がわかりません!!
アップデート:
変数をグローバル real_T real_T *m_s,*cv_s,*ch_s,*lv_s,*lh_s,*theta_s,*I_s_s,*dt_s; として宣言しました。
これらのコード行を mdlInitializeSizes() に追加しました。私はそれをmexし、すべてが順調です。しかし、s-function ブロックを使用して、s-function の名前を mex ファイルに変更すると、matlab がクラッシュします。また、これらの引数を single_track () 関数へのポインターとして渡します
なぜクラッシュがあるのですか?
matlab - レガシ コード ツールで S-Function ブロックからパラメーターを取得する方法
私は調整可能なパラメーターに取り組んでおり、手動の s-function を使用すると非常に簡単です。しかし、変数を調整可能 (s-function パラメーター ブロック からパラメーターとして取得) し、レガシ コード ツールを使用して s-function を自動的に生成したい場合はどうすればよいでしょうか。それは可能ですか?
たとえば、単純な単線モデルを作成しました。これは single_track.h ファイルです
これは single_track.c ファイルです
double m から double dt までの引数は、s-function ブロックからのパラメーターとして期待される入力であり、「double a」および「double b」の値は入力から取得されるため、それらについて心配する必要はありません。
手動で、mdlInitializeSize ssSetNumSFcnParams(S, 8); の S 関数にいくつかのグローバル変数を導入しました。
これは手動で機能しますが、自動的に機能するようにレガシーコードに入れる方法
私は以前に定義済みの値を使用していたレガシーコードを書きましたが、うまくいきました:
そしてCreateBusObject_retvale.mは
matlab - Matlab の「バス オブジェクト」を「Level-2 MATLAB S-Function」に入力する方法
Simulink で m-file s-function ブロックにバス データ型を使用することは可能ですか?
matlabのドキュメントやオンラインのどこにも、この例は見つかりませんでした。
C で記述された s-Function の場合、API は次のようになります。
*.m ソース コード内から同じデータ型 (C の構造体、Matlab のバス オブジェクト) にアクセスしたいと考えています。これに関する例やチュートリアルを知っていますか? お気づきかもしれませんが、私は Simulink 環境にあまり詳しくありません...
これが可能かどうかについても、さまざまな情報を見つけました
Q: レベル 2 の S-Function はバス オブジェクトをサポートしていますか?
- 回答 1 「はい、すべてのデータ型がサポートされています」: http://nl.mathworks.com/help/simulink/sfg/s-function-features.html
- 回答 2 「いいえ、バス オブジェクトはサポートされていません」: http://nl.mathworks.com/help/simulink/sfg/s-function-limitations.html