米MathWorks社開発の数値計算用ソフトウェア。日本国内での販売・サポートはサイバネットシステム社が行っている。 MATLABという名称は、MATrix LABoratoryを略したものから来ている。 行列計算やグラフ化等、豊富なライブラリを有している。 プログラムはインタプリタ方式であり、CやFortranなどと比較して手軽に数値解析を行うことが可能である。
やりかた 主に2つある,基本的には上で事足りるよね…? matlab純正関数を使う matlab.net.base64encodeとmatlab.net.base64decodeを直で叩く jp.mathworks.com jp.mathworks.com そもそも画像データを読み込んで云々という動作させるには工夫が必要,データと型の扱いとか… org.apacheを拝借する org.apache.commons.codec.binary.base64をインスタンス化する weblabo.oscasierra.net ただなんでJavaのライブラリが使えているのかよくわからん,R2022aで動…
どうもこんにちは。 今回は仕事上でAWSのLinuxサーバー上にMatlabRuntimeをインストールして画像の解析アプリケーションを作動させることになりいろいろ準備していたのですが Gstreamerがインストールされてないよ! という旨のエラーを吐いたので一時中断。 要するにGstreamerというソフトウェアをインストールすればよいのだがバージョン管理などの問題が発生したため備忘録的に記録する。 まずエラーの根本原因 ・Gstreamer1.0以上をインストールしてない これに尽きる。デフォルトではGstreamer0.1などが入ってたりするらしくそれでエラーが出やすい。(今回ははいっ…
Simulinkを用いたDCモータシミュレーションを、トランジスタ技術2022年2月号のとおりに行いました。 モータモデルやフィードバック制御は把握していても、どのようにシミュレーションを行うか疑問に思っている方は私以外にも多いと思います。「トランジスタ技術2022年2月号 モータ物理シミュレーション」が非常に参考になったため紹介します。 DCモータシミュレーションとは DCモータシミュレーションの方法 シミュレーション結果 シミュレーションの内容 機械のモデル化 モータのモデル化 トルク目標値への制御 DCモータのモデルの概要 個人的に作業に詰まった点について まとめ DCモータシミュレーシ…
CNN用にtrainとtestにデータを分ける CNNでMRIのシーケンスの疾患の分類精度を比較する 各シーケンス毎に同じ患者のデータが入っているので、各シーケンスでtrainとtestが同じ患者データになるように分けるフォルダ構造はこんな感じ 手順 フォルダ構造を得る 保存用のフォルダを作成する 分割用のインデックスを乱数を用いて発生させる movefileでファイルを移動 各シーケンスで繰り返す フォルダ構造を得る main_fd = uigetdir() [a,b,c]= fileparts(main_fd); sub_fd =dir(main_fd); %remove waste fi…
画像のResizeをparforで行う。parforは並列で処理を行なってくれるので、高速で作業が終わります。手順はこんな感じ フォルダの構造を得る 保存用フォルダを作成する for文でコードを作成 最後にresiezeに関わる部分をparforに変更する フォルダ構造はこんな感じ ・まずはメインフォルダを選択して内部構造を得ていく main_fd = uigetdir(); [a,b,c]= fileparts(main_fd); sub_fd =dir(main_fd); %remove waste files sub_fd =sub_fd (~ismember({sub_fd.name}…
imshowで白枠を残さずに保存する呪文です。imgの部分にご自身の画像pathを書けばOK。 医療画像をMATLABで扱う場合には必須テクです。 とりあえず、作業ディレクトリに保存される書き方。 保存場所は、最後のファイル名で指定可能。 〜 figure(1) imshow(DWI_img,[],'Border','tight'); set(figure(1),'Units','inches'); pos = get(figure(1),'Position'); set(figure(1),'PaperPositionMode','Auto','PaperUnits','Inches','P…
MATLABで配列xとyをプロットする時はplot(x,y)ですよね。plotのオプションを指定する時は、 Name,Value の引数ペアをコンマ区切りで加えていきます。例えば、点線で線の太さを2ポイントにしたければ、plot(x, y, ’LineStyle', ':', 'LineWidth', 2)です。 plotの線を透明化するときは、この手法は使えません。plot関数はchart line オブジェクトとよばれるオブジェクトを出力することができるので、そのオブジェクトを使って線を透明化します。例えば、次のようにやると透過度が0.2の線(0で透明、1で非透明)となります。 p=plo…
この記事は、MATLAB/Simulink Advent Calendar 2021の7日目の記事として書かれています。 qiita.com また、8日目も記事を投稿していて、もしよろしければこちらもご覧いただけると幸いです。 kentapt.hatenablog.com また、ここで用いるコードなどはこちらからダウンロード可能です。 もし、本記事に誤りや誤字が含まれていれば、教えていただけますと幸いです。 github.com はじめに Spatial CNNとよばれる手法を用いて、運転動画から車線検出を行います。ここで得られる結果の例を以下に示します。自分のいるレーンの車線とその横の車線の…
年末調整の給与所得を算定するための『訳の分からない表』をプロットしてみた。 『訳の分からない表』はこれ↓ プロットした結果がこれ↓。給与収入が百万円(106)から一億円(108)までをプロットしている。赤線が控除後の所得で、黒点線は控除無しの所得(給与収入の全額が給与所得)である。したがって、給与が低い人ほど多く控除してもらっているのが分かる。あの『訳の分からない表』をプロットすると結構美しいというか、滑らかに接続していると思う。 これをプロットしたmatlabのコードは以下のとおり。 close all clear variables %%%%%%%%%%%%%%%%%%%%%%%%%%%%…
MRIのDICOM画像の場合,ほとんどの画像がオペレーターにより装置上でWW,WLを調整の上サーバーへ転送されます. したがって,サーバーに入っているDICOM画像のWW,WLはバラバラになっています.深層学習や機械学習ではできるだけ入力画像条件を揃える方が良いため調整が必要で、その方法を紹介します. 参照用画像を読み込み 調整用画像を読み込み imhistmatchで調整 保存 〜 %参照用(Reference)画像を読み込む ref_img = dicomread(ref_path) %調整用(Adjust)画像を読み込む ad_img = dicomread(ad_path) use_i…
オーディオ処理部分の基本形 オーディオプラグイン規格は、それぞれ互換性が無いものですが、楽器やエフェクターとしての基本的なオーディオ処理の部分には共通の部分が多いです。以下に擬似コードで列挙します。 create(): プラグインを生成する activate(): プラグインを有効化する process(audio_buffers, midi_buffers): オーディオ入力とMIDI入力を受け取って出力を生成する deactivate(): プラグインを無効化する destroy(): プラグインを破棄する 「MIDI入力」と書いている部分は、実際にはMIDIではなくプラグイン規格ごとに異…
だいぶ前に書いたCommon Lispのプログラムを発掘しました。 marui.hatenablog.com まだapplyやmapcarを知らなかったので、再帰だけを使って計算していました。たとえばベクトル(というか数値の入ったリスト)の和を計算するのにも、以下のように再帰を使っていました。 (defun sum (x) (if (null x) 0 (+ (first x) (sum (rest x))))) (sum '(1 2 3 4)) ;=> 10 applyを使えば一発で書けます。 (defun sum (x) (apply '+ x)) (sum '(1 2 3 4)) ;=>…
こんにちは。前回、MATLABによるQPSK変調のBER測定のシミュレーションを行いました。taekwongineer.hatenablog.jp 今回もMATLABですが、mファイルのスクリプトではなく、SimulinkによるモデルベースでのQPSK変調のBER測定のシミュレーションをやってみようと思います。 ●この記事の目次 1.シミュレーションに用いるライブラリ 2.QPSK変調のBER測定のSimulinkモデルとシミュレーション実行のmファイルスクリプト 3.Simulinkモデルの内容について (1)0,1のランダムデータの生成 (2)QPSKの変復調処理 (3)AWGN雑音の生成…
2018年に「エコノメをかじり出した文系学生が計量・統計のテキストを読み進めていく順番」という記事を書いて、何度かPVが爆増したことがありました。当時は入門については一通り勉強を終えていて、中級〜上級レベルの勉強・講義の橋渡しに向いている本を探したりしていて、その過程で見つけた・良かった本をまとめた記憶があります。それから4年が経ち、多くの良書が出版され、Webで読める無料のテキストや無料で公開されている講義資料も増えたと思います。この4年間の経験を踏まえ、これから学習される(主に学部生や非経済学専攻の)方のお役になれるように更新したいと思います。 (※ 筆者は変わらずしがない屍のような院生で…
2022年6月15日現在、Onrampは全部で13コースが公開されている。Simscape Onrampはエラーの出ることがあるため注意が必要。 Simscape Onramp修了 2022年6月15日 Stateflow Onramp修了 2022年6月14日 強化学習入門修了 2022年6月13日 最適化入門修了 2022年6月11日 ディープラーニング入門修了 2022年6月10日 機械学習入門 2022年6月9日 評価版ライセンス満了 2022年5月28日 Wireless Communications Onramp修了 2022年5月27日 Simulinkによる制御設計入門修了 2…
1. コースを開始(再開)する前にMATLAB側で addpath(fullfile(matlabroot,'toolbox/physmod/sm/sli/m')) というコマンドを実行しておく。 そうしないと Unrecognized function or variable 'simmechanics.sli.internal.register_datatypes'. というエラーが出てそれ以上進めなくなることがある。 2. Multidomain Modeling > The Fluid Domain > Task3のときに[isothermal Liquid Properties (I…
公式情報を整理 COCO API よりKWCOCOの方が使いやすそう 目的に応じて微妙に違うフォーマット JSON形式で保存 共通するフォーマットは以下の通り 一番軽い2017valのアノテーションファイルをダウンロードしてみる この説明が分かりやすい { "info": { "year": int, "version": str, "description": str, "contributor": str, "url": str, "date_created": datetime, }, "licenses": [{ "id": int, "name": str, "url": str, …
2018年(4/4)はこちら 2019年(2/4)はこちら コンセプトは最初の記事と同じなので、転載します。 Twitterのお気に入りって、なんで「いいね!」と思ったか忘れることないですか?私は割とあります。その瞬間の「いいな……」という気持ちに任せて押したけど、後から見返しても感情が読めない……。せっかく何か心が動いたのに、動いた心が残ってない。惜しいですよね。 Twitterがアップデートで感情を残す機能を搭載してくれれば手っ取り早いけど、おそらくその機能は2112年頃でないと準備できないでしょう。ならブログにまとめます。 急にいいねが減った、どうしたんだ俺は……? (追記)少ないと思っ…
こんにちは。最近MATLABを購入しました。 MATLABというと、昔は大変高価なもので、とても一個人で購入できるような代物ではなかったのですが、何年か前から個人利用向けの安価なバージョンであるMATLAB Homeが販売されているようです。さて、以前pythonによるBPSK変調のBER計算のシミュレーションを行いましたが、今回はMATLABを使って、QPSK変調のBER計算のシミュレーションを実施してみたいと思います。 taekwongineer.hatenablog.jp MATLABは高いから頑張ってpythonで信号処理のシミュレーション組めるようにしよう!と以前は意気込んでいました…
1. はじめに この記事では、特定のフォルダの中に存在するファイルを、サブフォルダも含めて取得する方法についてメモを残します。 ここで用いたコードやファイルは以下のページにアップロードしています。 github.com 2. コードについて 2.1. MATLAB dir関数を用いる際に、\**\と指定すればよい。 % サブフォルダも含め、txtデータを集める txtList = dir(fullfile(pwd, 'folder1\**\*.txt')); %get list of files and folders in any subfolder % 拡張子を含めず、あらゆるファイルを取…
はじめに 優秀なプログラミング言語のPython言語を使って、PID制御の機能を作り、ログを流すところまで、やって記録したいと思ったため、記事に記録してみました。 PID制御は制御工学で扱われる制御方法の一つです。PID制御は非常に優れていて、幅広い分野に応用おおされているため、一度使ってみると今後に役に立つかもしれません。 PIDの機能を関数化し、ログを時間当たりの値を出力してみたいと思います。 事前準備 Pythonにnumpyとmatplotlibをインストールします。 wiindowsの場合 py -m pip install numpy matplotlib プログラムコード imp…
はじめに この記事を読んでいる方は、データサイエンスの世界でデータサイエンティストやデータアナリストを目指す方が多いかと思います。私自身ももともとは実験家でPythonなど触れたことのない人物でした。そこから、約1年半、Pythonを各ライブラリを用いて数値計算、統計解析、自然言語処理、Webスクレイピング、機械学習を行ってきました。 その結果、本業でのビックデータの解析、副業でのアプリ開発などに役立つことができ、ポータブルスキルとして私自身の武器となりました。 そこで、このブログでは私が学んだPythonライブラリを用いた初心者向けのプログラミングの内容を紹介していきます。こちらはデータ処理…
今回はなぜプログラミングを勉強するのかを考えます。 私が学ぶ理由は 1. 仕事で使いたい(for money) 2. ゲームを等を作りたい(for fun) この二つだと考えています。 まず1についてですが matlab\simulink等のモデルベース開発に使用する言語や、javascript, PHP,HTML/CSS等のweb開発がこれに該当します。 次に2についてですが、unityに使用されるようなc#や、ゲーム作りに必要なAIの精度を上げるpythonが該当すると考えます。 pythonは絶賛勉強中ですが、これは会社で使っている独自のアプリ等も該当するためfor moneyにもなるか…
なんか制御的なことが勉強したくなったときに、 数式を簡単にいじるツールと言えばMatlabがよく挙げられる。 しかもブロック図をGUIで作成し、シミュレーションもできるsimulinkもとても強力なツールで非常に魅力的。しかしながら、Matlab は基本料金1万/年+使用するパッケージ数*数千円という便利にするためのコストが少なからずかかり、 お手軽入門とはなかなかいかない。 そこでそういったツールがないかを探したり本屋にいったりしたところ、 Scilab+XcosというMatlab+simulinkを真似たツールが”無料”で使用できるそうなのでこれで制御的なところを学習してみたいと思った。 …