うんちと黄疸は同じ色?!
「カラダを大切にしたくなる人体図鑑」という本の中で解説されている体の仕組みが面白かったので、 かいつまんでまとめてみました。
カラダを大切にしたくなる人体図鑑 知っておきたい96のしくみとはたらき (サイエンス・アイ新書)
- 作者: 竹内修二
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/12/16
- メディア: Kindle版
- この商品を含むブログを見る
うんちと黄疸は同じ色?!
「カラダを大切にしたくなる人体図鑑」という本の中で解説されている体の仕組みが面白かったので、 かいつまんでまとめてみました。
カラダを大切にしたくなる人体図鑑 知っておきたい96のしくみとはたらき (サイエンス・アイ新書)
微分方程式をしっかりと学んだことが無く、何か手ごろな入門書はないかと本屋さんに出向いたあなたは、きっと驚くはずだ。
微分方程式の入門書はとても多いからだ。さらに、ぱらぱらとめくってみたり、目次を見てみても、中身はほとんど同じだったりする。
これは例え話ではなく、本当に驚くほど同じような書籍が連立している。
線形代数ともなると、さらに多い。
そこで、この記事では、似たような専門書・入門書の中からあなたが欲しいと思う一冊を見つけ出すための3つのコツを紹介する。
これは勉強マニアの私が常に実践しているコツで、この方法を使い始めてからほとんど本の購入に失敗したことが無い。(多くの失敗を重ねてできたノウハウだともいえる)
もちろん、数学でなくても物理学の専門書・入門書を選ぶときでも使える。
【目次】
まず見てほしいのは、「はじめに」の部分だ。
書籍の目次や内容が同じようでも、「はじめに」の部分にはかなり個性が出る。
「はじめに」にはその書籍がどういった経緯で書かれたのか、対象読者は誰を想定しているのか、どこをゴールとしているのか。
などいわば書籍の自己紹介が書かれている。
その中でも特に注目してほしいのが、対象となる分野の「要約」についてだ。
例えば、微分方程式に関する書籍であれば、微分方程式に関する歴史や現状、エッセンスなどがまとめられていることが多い。
もしこの要約が書かれていなければ、そっとその本を棚に戻すといいだろう。
いくつかの本の「はじめに」に書かれている分野の要約を見ていくと、キラリと光る文章が載っているときがある。
私が見てきた中でいうと、「応用のための関数解析」という関数解析の入門書がそれだ。
新版 応用のための関数解析―その考え方と技法 (SGC BOOKS)
この書籍の「はじめに」に書かれている分野の要約は、その文章だけでも千円くらいの価値がある素晴らしいものだった。
分野の要約が良いと何がうれしいのかというと、全体を俯瞰したうえで勉強を始められる点にある。
全体を俯瞰した視点を持つと、細かい議論に入っていっても自分がどこにいるのか見失うことはない。これは定理と証明で議論が進められていく数学では特に重要なことだ。
書籍を選ぶときはまず、分野の要約を見て、これから学ぶものの全体像がイメージできるような文章が載っているものを選ぶといいだろう。
ちなみに「はじめに」は書籍の最初だけでなく、各章にも書かれている。その章が何をゴールにしているのかイメージできるというのもとても重要だ。
さて、あなたが本を買うのは知識やスキルを得たいからであろう。
微分方程式を学びたいという動機で本を買うにしても、人によっては常微分方程式が解けるようになりたいのか、漸近理論が知りたいのか、シミュレーションのために知りたいのかによって選ぶ本が異なってくる。
では、その書籍からどんな知識やスキルを得ることができるのかはどこを見ればいいだろうか。
正解は、「練習問題」に書かれている。
各章の最後にある練習問題は、各章で学んだことだけで(たまに別の知識も必要になることがある)解けるように設定されている。
裏を返せば、その章で取得できることが書かれている。
その章を学べばあなたは練習問題を解く力を得るのだ。
そこで、もし常微分方程式が解けるようになりたいのなら常微分方程式を解く練習問題が載っている入門書を選べばよい。
シミュレーションに応用したいのならコンピュータで解けと書かれている入門書を選ぶといいだろう。
最終的に熱方程式を学びたいのなら最後に熱方程式を解く問題があればいいし、常微分方程式だけでいいなら、最後に偏微分方程式を解く問題が載っている書籍は少し範囲が広すぎる。
私は練習問題を解くことが嫌いだったので、練習問題の内容なんて気にもしなかったし、載っていても解かなかった。
そのことに今となってはすごく後悔しているので、これから数学を学んでいく人はぜひ練習問題をしっかりとこなしてもらいたい。
最後のコツは、本全体の最初の1割がすらすらと読めるかどうかというものだ。
以前、興味だけで「リーマンゼータ函数と保型波動」という書籍を買ったことがあるが、一行目から理解できなかった。
リーマンゼータ函数と保型波動 (共立講座 21世紀の数学 21)
何とか調べながら読み進めようとしたが以降も難しく、結局売ってしまった。
本を買う理由は自分が知らないことを知るためなのだが、全く知らないことだらけだと読むことができない。
そこで、せめて最初の1割または第1章ぐらいはすらすらと読め、おおよそ知っている内容を復習するぐらいの方が全体のバランスはちょうどいい。
1割を超えすぎてしまうと知っていることが長く続き、面白くなくなって、読むのをやめてしまう。
個人差はあると思うが、私の経験からだいたい1割ぐらい既知の内容であるものがちょうどいい
最近では数学科の学生だけでなく、線形代数や統計学を学ぶ社会人も増えてきた。
数学の専門書は他の経済書や育児本などに比べると平均して千円ほど高い。
書籍一冊にしろ安い買い物ではないし、読むのにも時間がかかるので、ぜひ慎重に選んでから買っていただくことを願いう。
すごいHaskell楽しく学ぼうという本でHaskellを勉強しているのですが、ToDoリストをもっと楽しむという章に書いてあるコードをそのまま写経して実行してもエラーが出る(コンパイルエラーなので実行もできない)ので、正しいコードを載せておきます。
import System.Environment import System.Directory import System.IO import Data.List import Control.Exception dispatch :: String -> [String] -> IO() dispatch "add" = add dispatch "view" = view dispatch "remove" = remove main = do (command:argList) <- getArgs dispatch command argList add :: [String] -> IO() add [fileName, todoItem] = appendFile fileName (todoItem ++ "\n") view :: [String] -> IO() view [fileName] = do contents <- readFile fileName let todoTasks = lines contents numberedTasks = zipWith (\n line -> show n ++ " - " ++ line) [0..] todoTasks putStr $ unlines numberedTasks remove :: [String] -> IO() remove [fileName, numberString] = do contents <- readFile fileName let todoTasks = lines contents number = read numberString newTodoItems = unlines $ delete (todoTasks !! number) todoTasks bracketOnError (openTempFile "." "temp") (\(tempName, tempHandle) -> do hClose tempHandle removeFile tempName ) (\(tempName, tempHandle) -> do hPutStr tempHandle newTodoItems hClose tempHandle removeFile fileName renameFile tempName fileName )続きを読む
理系大学生や機械学習を学ぶ社会人にとって線形代数は必須教科です。
大学に入るとまず習うのが線形代数だし、ディープラーニングの教科書をのぞいてみると線形代数を知っていることが前提に書かれています。
線形代数は簡単に言えば、高校で習ったベクトルの「その先」なのですが、急に次元がn次元に拡張されたことに驚かれるかもしれません。
私たちの住む世界は3次元なのに、なぜn次元なんて必要なんだろう。
そんな疑問を抱いたことはないでしょうか。このページではそんな疑問にお答えします。
続きを読むQiita Processing Advent Calendar 2018 12月12日に投稿した記事です
scaleやtranlateは書く順番によって結果が異なるって知ってましたか?
本記事は、transform系関数(scale,translate,rotate)を行列で表現し、深く理解することで正しく使えるようになるための講座です。
どのようなときに結果が異なるのか・一致するのか、なぜそのようなことが起こるのか、ベクトルと行列を使ってその謎に迫っていきます。
内容は数学ですが、ベクトルや行列に関する前提知識は必要ありません。ベクトルとは何かから始めていきます。
Processing(p5js)では線分の開始・終了位置や、円の中心、四角形の四隅など、あらゆる点がx-y座標で表現されています。
座標上の点というのは、言い換えれば原点を始点としたベクトルが指し示す点です。
あるいは、ボールが壁にバウンドするようなアニメーションを考えるときでも、ボールの速度はベクトルで表現されます。
そう、Processingはベクトルで支配されているといっても過言ではないのです。
そんなベクトルを簡単に操作できるツールが行列なのです。
実際、ProcessingにはapplyMatrixという行列を座標全体に作用させる関数が存在します。
そして、scaleやtranslate,rotateなどのtransform系関数はすべてapplyMatrix関数一つで代用が可能なのです。
本記事には華々しいProcessing作品やコードは出てきませんが、Processingの理解はぐっと深まるはずです!
最初は少し退屈かもしれませんが、最後までお付き合いください。
【目次】
先日社内の方が「テイラー展開とマクローリン展開の違いがあるはずだけど、ネットで調べてもよくわからない」と質問していて、それに回答しました。
質問された方から僕の解説が「分かりやすい!」と言っていただけたので、もう少し詳しく説明を加えてブログの方にも書いてみたいと思います。
続きを読むProgateやドットインストールの登場で、多くの方がhtml&cssの入門されてるのを twitterやブログで見かけるようになりました。
僕もどちらにも登録してます。
ドットインストールでは、htmlやcss, railsなどなど様々なプログラミング言語を学ぶことができます。
Progateではhtml&cssを学びながらサンプルサイトを作っていくことができます。
インプットとしては大枠を上記の2サービスで勉強し、細かいところを書籍などで補えば十分かと思います。
しかし、実務や副業、自分のサイトを作っていくとなると少々アウトプット不足気味なのではないかと思います。
htmlやcssの基礎を学んでも、実際に作りたいサイトを作っていくにはもう少し練習が必要となります。
僕も勉強したての頃は、基礎は学んだけど、いざ作ろうと思ってもどこから始めていいのかわからない、ダサいサイトしか作れない と悩みました。
そこで、今回はwebコーディング最強の勉強法「模写」と模写の参考になるサイトをご紹介します。
続きを読む