<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Sunny Side Up 💖</title>
        <link>https://velog.io/</link>
        <description>I am interested in Database Engineering ! </description>
        <lastBuildDate>Sat, 26 Feb 2022 09:23:02 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright (C) 2019. Sunny Side Up 💖. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/sunny_han" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[파이썬 개발환경 with 미니콘다 🐍 💚]]></title>
            <link>https://velog.io/@sunny_han/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-with-%EB%AF%B8%EB%8B%88%EC%BD%98%EB%8B%A4</link>
            <guid>https://velog.io/@sunny_han/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-with-%EB%AF%B8%EB%8B%88%EC%BD%98%EB%8B%A4</guid>
            <pubDate>Sat, 26 Feb 2022 09:23:02 GMT</pubDate>
            <description><![CDATA[<p>아나콘다보다 훨씬 가벼운 미니 콘다를 이용해서 나에게 필요한 파이썬 패키지만 설치하고 콘다의 편리함은 그대로 이용하기 </p>
<ol>
<li><p>먼저 미니 콘다를 설치한다 
Install conda for your operating system : 
<a href="https://docs.conda.io/en/latest/miniconda.html">https://docs.conda.io/en/latest/miniconda.html</a></p>
</li>
<li><p>여러가지 패키지를 설치해야하는 프로젝트를 수행해야한다면, 가상환경을 만들어서 실행하자 !! </p>
<pre><code>#Create environment: 
conda create –name env_name python=3.8 
</code></pre></li>
</ol>
<p>#Activate environment: 
conda activate env_name</p>
<pre><code>
3. 가상환경을 액티브한 상태에서 개발에 필요한 패키지들을 인스톨하자 </code></pre><p>conda install numpy scipy scikit-learn matplotlib jupyter</p>
<pre><code>
4. 주피터노트북의 경우 콘솔창에서 명령어로 바로 실행하거나, vsc에서도 실행가능하다! </code></pre><p>cd goto/your_path
jupyter notebook
```</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[깃허브 기초 ]]></title>
            <link>https://velog.io/@sunny_han/%EA%B9%83%ED%97%88%EB%B8%8C-%EA%B8%B0%EC%B4%88</link>
            <guid>https://velog.io/@sunny_han/%EA%B9%83%ED%97%88%EB%B8%8C-%EA%B8%B0%EC%B4%88</guid>
            <pubDate>Sat, 26 Feb 2022 09:09:25 GMT</pubDate>
            <description><![CDATA[<p>*<em>내 로컬에서 깃 저장소 만들기 *</em></p>
<pre><code>$ mkdir newfolder
$ cd newfolder

$ git init </code></pre><p>*<em>버전관리 용어 및 개념 이해하기 *</em></p>
<ul>
<li>작업트리 (working tree) 
  파일 수정 및 저장 들의 작업을 하는 directory
  ex: newfolder    </li>
</ul>
<ul>
<li>스테이지 (stage)
   버전으로 만들 파일이 대기 하는 곳 
   $ git add main.py</li>
</ul>
<ul>
<li>저장소 (repositor)
  스테이지에서 대기하고 있던 파일들을 버전으로 만들어 저장하는 곳
  $ git commit -m &quot;commit msg&quot;</li>
</ul>
<p>** 작업 되돌리기 ** </p>
<ul>
<li><p>작업트리에서 수정한 파일 되돌리기 : </p>
<pre><code>git checkout --main.py</code></pre></li>
<li><p>스테이징 되돌리기 : </p>
<pre><code>$ git add hello.txt
$ git status
// changes to be commited
</code></pre></li>
</ul>
<p>$ git reset HEAD hello.txt
$ git status 
// changes not staged for commit </p>
<pre><code>
* 최신 커밋 되돌리기 </code></pre><p>$ git reset HEAD^ 
// HEAD가 가리키는 브랜치의 최신 커밋 (HEAD-&gt;master)</p>
<pre><code>
* 특정 커밋으로 되돌리기 (reset hash)</code></pre><p>$ git reset --hard 되돌아 가고 싶은 커밋 해시</p>
<p>```</p>
<ul>
<li>커밋 삭제하지 않고 되돌리기 (revert)</li>
</ul>
<p>** 브랜치 관리하기 **</p>
<ul>
<li>브랜치 확인하기 
  $ git branch</li>
</ul>
<ul>
<li><p>브랜치 만들기 
  $ git branch branch_name</p>
</li>
<li><p>브랜치 간 이동하기
  $ git checkout</p>
</li>
</ul>
<p> <strong>깃 명령어 정리</strong>
스테이징과 커밋을 동시에 
$ git commit -am &quot;commit msg&quot;</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[파이썬 문법- DataType]]></title>
            <link>https://velog.io/@sunny_han/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EB%B2%95-DataType</link>
            <guid>https://velog.io/@sunny_han/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EB%B2%95-DataType</guid>
            <pubDate>Thu, 01 Jul 2021 06:53:17 GMT</pubDate>
            <description><![CDATA[<p>모든 언어를 배우면 가장 먼저 등장하는 개념은 Data type 일 것이다.</p>
<p>프로그램은 결국 데이터 (value 또는 object)를 조작한다고 볼 수 있는데, 따라서 이러한 데이터가 정확히 어떤 타입인지 정의를 해주어야 프로그램 입장에서는 어떠한 operation가 수행될 수 있는지 알수 있기 때문이다. </p>
<p>가장 흔한 예시로는 numeric 타입이 문자로 쓰이느냐, 아니면 연산으로 수행되느냐가 있겠다.
사람의 입장에서는 semactic한 의미를 알고 적당한 연산을 가늠할 수 있지만, 컴퓨터에게는 정확히 내가 특정 value를 어떤 타입으로 쓰고 싶은지 알려주어야 한다. </p>
<pre><code># 예 </code></pre><p>데이터 타입은 크게 Scalar value type과 Compound value type으로 나뉜다. </p>
<p>1.Scalar value types
: 하나의 값으로 이루어져있다</p>
<p>Numeric type: int, float, complex 
None type: None
Boolean type: True, False</p>
<p>2.Compound value types
: 여러개의 독립적인 값들로 이루어져있다</p>
<p>String
List, Dictionary, Tuple
User defined types</p>
<p>Scalar value 데이터 타입에서 자주 활용되는 중요한 개념들을 살펴보자.</p>
<p>Numeric Type</p>
<ul>
<li>타입변환 실수를 많이 할 수 있는 자료형 (특히 인풋을 입력받을때)</li>
<li>operator 종류들 알아두기 </li>
</ul>
<p>Boolean Type </p>
<ul>
<li>boolear operator 알아두기 (조건문에 많이 활용되는 개념) </li>
</ul>
<blockquote>
<p>*<em>Tips *</em> &lt;데이터 타입 토픽에서 자주활용되는 개념과 문법&gt;
type()을 통해서 데이터의 타입을 확인 가능하다 </p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[1 부터 n 까지 숫자 coutdown & countup]]></title>
            <link>https://velog.io/@sunny_han/1-%EB%B6%80%ED%84%B0-n-%EA%B9%8C%EC%A7%80-%EC%88%AB%EC%9E%90-coutdown-countup</link>
            <guid>https://velog.io/@sunny_han/1-%EB%B6%80%ED%84%B0-n-%EA%B9%8C%EC%A7%80-%EC%88%AB%EC%9E%90-coutdown-countup</guid>
            <pubDate>Wed, 23 Jun 2021 21:28:52 GMT</pubDate>
            <description><![CDATA[<p>모든 재귀함수는 반복문으로 표현 할 수 있다.
재귀함수는 elegant하지만 직관적이지 않아서 반복문으로 먼저 구현을 해보고 다시 리컬시브하게 짜보자 ! </p>
<p>재귀는 귀납법의 원리를 기본적으로 따르므로 귀납법 부분을 참조하면 도움이 많이 될 것 !! :))</p>
<p>먼저 반복문을 사용하여 1부터 n까지 count up 하는 함수를 작성해보자. cnt라는 변수를 만들어서 1씩 증가시키면서 n까지만 출력하도록 while loop를 작성할 수 있다. </p>
<pre><code>def one_to_n(n):
  cnt = 1
  while cnt &lt;= n:
    print(cnt)
    cnt += 1</code></pre><pre><code>#실행결과
one_to_n(10)
1
2
3
4
5
6
7
8
9
10</code></pre><p>반복문을 사용하여 1부터 n까지 count down 하는 함수는 반대로 cnt시작을 n으로 시작해서 하나씩 줄여가면서 cnt가 1일때까지 출력하면 된다. </p>
<pre><code>def n_to_one(n):
  cnt = n
  while cnt &gt;= 1:
    print(cnt)
    cnt -= 1</code></pre><p>이번에는 재귀함수로 같은 함수들을 구현해보자.
재귀함수는 count down 형태가 흔해서 조금 더 쉽게 이해가 가므로 n부터 1까지 출력하는 함수 먼저 작성해 보자.
재귀의 기본은 base case 와 recursive step을 작성하는 것인데, 여기서는 간단히 base case는 1일때 멈춰야하고, recursive의 경우 descrete하게 1씩 줄여서 호출하면 되는것을 알수있다. </p>
<pre><code>def countdown_rec(n):
  if n == 1:
    return 1
  else: 
    print(n)
    countdown_rec(n-1)</code></pre><p>count up의 경우 위의 count down처럼 클래식한 모양의 리컬시브 형태로 생각하면 어려울수있다. 
가능한 솔루션을 먼저 보면, 다음과 같은데 이는 function call이 역순으로 반환된다는 점을 이용해서 리컬시브 콜과 반환하는 값의 순서를 바꿔주는 트릭을 사용하면 아주 간단히 작성할수있다! (놀라워랑)</p>
<pre><code>def countup_rec(n):
    if n &gt;= 1:
        countup_rec(n-1)
        print(n)</code></pre><p>즉 위에 작성한 count down도 간단히 세줄로 구현이 가능하다! 하지만 개인적으로 base case 와 recursive step을 확실하게 작성하는 편이 그나마 어려운 재귀함수의 readability에 좋다고 생각한다 :)))</p>
