タグ

magisのブックマーク (690)

  • じゃあ何すか、COBOL以外では4.8 - 4.7 - 0.1できないってことっすか / ScalaとSpireで安心安全な計算ライフを実現しよう - Lambdaカクテル

    先日こういうツイートが流れてきた。 Q:なぜ金融系では未だにCOBOLが使われるんですか? A:お手元にExcelがありましたら任意のセルに「=4.8-4.7-0.1」って入れてみてください。— 遊撃部長F/S&RWAs (@fstora) 2024年6月6日 Q:なぜ金融系では未だにCOBOLが使われるんですか? A:お手元にExcelがありましたら任意のセルに「=4.8-4.7-0.1」って入れてみてください。 普段我々がゴリゴリ馬車馬のように使っているソフトウェアでよく利用されている浮動小数点型、すなわちfloatやdoubleなどは特定の算術に弱いことが知られている。というかもうこの手の話題はあまりに拡散されてしまったので、なぜかネット民はみんな知っている基礎教養、三毛別羆事件とかデーモンコアみたいな感じになっている。 ちなみにこれはCOBOLかそうではないか、という軸が問題になっ

    じゃあ何すか、COBOL以外では4.8 - 4.7 - 0.1できないってことっすか / ScalaとSpireで安心安全な計算ライフを実現しよう - Lambdaカクテル
    magis
    magis 2024/06/13
  • LTSpiceで探るワイヤレス給電のしくみ(初期設定編) : ニコラテスラって素晴らしい

    ワイヤレス給電の最も基的な構成から解析してみることにする。単純電磁誘導では「電磁誘導の法則」一言で終わってしまって面白くないので、まずはN-P方式磁界共振(磁界調相結合)の構成で試してみる。共振が関係してくるとワイヤレス給電はがぜん面白くなる。磁界共振の構成としては次の6種類が挙げられているが、実際には意味のない方式が二つ含まれている。(参考:磁界共振−間違いだらけの原理説明) 磁界共振の解析というと、S-S方式から解析を始める人が圧倒的に多いがこれはMIT系の理論による悪い影響だ。共振が一次側と二次側との両方に必須だなんて最初に洗脳されてしまったものだから、後々泥沼から抜け出せなくなってしまっている。現実的にはN-S方式やN-P方式の二次側共振で基礎解析をして、それらの磁界共振(磁界調相結合)の性質をしっかりと把握してから一次側の共振を加えて解析すべきである。そうするとS-S方式のおか

    LTSpiceで探るワイヤレス給電のしくみ(初期設定編) : ニコラテスラって素晴らしい
    magis
    magis 2024/06/05
  • スレッドとプロセスの違いを完全に理解する

    はじめに こんにちは、FarStep です。 プログラミングを学ぶ中で、「プロセス」と「スレッド」という言葉を耳にしたことがある方は多いと思います。 しかし、これらの違いを明確に説明できる自信がない方も多いのではないでしょうか。 記事では、プロセスとスレッドの違いについて、エッセンスを抽出して 解説します。 説明を簡潔にしましたので、記事は 5 分程度で読み終えることができます。 記事の内容を自分の言葉で説明できるようになれば、プロセスとスレッドの違いの理解は十分でしょう。 それでは、始めます 🚀 プログラムとは プロセスとスレッドの違いを理解する前に、まずは「プログラム」について理解しましょう。 プログラムとは、プログラミング言語で書かれた一連の命令 のことです。 プログラミング言語の例としては、以下のようなものがあります。 C 言語 Java Python Ruby JavaS

    スレッドとプロセスの違いを完全に理解する
    magis
    magis 2024/05/10
  • WSL2+ubuntu20.04: GUI化して使う方法 - Qiita

    WSL2+ubuntu20.04: どうやってGUI化するか WSL2+ubuntu20.04環境がかなり良い。仮想環境よりずっと速い。 しかしCLI。…なのでGUI化したいと思って、ここQiitaやその他でもそのやり方をいろいろ拝見しましたがうまくいかず。 結局、べつの方法でなんとかした。 結論としてはXRDPを使う VcXsrvやX410とかDISPLAY環境変数の設定とかいらないからとても簡単。これでよいのでは? では手順を述べていきます。 WSLの設定 WSL2の有効化 PowerShellを管理者権限で立ち上げて以下のコマンド。 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-featur

    WSL2+ubuntu20.04: GUI化して使う方法 - Qiita
    magis
    magis 2024/03/13
  • 【Vol.28】制御系設計論 第10回 その1|みなみゆうき

    大学教員です。日々、教育と研究、そして子育てを頑張っています。専門は制御工学で、「Pythonによる制御工学入門」、「やさしくわかるシーケンス制御」、「制御系設計論」「倒立振子で学ぶ制御工学」の中の人です。

    【Vol.28】制御系設計論 第10回 その1|みなみゆうき
    magis
    magis 2024/03/13
  • みなみゆうきのマガジン一覧|note

    大学教員です。日々、教育と研究、そして子育てを頑張っています。専門は制御工学で、「Pythonによる制御工学入門」、「やさしくわかるシーケンス制御」、「制御系設計論」「倒立振子で学ぶ制御工学」の中の人です。

    みなみゆうきのマガジン一覧|note
  • PMSMにおける一般的なセンサレス制御の考え方 - パワエレ学生の備忘録

    PMSMのセンサレス制御手法は様々提案されているが,一般的にセンサレス制御の考え方は下図に集約されている. センサレス制御をフィードバックシステムとして考えたときのブロック線図 このブロック線図は,PMSMの実機速度\( \omega \)からコントローラ内で演算される位置推定値\( \hat{\theta}\)までの図である. 実機回転子位置\(\theta\)は,\(\omega\)の時間積分で表すことができる. \(Q(s)\)は,実機における位置\(\theta\)と,\( \hat{\theta}\)との間に発生する誤差の真値\(\Delta \theta\)を推定するオブザーバで,この推定値を\(\Delta \hat{\theta} \)とする. \(G_{\rm c}(s)\)は位相同期制御器であり,\(\Delta \hat{\theta} \)をゼロにするように出力を制

    PMSMにおける一般的なセンサレス制御の考え方 - パワエレ学生の備忘録
  • PIC24F64GA002とFreeRTOS

    しばらく見ないうちにPICとかAVRなどのチップマイコンの発展は著しく、32ビット版まで現れる始末です。チップマイコンは単独で使ってこそ 威力を発揮すると考えていたのでRTOSは不要と思っていました。 ところが32bitになればLinuxが動きますし、一般的な PICあるいは AVRには FreeRTOSがある。 16bitの能力であればプリエンティブ制御しても実用的であると思われ、ここでは PIC16bitで 一番安価な PIC24FJ64GA002で試作する。 開発システムは Microchip社製 MPLABとC30コンパイラを使用する。 プログラマとデバッガは同様に Microchip社製 PICkit3を使用する。 PICはチップマイコンであり、チップで閉鎖的に完成しているので、外部部品をなるべく使用せずに作る事を目標とする。 何が良いかと思ったが、さし当たってベンチマークのつも

    magis
    magis 2024/03/11
  • Rust と OS の知識 0 からはじめるRustで始める自作組込みOS入門 - 前半(スケジューラの実装まで) - Qiita

    きっかけ・読んでいく うさねこらーじの Discord サーバーで、いろいろな先輩たちに技術のことを教えてもらっています。 https://discord.gg/RMq7e5qbQj このなかで、著者の garasubo さんにサポートしてもらいながら以下のの内容を実装しているのですが、 Rust の知識も OS の知識もない私にとっては内容がかなり高度なので、補助のためにこのブログを作成しています。 Rustで始める自作組込みOS入門 https://amzn.asia/d/ebuOUM1 ぜひこのを読みながらこのブログを参照していただけると嬉しいです。 第 2 章 ベアメタルで Hello World 単語のかみくだいた説明 ベアメタルプログラミング OSのない環境で実行するためのプログラムを書くことです。この環境下では CPU ごとに決まった動作(たとえば、決まったアドレスにあ

    Rust と OS の知識 0 からはじめるRustで始める自作組込みOS入門 - 前半(スケジューラの実装まで) - Qiita
  • Scilab でジョイスティック入力を行う方法 ~ ダイナミックリンクと call 関数の利用

    Scilab を利用したシミュレーションで、ジョイスティック入力を行いたいことがあったのですが、ジョイスティックの入力値を取得してくれる関数が Scilab の標準モジュールにも Atoms にも見当たらなかったので、少し DIY する必要がありました。 この記事では、Scilab 環境でジョイスティック(またはゲームパッド)の入力値を読み取るために、筆者が行った方法を紹介します。対象 OS は Windows です。 大まかな流れは次の通りです。 C 言語でジョイスティックの入力値を取得するプログラム(C 関数)を作成する プログラムをコンパイルし、ダイナミックライブラリ(DLL)を生成する ダイナミックライブラリ内の C 関数を Scilab とリンクする Scilab の call 関数でリンクした C 関数を呼び出して使用する 以下では、これらを順を追って解説します。 ここで紹介す

    Scilab でジョイスティック入力を行う方法 ~ ダイナミックリンクと call 関数の利用
    magis
    magis 2024/01/12
  • ベイズの定理からカルマンフィルタを導出する - ssk tech blog

    目次 目次 はじめに そもそもベイズとは そもそもカルマンフィルタとは 導出に出てくる用語について カルマンフィルタの導出 モデル 予測更新 信念が正規分布であることを確認する 信念の平均値と共分散を求める 計測更新 カルマンフィルタの式まとめ 予測更新 計測更新 参考文献 関連記事 はじめに こんにちは.ササキ(@saitosasaki)です. 私はカルマンフィルタを雰囲気で使っていたため,前々からベイズの定理からカルマンフィルタがどうやって導出されるのかもよくわかっていませんでした.(最小分散推定からの導出は知ってたんですが) しかし,ふと『確率ロボティクス』を読み返してみると普通に書いてありました.最初に読むとき飛ばして良いと書いてあったので,飛ばして読んでいたみたいです.読んでみると非常に明快で、自分の中の理解が大いに深まりました。 今回は自分の記憶に刻むために状態空間モデルが時不

  • システムプログラム(2020年度第5回)

  • インタバルタイマ機能 (システムインタフェース)

    magis
    magis 2023/12/06
  • Linux日和~シグナルとタイマー2~

    インターバルタイマーのPOSIXタイマー版です。前述のSIGALRMを使用したインターバルタイマーと同じく10ms毎に設定したシグナル(今回はリアルタイムシグナルであるSIG35)を通知し周期を刻みます。 /* * sample program * POSIX interval timer */ #include <stdio.h> #include <stdlib.h> #include <sys/time.h> #include <signal.h> #include <string.h> #include <time.h> #include <unistd.h> #include <errno.h> void SignalHandler(int, siginfo_t*, void*); int _nanosleep(int, int); int main(void) { struct

    magis
    magis 2023/12/06
  • 或るプログラマの一生 » POSIX のインターバルタイマ timer_create の使い方

    POSIX 環境で非同期的なタイマを使うには setitimer() を使いますが、これだとタイマが 1 個しか使えません。(正確には SIGALRM, SIGVALRM, SIGPROF という性質の違うタイマをそれぞれ 1 個ずつ) さすがにこれでは厳しいということで、POSIX.1b には timer_create() という関数が定義されていて、これだと好きなだけタイマを作ることができます。さらに、setitimer() と違い、タイマごとに好きなシグナルを発生させることができますし、シグナルを発生させる代わりにスレッドを起動して通知関数を呼び出させることもできます。 #include <inttypes.h> #include <pthread.h> #include <signal.h> #include <stdint.h> #include <stdio.h> #inclu

    magis
    magis 2023/12/06
  • Visual Studio Codeに入れるべき拡張機能【2023年最新版】 - Qiita

    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 はじめに VSCodeは世界で多くの人が使っているコードエディタです。 開発の際に使用している人も多いのではないでしょうか。 今回はそんなVSCode拡張機能を一挙に紹介していきます。 拡張機能 VSCodeは世界中で支持されているコードエディタですが、最大の魅力が「拡張機能」です。 機能を追加して、より自分が使いやすいコードエディタにすることができます。 拡張機能のインストール 拡張機能のインストールのやり方を説明します。 アクティビティバーの拡張機能マークをクリックする(四角が4つあるマークです) インストールしたい拡張機能を検索する 拡張機能を選ぶ インストールをク

    Visual Studio Codeに入れるべき拡張機能【2023年最新版】 - Qiita
    magis
    magis 2023/12/05
  • VSCode のおすすめ拡張機能 2023年度版

    株式会社ゆめみの 23 卒 Advent Calendar 2023の4日目の内容です。 2022年のはじめに自分の開発環境を紹介する記事を投稿したのですが、思いのほか読んでいただいているので2023年度版を作成しました。 今回は拡張機能編です。キーバインドなどは後日公開します。 今年1年間で JetBrains 製品や、neovim を使ってみたりしましたが、紆余曲折あり現在は VSCode に落ち着いたのでいつかその辺りも紹介出来ればと思います。 VSCode 関連記事 下記にキーバインドや設定周りの記事リンクを追加していきます 汎用的な拡張機能 BracketLens 右括弧の左側にスコープの情報が表示されるようになる。 ChangeCase 選択範囲のテキストの case を変更することが出来る CodeSpellChecker スペルチェッカー EditorConfig .edi

    VSCode のおすすめ拡張機能 2023年度版
    magis
    magis 2023/12/05
  • Linux日和~Linuxプログラミング~

    Linux上で動作するサンプルプログラムを掲載しています。バグやおかしな動きをする場合は 問い合わせ まで連絡頂けるとうれしいです。 サンプルプログラムの使用・改良は自由ですが、自己責任でお願いします。掲載されているサンプルプログラムは以下の環境で動作確認をしています。(カーネル2.4以前ではスレッドの実装が異なる為、予期した動きをしない可能性があります。) openSUSE 11Fedora 10 カーネル2.6.25.52.6.27.5 glibc2.8-14.12.9-2 gcc4.3-39.14.3.2

  • カルマンフィルタで1次元の車両位置を推定するPythonプログラム - EurekaMoments

    カルマンフィルタの基礎 作者:足立修一,丸田一郎東京電機大学出版局Amazon 目次 目次 目的 理論 問題設定 条件 Pythonプログラム パラメータの定義 クラスとコンストラクタの実装 状態方程式の定義 疑似観測値と観測方程式の定義 カルマンフィルタの処理の定義 プログラムの実行結果 GitHub 目的 自分でも何故か分かりませんが、毎年一回は必ず カルマンフィルタの理論を勉強し直したくなる事が あります。 その度に書籍を読み返したり、サンプルプログラムを 実装したりして、「いろいろ忘れてるな」「実は理解 してなかったな」と感じるのがお決まりです。 なので、きっとこれからも定期的に学び直したくなる ときが来ると思ったので、ブログにまとめておくことに しました。 今回は最も基的な問題である、線形カルマンフィルタで 1次元の自己位置推定を行うPythonプログラムを作ったので 紹介しま

    カルマンフィルタで1次元の車両位置を推定するPythonプログラム - EurekaMoments
  • Arduino カルマンフィルタ ライブラリの中身を解説

    Arduinoのライブラリにカルマンフィルターがあるのですが、中身がどういうことをやっているのか勉強を兼ねて見てみました。 IDEでライブラリ検索するとカルマンフィルターでいくつかヒットするのですが、今回はこのライブラリのプログラム(ソース)をカルマンフィルターの説明を加えながら見てみたいと思います。 https://github.com/TKJElectronics/KalmanFilter このカルマンフィルターですが、加速度、角速度と制御周期を入力として、カルマンフィルターを通して、きれいな角度を推定しているライブラリとなります。ただ後述しますが、このライブラリは3軸(3D)回転がある場合には対応していないようですね。 カルマンフィルターの説明を加えながら中身を見ていきたいと思います。(説明といっても基式を展開して、ソースと一致しているか見ているだけです・・・。) 状態空間モデル

    Arduino カルマンフィルタ ライブラリの中身を解説
    magis
    magis 2023/10/02