大学生の有意義な暇つぶし方法まとめ

理系はC言語よりMATLABから先に勉強した方が良いと思うのよね

機械系大学生のしゃるです。

理系大学生って大学に入学すると初めにC言語を勉強しますよね。

僕も1年生のころ、そもそもプログラミングがどういうものか分からないままC言語を学んでいました。

今となってはC言語をある程度理解することが出来るようになりましたが、僕の主観としてC言語は結構難しい!

しゃる

ポインター??構造体??よくわからん。。。

調べてみると、C言語はプログラミング言語の中でもかなり難しい部類に入るそう。

それを入学と同時にいきなり勉強するわけですから、難しく感じるのも無理はありません。

一方MATLABというプログラミング言語があります。

理系なら一度は聞いたことがあるのではないでしょうか?

僕も現在MATLAB勉強中なのですが、C言語と比べて圧倒的に書きやすいし、実用性が高いと感じます。

そしてこんなことを思いました。

しゃる

C言語じゃなくてMATLABから勉強した方がいいのでは、、?
MATLABの勉強を開始!MATLABで出来ることや勉強方法などを紹介する

そもそもMATLABって?

そもそもMATLABってどういう言語なの?

では、まずは簡単にMATLABってどんな言語なのか見てみましょう!

Wikipedia先生によると、、

MATLAB(マトラボ)は、アメリカ合衆国のMathWorks社が開発している数値解析ソフトウェアであり、その中で使うプログラミング言語の名称でもある。MATLABは、行列計算、関数とデータの可視化、アルゴリズム開発、グラフィカルインターフェイスや、他言語(C/C++/Java/Python)とのインターフェイスの機能を有している。MATLABは、主に、数値計算を扱う事ができるが、追加のオプションSymbolic Math Toolboxを使うことで、数式処理の能力を得ることができる。2004年で、MATLABは産業界、教育界において100万人ユーザーを達成しており、工学、理学、経済学など幅広い業種で利用されている。

Wikipediaより

簡単に言えば様々な数値計算やデータの可視化などが出来るプログラミング言語。

非常に機能が豊富で、MATLABさえあれば何でも出来てしまうくらい色んなことが出来ちゃいます。

そんなMATLABですが、僕は理系ならMATLABから先に勉強した方がいいと思うんですよね。

というのも、MATLABにはこのような利点があるのです。

  1. C言語に比べ文法が圧倒的に簡単
  2. 様々な関数が用意されており実用的

C言語に比べ文法が圧倒的に簡単

C言語って書き方が細かく決められていて、結構複雑なんですよね。

なので途中で挫折してしまう人も少なくないのです。

一方のMATLABですが、C言語に比べて圧倒的に簡単にコードが書けます。

ではどれくらい簡単なのか、実際のコードを見比べてみましょう。

例えばこのようなプログラムを組みたいとします。

n = 1~100までを順に足していった和を表示させるプログラムを作成せよ。

まずはC言語で書いたプログラムを見てみましょう。

C言語:n = 1~100までの和を計算するプログラム
#include<stdio.h>
int main(){
  int n,X;
  X = 0;

  for(n=1;n<=100;n=n+1){
    X = X + n;
  }
  printf("n =1~100までの和は%dです。\n",X);
  return 0;
}

一方でMATLAB書いたプログラムがこちら。

MATLAB: n = 1~100までの和を計算するプログラム
X = 0;
for n = 1:100
    X = X + n;
end
disp(['n=1~100までの和は' num2str(X) 'です。']);

しゃる

また、MATLABにはsumという関数が用意されているので、それを使えばたった3行で書けます。
MATLAB: n = 1~100までの和を計算するプログラム
n = 1:100;
X = sum(n);
disp(['n =1~100までの和は' num2str(X) 'です。']);

どうですか?MATLABで書いたプログラムの方がとてもスッキリしていて見やすいですよね!

これだけ簡単に書けると途中で挫折する可能性も減らせます。

また、文法的に簡単なので上から順番に処理を組み立てていくというプログラミングの考え方に集中することが出来ると思うんです。

初めてプログラミングを勉強する人にとっては、この上から順番に処理をする考え方に慣れていない人が多いので、まずはそれに慣れることが重要。

そのためには文法にあまり気をとられないMATLABの方がプログラミングを初めて勉強する人には向いていると思うんですよね。

様々な関数が用意されており実用的

先ほど示したようなsum関数のように、MATLABには非常に多くの関数が用意されています。

なのですでに存在する関数を使いながら自分の行いたい処理を組み立てていくことが出来るんです。

これってすごく実用的ですよね。

例えば大学の数学で勉強するような高速フーリエ変換だってMATLABではすぐに行うことが可能。

既にfft()という高速フーリエ変換の関数が用意されているということですね。

周波数関数を高速フーリエ変換したい
Y = fft(X)
% Xは周波数関数

僕も研究でデバイスの設計をするときにはよくMATLABを使っています。

特に機械系の学科の人は就職後にMATLABを使う機会もあると思うので、大学で学んでおくとかなり役に立つのかなと。

逆にC言語では処理を行うために自分で1から関数を作らないといけない場合が多いので面倒なことも多いです。

処理の中身を理解するという意味で関数を作ることはとても良い勉強ですが、時間もかかります。

そういう意味でMATLABの方がかなり実用的だし、将来的にも役に立つと思いますね。

MATLABを勉強しよう!

MATLABには本当にたくさんの機能が用意されているので使っていて楽しいです。

自分の行いたい処理も書きやすいし、グラフ表示も簡単だし、GUIも出来ます。

また、Simulinkというシステムを使えばシミュレーションやモデリング、解析を行うことも可能。

しゃる

理系なら嬉しい機能がたくさん詰まっているね!

学生版も販売されているので購入してみるのもありです。

MATLABを学べる書籍もたくさん出版されています。

気になった方は是非学んでみてください!

MATLABについて独学するならおすすめしたい参考書2選