<pre><code>def countdown_rec(n):
    if n &gt;= 1:
        print(n)
        countdown_rec(n-1)
</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[MATLAB 뿌셔뿌셔 09. Interpolation]]></title>
            <link>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-09.-Interpolation</link>
            <guid>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-09.-Interpolation</guid>
            <pubDate>Tue, 15 Sep 2020 18:49:18 GMT</pubDate>
            <description><![CDATA[<h2 id="interpolation-보간법">Interpolation (보간법)</h2>
<p>점과 점사이의 사이값을 찾아내는 작업 </p>
<p> 1-D Interpolation </p>
<p>yi = interp1(x, y, xi, &#39;method&#39;) </p>
<p><img src="https://images.velog.io/images/sunny_han/post/ab4b1107-9c68-407c-a04c-b772118c6076/Screen%20Shot%202020-09-15%20at%208.42.44%20PM.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[MATLAB 뿌셔뿌셔 8. 최소자승법을 이용한 커브 피팅]]></title>
            <link>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-8.-%EC%B5%9C%EC%86%8C%EC%9E%90%EC%8A%B9%EB%B2%95%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%BB%A4%EB%B8%8C-%ED%94%BC%ED%8C%85</link>
            <guid>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-8.-%EC%B5%9C%EC%86%8C%EC%9E%90%EC%8A%B9%EB%B2%95%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%BB%A4%EB%B8%8C-%ED%94%BC%ED%8C%85</guid>
            <pubDate>Wed, 09 Sep 2020 21:29:47 GMT</pubDate>
            <description><![CDATA[<p>다양한 실험 데이터를 가장 이론적으로 잘 표현하는 직선, 곡선등으로 표현할때 최소 자승법을 이용하면 가장 적합한 수식을 구할 수 있다. </p>
<p>목차 </p>
<ol>
<li>최소자승법 (Least Square Method)</li>
</ol>
<h3 id="1-최소자승법-least-square-method">1. 최소자승법 (Least Square Method)</h3>
<pre><code>polyfit(x, y, n차식)</code></pre><p>1) 주어진 데이터 x1(-2,-1), x2(1,1), x3(2, 0)에 대해 1차식으로 피팅하기 </p>
<p><img src="https://images.velog.io/images/sunny_han/post/212e2e54-ae3f-47a7-897d-f1c97b2d7ece/Screen%20Shot%202020-09-09%20at%2010.21.48%20PM.png" alt=""></p>
<p>2) 주어진 데이터 x1(-2,-1), x2(1,1), x3(2, 0)에 대해 2차식으로 피팅하기 </p>
<p>3) 고차 다항식으로 피팅하기 </p>
<p><img src="https://images.velog.io/images/sunny_han/post/d0c823b4-4f75-4eb7-9ee4-34f862306505/Screen%20Shot%202020-09-09%20at%2010.46.19%20PM.png" alt=""></p>
<h3 id="2-특수함수-피팅하기">2. 특수함수 피팅하기</h3>
<p><img src="https://images.velog.io/images/sunny_han/post/b9c22fe2-f0ab-4ce2-be27-3e5ae1e6fc4b/Screen%20Shot%202020-09-09%20at%2010.47.53%20PM.png" alt=""></p>
<p>ex) Exponetial 함수 피팅해보기 </p>
<p><img src="https://images.velog.io/images/sunny_han/post/080aecc7-a4ad-4bf2-8a88-97ab16b03b7a/Screen%20Shot%202020-09-09%20at%2011.27.24%20PM.png" alt=""></p>
<p><img src="https://images.velog.io/images/sunny_han/post/a8915551-5512-4912-bd2e-8851d4fc535a/Screen%20Shot%202020-09-09%20at%2011.27.49%20PM.png" alt=""></p>
<p><img src="https://images.velog.io/images/sunny_han/post/e6e89e5a-8ee2-47a0-9a84-d987d8b44ef7/Screen%20Shot%202020-09-09%20at%2011.35.27%20PM.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[MATLAB 뿌셔뿌셔 7. 다항식 계산하기 ]]></title>
            <link>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-7.-%EB%8B%A4%ED%95%AD%EC%8B%9D-%EA%B3%84%EC%82%B0%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-7.-%EB%8B%A4%ED%95%AD%EC%8B%9D-%EA%B3%84%EC%82%B0%ED%95%98%EA%B8%B0</guid>
            <pubDate>Tue, 08 Sep 2020 23:36:19 GMT</pubDate>
            <description><![CDATA[<p>공대생에게 가장 유용한 매트랩 기능 중에 하나인 다항식 계산에 대해 알아보자. </p>
<p>목차
0. 주석으로 다항식을 작성하는 방법 - LaTex</p>
<ol>
<li>다항식을 매트랩에서 array로 표현하는 방법 </li>
<li>다항식 계산하기 </li>
</ol>
<h3 id="1-다항식-polynomials을-array로-표현하기">1. 다항식 (Polynomials)을 array로 표현하기</h3>
<ul>
<li><p>다항식이란 항이 여러개로 이루어진 식</p>
</li>
<li><p>매트랩에서는 최고차항부터 계수를 array에 담아서 표시한다. </p>
<p>ex) f(x) = 5x^5 + 6x^2 + 4x +2 =&gt; p = [5 0 0 6 4 2]</p>
</li>
</ul>
<h3 id="2-다항식-계산하기">2. 다항식 계산하기</h3>
<p>  1) 다항식의 값 구하기 (x값에 대한 y값)</p>
<pre><code>% 다항식 p에서 x의 값에 해당하는 y값

y = polyval(p,x);
</code></pre><p> ex) f(x) = 5x^5 + 6x^2 + 4x +2 그래프 그리기 </p>
<p> <img src="https://images.velog.io/images/sunny_han/post/23109327-dee2-4125-a66c-80a552c8def9/Screen%20Shot%202020-09-08%20at%208.49.11%20PM.png" alt=""></p>
<p> 2) 다항식의 근 구하기 (y가 0이 되는 x값)</p>
<pre><code>r = roots(p); % 다항식 p의 근을 구해주는 함수 

p = poly(r); % r을 가지고 다항식을 구해주는 함수 </code></pre><p> ex) 다항식 곡선과 근 나타내기 </p>
<p> f(x) = (x+1.2)(x+0.6)(x-0.1)(x-1.9)</p>
<p>  step1. 근 알아내기
  step2. 다항식 계수 표현하기</p>
<pre><code>r = [-1.2 -0.6 0.1 1.9];</code></pre><p>  step3. 곡선의 x좌표 나타내기</p>
<pre><code>x = linsspace(-1.5, 2, 1000); % -1.5 부터 2 사이를 1000등분하기 </code></pre><p>  step4. 곡선의 y좌표 나타내기</p>
<pre><code>p = poly(r);
y0 = polycal(p, r); % r에서의 y값 == zeros(size(r));
y = polyval(p, x);</code></pre><p>  step5. 그래프 그리기 </p>
<pre><code>plot(x, y)</code></pre><p><img src="https://images.velog.io/images/sunny_han/post/a7a572b9-a82d-4ee1-8fae-159e6a04aec0/Screen%20Shot%202020-09-08%20at%209.35.59%20PM.png" alt=""></p>
<p>3) 다항식의 곱과 나누기 계산하기 </p>
<p> f(x)를 p1, g(x)를 p2로 나타낸 뒤</p>
<pre><code>r = conv(p1, p2); % r(x) = f(x)g(x)

[q, r] = deconv(p1, p2)  %q= 몫, r=나머지</code></pre><p>4) 다항식 미분</p>
<p><img src="https://images.velog.io/images/sunny_han/post/365dc0e1-50da-40a7-af50-67dff8f0a4e3/Screen%20Shot%202020-09-08%20at%2010.15.11%20PM.png" alt=""></p>
<p>5) 다항식의 최대 최소</p>
<p>ex1) 다항식 f(x) = (x+1.2)(x+0.6)(x-0.1)(x-1.9), x = -1.5 ~ 2 의 범위에 대하여 $f(x)$의 그래프를 그리고, local maximum과 local minimum을 함께 나타내시오. </p>
<p><img src="https://images.velog.io/images/sunny_han/post/3f9b4c25-3df7-41dd-83db-b9bb09f33562/Screen%20Shot%202020-09-08%20at%2010.43.45%20PM.png" alt=""></p>
<p>ex2) 세 점 p1(-2,-1), p2(1,1), p3(2,0)을 지나는 이차방정식의 계수를 구하여라. </p>
<p>sol: y = ax^2 + bx + c에 각각의 점을 대입한 연립방정식의 해를 구한다.</p>
<p><img src="https://images.velog.io/images/sunny_han/post/aa90280b-1bdb-45af-8516-a5ba22b98720/Screen%20Shot%202020-09-08%20at%2011.04.45%20PM.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[MATLAB 뿌셔뿌셔 6. 매트랩 함수작정  및 Flow control]]></title>
            <link>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-6.-%EB%A7%A4%ED%8A%B8%EB%9E%A9-%ED%95%A8%EC%88%98%EC%9E%91%EC%A0%95-%EB%B0%8F-Flow-control</link>
            <guid>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-6.-%EB%A7%A4%ED%8A%B8%EB%9E%A9-%ED%95%A8%EC%88%98%EC%9E%91%EC%A0%95-%EB%B0%8F-Flow-control</guid>
            <pubDate>Mon, 07 Sep 2020 17:32:48 GMT</pubDate>
            <description><![CDATA[<p>목차 </p>
<ol>
<li>Write a function m-file. </li>
<li>local and global variables.</li>
<li>Anonymous function and Sub-functions.</li>
<li>Condition statement and loop.</li>
</ol>
<h3 id="1-write-a-function-m-file">1. Write a function m-file.</h3>
<ul>
<li><p>함수는 주로 스크립트 파일에 따로 생성하고 커맨드창에서 함수명을 입력해서 사용한다. 
이때 함수명과 스크립트 파일명은 같아야한다. </p>
</li>
<li><p>함수 syntax 살펴보기 </p>
<pre><code>// sytex 
function output_arg = f_name(a,b)
%help message
</code></pre></li>
</ul>
<p>if isempty(a)
  d = b;
else
  d = a;
end </p>
<pre><code>
ex)
![](https://images.velog.io/images/sunny_han/post/36c66490-3289-48a4-8975-58bb99c9375f/Screen%20Shot%202020-09-07%20at%206.23.08%20PM.png)

* input과 output argument의 갯수는 마음대로 정할 수 있다. </code></pre><p>function [mpay, tpay] = loan(amount, rate, years)
function A = RectArea(a, b)
function trajectory(v, h, g)</p>
<pre><code>

### 2. Local and Global Variables

* m-file에 사용되는 변수들은 모두 local variable이다. 
* local variable : 해당 함수 내에서만 불러와서 인식하는 변수 
* gloabal variable : 어디서든지 불러서 쓸 수 있는 변수</code></pre><p>//global 변수 선언하는 방법 : 변수명 앞에 gloabl을 붙인다.</p>
<p>global GRAVITY</p>
<pre><code>

### 3. Anonymous Function
* 간단한 함수는 inline으로 작성할 수 있으며 문법은 다음과 같다.</code></pre><p>name = @ (argument) expression</p>
<pre><code>
ex) 커맨드창에서 바로 실행하기 

![](https://images.velog.io/images/sunny_han/post/4bb53770-bc68-4a7f-aa93-524222851495/Screen%20Shot%202020-09-07%20at%206.39.33%20PM.png)


ex) 스크립트 파일에 생성하기

![](https://images.velog.io/images/sunny_han/post/eff018f0-d08b-47d2-9a05-0c468444a3a1/Screen%20Shot%202020-09-07%20at%206.47.04%20PM.png)




### 4. Sub-function 

* 원하는 수식이 복잡할때 우리는 기능을 조각내어 메인함수에서 불러서 사용 한다 !

* m-file은 여러개의 함수를 정의할 수 있다. 각각의 함수는 서로를 호출할 수 있다.

* 첫 줄에 나오는 함수가 primary function이며, 뒤에 나오는 함수들은 primary함수에서만 사용된다. 


### Flow control - if, while and for loop 

1) relational operatior 
* 결과는 logical value로 리턴된다. 
</code></pre><p>&lt; , &lt;=, &gt;, &gt;=, ==, ~=</p>
<pre><code>
ex)
![](https://images.velog.io/images/sunny_han/post/970ae9ca-b8cf-49ca-a4c6-86517653fd66/Screen%20Shot%202020-09-07%20at%206.58.48%20PM.png)

ex)
![](https://images.velog.io/images/sunny_han/post/808e644a-b0ef-4d4c-9d6c-8a8847d1cd46/Screen%20Shot%202020-09-07%20at%207.10.43%20PM.png)

2) logical operators </code></pre><p>//operators
&amp;, |, ~</p>
<p>//Built-in Function
and(A,B)
xor(A,B)
all(A)
any(A)
find(A)
find(A&gt;d)</p>
<pre><code>
3) conditional Statement : if - elseif - else

4) For Loops 
</code></pre><p>//syntax of for loop</p>
<p>for n = a:b
    statements
end</p>
<pre><code>
5) While Loops 
</code></pre><p>while </p>
<pre><code>
*while loop , for loop 는 매틀랩에서 벡터로 연산할 수 있다. 

![](https://images.velog.io/images/sunny_han/post/e438800f-f7c5-4490-bfdc-2d46485d2fa0/Screen%20Shot%202020-09-07%20at%207.26.59%20PM.png)
</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[MATLAB 뿌셔뿌셔 05. 매트랩 스크립트 작성하기 ]]></title>
            <link>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-05.-%EB%A7%A4%ED%8A%B8%EB%9E%A9-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%9E%91%EC%84%B1%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-05.-%EB%A7%A4%ED%8A%B8%EB%9E%A9-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%9E%91%EC%84%B1%ED%95%98%EA%B8%B0</guid>
            <pubDate>Sat, 05 Sep 2020 19:54:46 GMT</pubDate>
            <description><![CDATA[<p>목차 </p>
<ol>
<li>Write simple script m-files using the editor.</li>
<li>Get user inputs and print the formatted results.</li>
<li>Create a simple dialogue window - get user response.</li>
<li>Use cell mode for efficient coding and evaluation. </li>
<li>Save and loag data to/from Matlab data file.</li>
<li>Use timer to perform repeated action. </li>
</ol>
<h4 id="1-write-simple-script-m-files-using-the-editor">1. Write simple script m-files using the editor.</h4>
<p>*<em>What is script M-File *</em></p>
<p>웹브라우저가 html파일을 읽듯이, 매틀랩이 읽는 매틀랩언어가 저장된 파일.
파이썬으로 작성한 문서를 .py로 저장하듯이 .m 으로 저장해서 매틀랩에서 열어볼 수 있다.</p>
<ul>
<li><p>스크립트 파일 생성하기 
상단의 +버튼을 누르고 스크립트를 누르면(Ctr+N) 에디터 창에 스크립트파일이 새로 생성된다. 
또는 커맨드 창에서 edit file_name.m 을 치면 생성된다. </p>
</li>
<li><p>스크립트 파일 실행하기
실행하기 전에는 반드시 플로피디스크 모양의 save를 누르고, 재생버튼 모양의 run (F5)를 누른다. </p>
</li>
<li><p>디버깅하기
일부만 실행하고 싶다면 부분을 드래그 후 F9를 사용하면 디버깅이 가능하다.</p>
</li>
</ul>
<pre><code>beep
pause
pause(5)</code></pre><p>등의 함수도 중간중간 사용할 수 있다. </p>
<p>_예제) 구구단 작성해보기 _
행렬의 경우 col방향으로 출력된다!</p>
<p>%2d: 두칸을 만든뒤 오른쪽부터 채운다. 
%-2d: 두칸을 만든뒤 왼쪽부터 채운다. 
%.1f: 소수점 뒤에 나타낼 숫자의 갯수 </p>
<p><img src="https://images.velog.io/images/sunny_han/post/3e48a807-64dd-4f7e-be80-80da07174ea0/Screen%20Shot%202020-09-05%20at%209.35.48%20PM.png" alt=""></p>
<h3 id="2-get-user-inputs-and-print-the-formatted-results">2. Get user inputs and print the formatted results.</h3>
<ul>
<li>변수 입력받기 <pre><code>var1 = input(&#39;prompt msg&#39;);
var2 = input(&#39;prompt msg&#39;, &#39;s&#39;);
</code></pre></li>
</ul>
<p>num = input(&#39;enter the number :&#39;);
str = input(&#39;enter the string :&#39;);</p>
<pre><code>인풋으로 숫자를 받을때는 prompt msg만 써주면 되지만, 문자열을 받을때는 &#39;s&#39; argument를 추가해야한다. 


* 데이터 출력하기 </code></pre><p>fprint(&#39;text&#39;) or fprintf(&#39;format&#39;, arg1, arg2, ...)</p>
<pre><code>format에는 %d(decimal integer),%*d, %f 등이 들어갈 수 있다. 

![](https://images.velog.io/images/sunny_han/post/6e97e854-88bf-49ac-b34d-916e25a1bb40/Screen%20Shot%202020-09-05%20at%209.47.21%20PM.png)



### 3. text file 작성하기 

fopen() -&gt; fprintf() -&gt; fclose() 순으로 작성한다. 

![](https://images.velog.io/images/sunny_han/post/29d81e36-4e2e-452f-a2aa-aea18524a9e4/Screen%20Shot%202020-09-05%20at%2010.14.09%20PM.png)



### 4. excel file 불러오기 
</code></pre><p>a = xlsread(&#39;filename.xlsx&#39;)</p>
<pre><code>










</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[MATLAB 뿌셔뿌셔 04. 매트랩으로 프랑스 국기그리기 ]]></title>
            <link>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-04.-%EB%A7%A4%ED%8A%B8%EB%9E%A9%EC%9C%BC%EB%A1%9C-%ED%94%84%EB%9E%91%EC%8A%A4-%EA%B5%AD%EA%B8%B0%EA%B7%B8%EB%A6%AC%EA%B8%B0</link>
            <guid>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-04.-%EB%A7%A4%ED%8A%B8%EB%9E%A9%EC%9C%BC%EB%A1%9C-%ED%94%84%EB%9E%91%EC%8A%A4-%EA%B5%AD%EA%B8%B0%EA%B7%B8%EB%A6%AC%EA%B8%B0</guid>
            <pubDate>Fri, 04 Sep 2020 19:05:06 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>프랑스의 국기 &quot;Tricolour&quot; 그려보기 </p>
</blockquote>
<p>규격을 살펴보면, 비율은 200x300 pixel
색상은 B(0,85,164), W(255,255,255), R(250,60,50)을 만족해야한다. </p>
<p><img src="https://images.velog.io/images/sunny_han/post/a331c33c-b3c6-4f52-a2d8-aadfbf2e6840/Screen%20Shot%202020-09-04%20at%208.56.47%20PM.png" alt=""></p>
<h4 id="_cest-tres-beau---d-_">_c&#39;est tres beau ! :-D _</h4>
]]></description>
        </item>
        <item>
            <title><![CDATA[MATLAB 뿌셔뿌셔 03. 행렬 다루기 - 고급 ]]></title>
            <link>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-03.-%ED%96%89%EB%A0%AC-%EB%8B%A4%EB%A3%A8%EA%B8%B0-%EA%B3%A0%EA%B8%89</link>
            <guid>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-03.-%ED%96%89%EB%A0%AC-%EB%8B%A4%EB%A3%A8%EA%B8%B0-%EA%B3%A0%EA%B8%89</guid>
            <pubDate>Fri, 04 Sep 2020 14:10:03 GMT</pubDate>
            <description><![CDATA[<p>목차 </p>
<ol>
<li>Add, delete, permute all or some of the vectors and matrices</li>
<li>Sort and search matrix elemtns</li>
<li>Change the shape of the matix</li>
<li>Flip, rotate and shift the matrix</li>
<li>Manipulate 2D images</li>
</ol>
<ol>
<li><p>행렬의 추가, 삭제, 순서바꾸기 </p>
<p>1) 행렬의 원래 사이즈보다 큰 열에 원소를 입력하면 중간에 자동으로 0으로 채워진다. </p>
</li>
</ol>
<p><img src="https://images.velog.io/images/sunny_han/post/f8b3c7be-3a76-4928-b2ca-fc3fe7398b6d/Screen%20Shot%202020-09-04%20at%203.42.04%20PM.png" alt=""></p>
<p> 2) Permutation </p>
<p> ex. column permutation - col자리에 :을 써주고, row 자리에 원하는 인덱스 순서를 써준다. 
  a(행값,열값) 에서 행값, 열값 자리는 a(1,1), a([1 2], [1 2]) 와 같이 표현될 수 있다. 
  :기호는 all(row/col)을 의미함을 기억하자! </p>
<p>  <img src="https://images.velog.io/images/sunny_han/post/c7ef39ce-9e06-44bf-a27f-abaa595477fd/Screen%20Shot%202020-09-04%20at%203.49.34%20PM.png" alt=""></p>
<ol start="2">
<li><p>행렬의 원소 정렬 및 검색 </p>
<p>1) 배열 sorting 
randperm(정수) = 1 부터 정수까지의 정수를 랜덤하게 배열로 생성해준다. 
sort(배열) = 오름차순으로 정렬해준다
[el, idx]=sort(배열) = 배열의 원소들을 정렬하고 각각 element와 정렬전 index번호를 알려준다.</p>
<p><img src="https://images.velog.io/images/sunny_han/post/4959c123-021b-4a90-91c8-86a9e68c1ec2/Screen%20Shot%202020-09-04%20at%207.48.44%20PM.png" alt=""></p>
<p>2) 행렬 sorting 
sort(행렬) = column by column 으로 오름차순으로 정렬해준다.<br>row-wise sorting은 sort(행렬,2)
<img src="https://images.velog.io/images/sunny_han/post/47c1c9ea-7b5f-422d-b2ce-f0348b5d0a48/Screen%20Shot%202020-09-04%20at%207.53.47%20PM.png" alt=""></p>
</li>
</ol>
<p> 3) pivot sorting 
 특정 인덱스행/열을 기준으로 전체 열/행을 정렬하기 
 <img src="https://images.velog.io/images/sunny_han/post/f0d1c0e4-9a0d-4929-9e4e-1423e2a73cd2/Screen%20Shot%202020-09-04%20at%208.00.26%20PM.png" alt=""></p>
<p> 4) sub-array searching 
 find(조건문) = 조건을 만족하는 행렬의 원소의 인덱스를 알려준다. 
 <img src="https://images.velog.io/images/sunny_han/post/53446271-bfd6-455b-9182-d8f089476dc7/Screen%20Shot%202020-09-04%20at%208.12.24%20PM.png" alt="">
 ex. 어떤 행렬에서 7보다 큰 원소들을 0으로 바꾸기 
  방법1.
  <img src="https://images.velog.io/images/sunny_han/post/20d039dd-23d3-44ea-8927-c882c26354aa/Screen%20Shot%202020-09-04%20at%208.07.45%20PM.png" alt="">
  방법2. 자주쓰임
<img src="https://images.velog.io/images/sunny_han/post/02aaa5bc-1a16-41fb-b619-c8c23bc0a85d/Screen%20Shot%202020-09-04%20at%208.08.24%20PM.png" alt=""> 
 5) 최대 최소 </p>
<ol start="3">
<li><p>행렬의 reshape</p>
<p>1) matrix dimension 바꾸기 
b = reshape(a, 원하는행수, 원하는열수) 
*원래 행렬의 원소들을 열방향(위에서 아래로)으로 갯수만큼 짤라서 새로운 dimension을 만들어준다. 
*행수와 열수 중 하나만 적고 나머지는 []로 남겨둬도 자동으로 계산해서 만들어준다 </p>
<p><img src="https://images.velog.io/images/sunny_han/post/1029224b-0d7b-419b-8f50-1853a48cf477/Screen%20Shot%202020-09-04%20at%203.56.52%20PM.png" alt=""></p>
<p>2) Replicate Array 
b = repmat(원하는부분, 원하는 dimension)
<img src="https://images.velog.io/images/sunny_han/post/081bcc2f-8282-440c-9143-f42e6e121811/Screen%20Shot%202020-09-04%20at%204.07.28%20PM.png" alt=""></p>
<p>3) Single Indexing 
sub2ind(size(a), 행, 열) = 위에서부터 하나로 세었을때 인덱스 번호를 알려줌
[r c] = ind2sub(size(a), 10) = 위에서부터 하나도 세었을때 인덱스번호를 넣으면 행과 열번호를 알려줌 
<img src="https://images.velog.io/images/sunny_han/post/0f874647-499a-4194-95e9-fc7c41eb1399/Screen%20Shot%202020-09-04%20at%204.33.40%20PM.png" alt=""></p>
</li>
</ol>
<p>  4) Logical Array </p>
<p>  조건에 맞는 원소를 논리 1 과 0으로 대치해서 보여주는 배열 </p>
<ul>
<li>논리적으로 참인 원소들만 새로 어레이로 작성할 수 있다. </li>
<li>logical([논리값]) = 해당 인덱스가 참인 값들만 모인 어레이를 작성할 수 있다. 
<img src="https://images.velog.io/images/sunny_han/post/fe01a342-20d2-4d76-9ab1-5c74871afed4/Screen%20Shot%202020-09-04%20at%204.49.17%20PM.png" alt=""></li>
</ul>
<p>  5) Scalar Expansion 
  ones(행,열)로 원하는 dimension을 만들고 스칼라 값을 곱해서 모든 원소가 해당 스칼라값인 행렬을 만들수있다. </p>
<p>  true(행,열)을 이용하면 logical array를 만들수있고, 일부분을 바꿀 수 도 있다.
  <img src="https://images.velog.io/images/sunny_han/post/c261a558-3b53-44d4-b6e4-2290259436d1/Screen%20Shot%202020-09-04%20at%207.38.41%20PM.png" alt=""></p>
<ol start="4">
<li>행렬 flip, Rotate, shift</li>
</ol>
<p>flipud(a) = 상하반전
fliplr(a) = 좌우반전
rot90(a) = 오른쪽 90도 회전
rot(a,2) = 원점 대칭
circshift(a,1) = 아래로 한칸 밀기 
circshift(a,-1) = 위로 한칸 밀기 
circshift(a,[0 1]) = 위아래는 고정, 우측으로 한칸 밀기 (첫번째는 위아래, 두번째는 좌우) 
circshift(a, [0 -1]) = 위아래는 고정, 좌측으로 한칸 밀기</p>
<p>diag(행렬) = 대각선 원소를 벡터로 반환 
diag(벡터) = 벡터를 대각선으로 가지는 행렬을 만들어줌 
triu(a) = 행렬의 대각선 윗부분 원소만 남기고 나머지는 0으로 대치 
tril(a) = 행렬의 대각선 아랫부분 원소만 남기고 나머지는 0으로 대치 </p>
<p><img src="https://images.velog.io/images/sunny_han/post/98729593-9d88-449d-b081-b20d66b97cde/Screen%20Shot%202020-09-04%20at%208.37.09%20PM.png" alt=""></p>
<ol start="5">
<li>응용 - 이미지 조작하기 </li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[MATLAB 뿌셔뿌셔 02. 행렬과 벡터 표현 및 연산하기]]></title>
            <link>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-02.-%ED%96%89%EB%A0%AC%EA%B3%BC-%EB%B2%A1%ED%84%B0-%ED%91%9C%ED%98%84-%EB%B0%8F-%EC%97%B0%EC%82%B0%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-02.-%ED%96%89%EB%A0%AC%EA%B3%BC-%EB%B2%A1%ED%84%B0-%ED%91%9C%ED%98%84-%EB%B0%8F-%EC%97%B0%EC%82%B0%ED%95%98%EA%B8%B0</guid>
            <pubDate>Thu, 03 Sep 2020 21:32:18 GMT</pubDate>
            <description><![CDATA[<p>목차 
1.행렬과 벡터 만들기 
2.행렬 연산하기 
3.행렬의 서브행렬 추출하기 
4.그래프로 출력하기 </p>
<h3 id="1-행렬과-벡터-만들기">1. 행렬과 벡터 만들기</h3>
<p><strong>배열(Array) = collection of scala values</strong>
 vector(주로 소문자): n x 1 or 1 x n 
 matrix(주로 대문자) : n x m   </p>
<p>  ex) row vector, column vector, matrix 
  r = [1 2 3 4]
  c = [1; 2; 3; 4;]
  m = [1 2; 3 4;] </p>
<h4 id="1-다양한-방법으로-행렬-만들기">1) 다양한 방법으로 행렬 만들기</h4>
<p>   -대괄호사이에 원소 하나하나 써주기, ;는 열바꿈 
   -대괄호 사이에 시작:끝, 시작:간격:끝 범위 써주기, 1만큼 크기의 원소들이 자동으로 행방향으로 채워진다.</p>
<p>   -linspace(시작,끝,n등분) : 시작과 끝의 범위를 n간격으로 linear scale로 만들어준다 
   -logspace(시작,끝,n등분) : log스케일로 만들어준다. </p>
<p>   <img src="https://images.velog.io/images/sunny_han/post/19d0e08f-70a5-466b-b653-7dc8967386d2/Screen%20Shot%202020-09-15%20at%207.24.32%20PM.png" alt=""></p>
<h4 id="2-array-addressing">2) Array Addressing</h4>
<p>  ex)
  a=[0:0.2:1]이라는 Array를 생성했을때 인덱스는 총 1 부터 6이된다. 
  이때 a(addressing_syntax)를 통해서 원래 행렬에 다양하게 addressing할 수 있다. </p>
<p> <img src="https://images.velog.io/images/sunny_han/post/ed179a54-7295-4ea9-af86-f88b9520b005/Screen%20Shot%202020-09-15%20at%207.14.10%20PM.png" alt=""></p>
<h3 id="2-행렬에-사용할수있는-내장함수">2. 행렬에 사용할수있는 내장함수</h3>
<p>a = [1 2 3; 4 5 6;] 일때
s = size(a)
[m, n] = size(a)
m = size(a,1) // row의 수
n = size(a,2) // col의 수 
l = length(a) // row col 중에 긴 수
e = numel(a) // number of element</p>
<h3 id="3-특수행렬-만들기">3. 특수행렬 만들기</h3>
<p>✔️ <strong>Ones and Zeros</strong>
a= ones(2) //k로 채워진 행렬을 만들때 유용
c = zeros(3) //초기화에 유용</p>
<p><img src="https://images.velog.io/images/sunny_han/post/fec720b6-8c39-4a84-8f90-54b2dd8748d7/Screen%20Shot%202020-09-15%20at%207.48.14%20PM.png" alt=""></p>
<p>✔️<strong>Identity matrix</strong>
I = eye(5)</p>
<p>✔️<strong>Diagonal Matrix</strong>
a = 1:3
b = diag(a)
b = diag(a,1) //offset 대각선을 오른쪽으로 한칸 이동
b = diag(a,-1)</p>
<p><img src="https://images.velog.io/images/sunny_han/post/340b59eb-859b-48c6-b241-8baef50cbfa3/Screen%20Shot%202020-09-15%20at%208.16.36%20PM.png" alt=""></p>
<h3 id="4-부분행렬-구하기">4. 부분행렬 구하기</h3>
<p>M(n, :)        //n-th row
M(m:m, :)    //m~n-th rows
M( :, r)    //r-th col
M( :, r:s)    //r-th cols</p>
<p><img src="https://images.velog.io/images/sunny_han/post/9a1d42d8-36a5-44f5-bb0f-071daabd8344/Screen%20Shot%202020-09-15%20at%208.20.33%20PM.png" alt=""></p>
<h3 id="5-행렬의-연산">5. 행렬의 연산</h3>
<p> <strong>scalar operation &amp; matrix operation</strong>
.*, ./, .^ 각각의 위치에 해당 연산을 수행 </p>
<p>*<em>복소수와 켤레복소수 *</em>
복소수에 트랜스포즈를 취하면 트랜스포즈와 켤레복소수가 구해진다. (./ = 켤레복소수만 구해준다)</p>
<p><img src="https://images.velog.io/images/sunny_han/post/c66961b6-f79f-4a90-b188-dc04dabba2e1/Screen%20Shot%202020-09-15%20at%207.34.44%20PM.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[MATLAB 뿌셔뿌셔 01. 매트랩 간단한 사용법]]></title>
            <link>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-01.-%EB%A7%A4%ED%8A%B8%EB%9E%A9-%EA%B0%84%EB%8B%A8%ED%95%9C-%EC%82%AC%EC%9A%A9%EB%B2%95</link>
            <guid>https://velog.io/@sunny_han/MATLAB-%EB%BF%8C%EC%85%94%EB%BF%8C%EC%85%94-01.-%EB%A7%A4%ED%8A%B8%EB%9E%A9-%EA%B0%84%EB%8B%A8%ED%95%9C-%EC%82%AC%EC%9A%A9%EB%B2%95</guid>
            <pubDate>Thu, 03 Sep 2020 18:56:01 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>MATLAB = MTRIX Laboratory 의 약자 </p>
</blockquote>
<p>즉 행렬을 이용해서 다양한 수식을 작성하고 연산하기 위해 만들어진 소프트웨어! </p>
<p>그 외 에 데이터 시각화(각 종 2D /3D 그래프 작성), GUI 디자인(유저 인터페이스 디자인) 등 도 가능하다. </p>
<p> ✔️ *<em>매트랩 인터페이스와 명칭 *</em></p>
<p> 커맨드 윈도우 : 메인 윈도우로, 변수들을 입력하고 스크립트를 실행시킨다. 
 에디터 윈도우 : 스크립트와 함수파일을 만들고 디버깅할 수 있다.</p>
<p> ✔️ *<em>자주 쓰이는 매트랩 커맨드 명령어 이해하기 *</em></p>
<p> help 
 doc</p>
<p> clc : 명령창 초기화, 작업공간의 변수들은 그대로 남아 있음. 
 clear: 명령창, 작업공간 모두 초기화. 
 whos: 지금까지 생성된 변수, 계산에 대한 정보 출력.</p>
<p> ✔️ <strong>명령창 레이아웃 조작</strong> </p>
<p>format loose      // 행간 간격이 넓음
format compact     // 행간 간격이 좁음
format rat
format short
format long
format bank </p>
<p> ✔️ <strong>자주 사용하게 될 간단한 수학연산과 기능들</strong></p>
<ul>
<li>일반적으로 변수를 만들어 주고 연산을 시행한다. </li>
<li>명령어 뒤에 ;을 붙이면 결과값을 프린트하지않고 내부에서만 생성/계산 된다. </li>
</ul>
<ol>
<li>행렬 만들기 </li>
</ol>
<ul>
<li>[] 대괄호 안에 원소들을 나열해서 생성할 수 도 있고, 행벡터의 경우 : 으로 바로 생성할 수 있다. </li>
</ul>
<p><img src="https://images.velog.io/images/sunny_han/post/2f0f932d-da6c-4ac1-a254-da8812728116/Screen%20Shot%202020-09-15%20at%204.57.21%20PM.png" alt=""></p>
<ol start="2">
<li>간단한 2차원 그래프 그리기 </li>
</ol>
<ul>
<li>x좌표와 y좌표의 값들을 하나씩 나타내는 것이므로, 하나의 함수와 적어도 한좌표의 범위가 주어져야한다 ! </li>
</ul>
<p><img src="https://images.velog.io/images/sunny_han/post/4b852cb6-9691-4d0e-a364-482ae39b60db/Screen%20Shot%202020-09-15%20at%205.00.54%20PM.png" alt=""></p>
<p><img src="https://images.velog.io/images/sunny_han/post/4adc5d5d-42f3-4f07-b737-19fb095bc235/Screen%20Shot%202020-09-15%20at%205.43.50%20PM.png" alt=""></p>
<ol start="3">
<li>복소수 표현하기 </li>
</ol>
<p><img src="https://images.velog.io/images/sunny_han/post/67815d6a-3db0-4e14-811a-06b8ba56a1ab/Screen%20Shot%202020-09-15%20at%205.03.58%20PM.png" alt=""></p>
<ol start="4">
<li><p>랜덤 노이즈(값) 생성하기 </p>
<p>rand(1,2) : 1 by 2의 0과 1사이의 랜덤한 값의 행렬을 생성
rand(5) : 5 by 5 의 0과 1사이의 랜덤한 값의 행렬을 생성</p>
<p>*정수로 이루어진 랜덤 행렬을 만들때는 rnad함수에 10을 곱한뒤 floor를 시켜준다.
*행렬을 plot시키면, 열벡터 별로 그래프를 그린다. </p>
</li>
</ol>
<p> <img src="https://images.velog.io/images/sunny_han/post/1c2b69cb-8e67-4f56-a4c3-cf3569f8fbdb/Screen%20Shot%202020-09-15%20at%205.08.12%20PM.png" alt=""></p>
<ol start="5">
<li><p>역행렬 만들기 </p>
<p>inv(A)</p>
</li>
</ol>
<p> *간단한 확인은 원행렬과 행렬곱을 시행했을 때 I가 나오는지 확인해 볼 수 있다. 
 <img src="https://images.velog.io/images/sunny_han/post/ad0dc12d-dd3b-470a-ae80-7119ddc11c4a/Screen%20Shot%202020-09-15%20at%205.12.54%20PM.png" alt=""></p>
<ol start="5">
<li><p>전치행렬 생성 
<img src="https://images.velog.io/images/sunny_han/post/df6ce96f-f1b8-46c6-9f3d-5954ec913968/Screen%20Shot%202020-09-15%20at%205.17.06%20PM.png" alt=""></p>
</li>
<li><p>다양한 수식함수 
log(x)</p>
</li>
</ol>
<p>✔️ <strong>매틀랩에서의 수학연산 작성</strong></p>
<p><img src="https://images.velog.io/images/sunny_han/post/e0286e1f-fd63-4603-b7fb-e8c232a5bc32/Screen%20Shot%202020-09-15%20at%205.46.48%20PM.png" alt=""></p>
<p><img src="https://images.velog.io/images/sunny_han/post/e03ae86a-81e7-4da9-8c84-eae5b47694ad/Screen%20Shot%202020-09-15%20at%205.48.25%20PM.png" alt=""></p>
<p>*cos, cosd 구분하기 
*log = ln </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[기본 정렬 알고리즘 - 버블정렬 ]]></title>
            <link>https://velog.io/@sunny_han/%EA%B8%B0%EB%B3%B8-%EC%A0%95%EB%A0%AC-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%B2%84%EB%B8%94%EC%A0%95%EB%A0%AC</link>
            <guid>https://velog.io/@sunny_han/%EA%B8%B0%EB%B3%B8-%EC%A0%95%EB%A0%AC-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%B2%84%EB%B8%94%EC%A0%95%EB%A0%AC</guid>
            <pubDate>Wed, 15 Jul 2020 13:14:28 GMT</pubDate>
            <description><![CDATA[<p><a href="https://visualgo.net/en/sorting">https://visualgo.net/en/sorting</a></p>
<p>정렬 알고리즘은 말 그대로 특정 규칙으로 정렬을 해주는 알고리즘이다.</p>
<p>정렬하고자하는 데이터들이 숫자(자연수)라면, 두가지 방법으로 정렬이 가능할 것이다. </p>
<p>&quot;오름차순&quot; : 1, 2, 3, 4, 5 ,..., n</p>
<p>&quot;내림차순&quot; : n, ..., 5, 4, 3, 2, 1</p>
<p>먼저 오름차순으로 정렬하는 알고리즘을 생각해보자. </p>
<p>가장 단순하게 생각해 볼 수 있는 방법은 주어진 데이터가 배열으로 저장되어 있다고 생각할때, 왼쪽부터 두개의 값들을 골라서 1:1로 비교하면서, 제일 큰값을 오른쪽으로 보내는 방법이다.</p>
<p>그리고 다시 처음으로 돌아가 반복한다. 이때 중요한 점은 한번 배열끝까지 돌았을때, 주어진 배열에서 가장 큰 숫자는 이미 맨끝에 위치해있다는 사실이다. 즉 배열전체를 돌때마다 돌아야하는 범위가 오른쪽부터 1씩 줄어들어야 한다. </p>
<p>C로 구현</p>
<p>파이썬으로 구현 및 테스트</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[알고리즘이란 ]]></title>
            <link>https://velog.io/@sunny_han/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9D%B4%EB%9E%80</link>
            <guid>https://velog.io/@sunny_han/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9D%B4%EB%9E%80</guid>
            <pubDate>Wed, 15 Jul 2020 12:52:10 GMT</pubDate>
            <description><![CDATA[<p>알고리즘이란 </p>
<p>기본 정렬 알고리즘
고급 정렬 알고리즘 </p>
]]></description>
        </item>
    </channel>
</rss>