[MATLAB] 유용한 디폴트 default 속성 명령어 저장
·
프로그래밍 Programming/매트랩 MATLAB
그래프를 많이 그릴 일이 있을 때 쓰면 좋은 명령어들이다. 아래의 set( groot, ~)에서 groot 대신 0으로 지정해도 동일하다. 1. Plot의 line 두께 (오직 plot에만 적용된다. 즉, contour 같은 다른 그래프에서 적용 안됨) set( groot, 'defaultLineLineWidth', 1.5 ) ; % plot line 두께 지정 2. Grid on 을 default로 지정 set( groot, 'defaultAxesXGrid', 'on' ) ; % x축 방향으로 grid 생성 set( groot, 'defaultAxesYGrid', 'on' ) ; % y축 방향으로 grid 생성 3. 축에 있는 글씨 크기 지정 (title 포함) set( groot , 'defaultA..
[제어] Regulation problem과 Tracking problem
·
연구 Research/제어 Control
Linear quadratic regulator 라는 용어를 보다가 정리하는 글. 나중에 좀 더 자료를 보강할 필요가 있다. 1. Regulation problem 시스템의 초기 state와 external disturbance(외란)에 관계없이 0으로 수렴하도록 만들어야 하는 문제이다. reference signal이 0일 때, 초기 상태나 외란으로 인해 0에서 시작할 수 없어도 나중에는 0으로 수렴해야 한다. 2. Tracking problem Reference signal $r(t)$가 있을 때 그 $r(t)$와 출력 $y(t)$ 사이의 에러가 0이 되도록 만들어야 하는 문제이다. servo problem이라고도 한다. 두 문제가 같은 것처럼 보이지만 하나는 disturbance를 제거하는 문제이고..
[에러기록] TypeError: Input 'y' of 'Mul' Op has type float64 that does not match type float32 of argument 'x'.
·
프로그래밍 Programming/파이썬 Python
이 오류는 tensorflow에서 tensor 연산을 할 때 나올 수 있는 오류이다. tensorflow는 tensor를 정의할 때 float라고 해도 float32로 설정한다. 즉, 32비트 공간만 쓰겠다는 것이다. 그런데 numpy의 경우에는 float를 float64로 설정한다. 따라서 numpy로 만든 array를 tensor로 만든 다음에 내가 새로 정의한 tensor와 계산을 하려니 오류가 나는 것이었다. 해결방법 numpy array를 만들 때 array.astype(float32) # array는 배열 이름 이렇게 array의 타입을 바꿔주거나 tensor를 정의할 때 type을 float64로 하든, 데이터형을 맞춰주면 된다. float64가 용량을 더 많이 차지하는 것만 고려하면 될 듯..
[미분방정식] Boundary condition 종류
·
수학 Mathematics/미분방정식 Differential Equation
기계진동학에서 문제를 풀다보면 보통 미분방정식 형태로 많이 나온다. 이 미분방정식은 그냥 풀 수 있는 건 아니고 boundary condition이 주어져야 풀 수 있다. 대표적인 boundary condition 1) Dirichlet boundary condition boundary condition 중에 종속 변수의 0차 미분에 대한 condition이다. 예시를 보면서 이해해보자. Example) $u_{t t}-c^{2} u_{x x}=0$ for $0
[MATLAB] 3D plot을 그릴 때 주의할 점 : X,Y축 반전
·
프로그래밍 Programming/매트랩 MATLAB
MATLAB에서 3D plot을 그릴 때 주의할 점이 있다. MATLAB에서는 결과값이 행렬로 나올 때 plot을 하면 행(row)을 Y축으로 인식하고, 열(column)을 X축으로 인식한다. 그런데 이것은 우리의 직관과 다르다. 예를 들어 $f(x_{1},x_{2}) = (1-x_{1})^2+100(x_{2} - x_{1}^{2})^{2}$라는 함수가 있다고 하자. 내가 $(x_{1},x_{2})$ 값을 넣을 때 당연히 f라는 변수에 (1,1)항목은 $(x_{1}(1),x_{2}(1))$값을 넣는다. 여기서 $x_{1}(1)$은 $x_{1}$후보 중에 첫 번째 값을 넣는다는 뜻이다. (2,1)항목에는 $(x_{1}(2),x_{2}(1))$ 를 넣는다. 그런데 MATLAB의 변수에서 첫 번째 INDEX는..
[영어기사] Why I Was Fired by Google
·
영어 공부 English Study/글 Article
책 읽다가 레퍼런스로 나온 내용이라서 읽는 기사 https://www.wsj.com/articles/why-i-was-fired-by-google-1502481290 Why I Was Fired by Google James Damore says his good-faith effort to discuss differences between men and women in tech couldn’t be tolerated in the company’s “ideological echo chamber.” www.wsj.com 박스 안에 있는 글은 내가 글을 읽으면서 덧붙인 해석과 단어 풀이이다. I was fired by Google this past Monday for a document that I wrote ..
[MATLAB] 사용자 정의 함수 (로컬 함수, 중첩 함수, 익명 함수, 프라이빗 함수)
·
프로그래밍 Programming/매트랩 MATLAB
키워드 : 로컬 함수, 중첩 함수, 익명 함수, 프라이빗 함수 MATLAB에 기본적으로 만들어져있는 내장함수도 많지만 본인이 직접 원하는 함수가 필요할 때가 있다. 예를 들어 내가 아는 $f(x)=x^{3}+x^{2}+x+3$ function이 있을 때 이를 symbolic function으로 정의해서 대입하기 보다는 사용자 정의 함수를 만들어서 그 함수에 대입을 하고 return을 받는 것이 코드 속도가 훨씬 빠르기 때문이다. 사용자 정의 함수를 만드는 방법은 크게 1. .m 코드 내에서 function을 만드는 방법 2. function을 단독으로 하는 .m 코드를 만드는 방법 으로 분류할 수 있다. 1. 실행 코드 내에서 function을 만드는 방법 1번 방법 먼저 살펴보자. 1) 익명함수 간단한..
[LaTeX] 내가 정의한 함수를 사용할 때 (operatorname)
·
기타/논문작성 Writing
LaTeX에서는 기본적인 함수는 쓸 수 있는데 내가 만든 함수를 쓰고 싶을 때가 있다. 그럴 때는 아래처럼 사용한다. \operatorname{ReLU}(x) $\operatorname{ReLU}(x)$ mathrm을 써도 글씨체가 동일하게 나오기는 하는데 이렇게 operatorname으로 써줘야 함수에 들어가는 변수(x든 다른 문자든)에 대해서 쓰는 게 더 의도에 맞게 쓰는 것 같다. 아래 예시는 왼쪽이 함수를 쓴 것이고 오른쪽이 mathrm을 쓴 경우이다. $\sin x \quad \mathrm{sin} x$ $\operatorname{ReLU}x \quad \mathrm{ReLU}x$ $\sin x \quad \mathrm{sin} x$ $\operatorname{ReLU}x \quad \mathr..
[MATLAB] 그래프 제목에 LaTeX를 쓰고 싶을 때
·
프로그래밍 Programming/매트랩 MATLAB
MATLAB에서 그래프 제목을 명확하게 쓰는 것은 중요합니다. 나중에 그래프 저장하고 나서 제목을 제대로 안 쓰면 무슨 그래프였는지 까먹는 일이 다반사이기 때문입니다. 그런데 제목에 $\gamma$나 $\alpha$처럼 그리스 문자를 쓰고 싶거나 수식을 넣고 싶을 수 있습니다. 그럴 때는 title('$$\alpha = 0.2 $$','interpreter','latex') 이런 식으로 '$$'를 사용하면 됩니다. 또는 '$'를 사용합니다. 보통 latex에서 문장 내에서 수식삽입할 때는 '$'를 쓰고 equation을 따로 쓸 때는 '$$'를 쓰기 때문에 '$'를 쓰는 게 더 자연스러워 보이겠네요. 예제 코드 t = 1:0.01:10 ; alpha = 0.2; x = alpha * t.^2 ; figu..
[LaTeX] subfigure에서 캡션이 길 때 캡션 간격을 넓히는 방법
·
기타/논문작성 Writing
제목 그대로 figure 안에 subfigure를 여러 개 넣을 때 캡션이 길면 붙어있는 현상이 발견되어서 이를 해결하기 위해 방법을 찾았다. stackexchange에서 찾은 내용을 바탕으로 작성한다. 1. subcaption 패키지를 사용할 때 package{subcaption}을 쓰고 있었는데 캡션이 너무 길면 이렇게 찰싹 붙어있는 현상이 있었다. 그림의 크기를 줄여보라는 조언도 있었는데 내가 해본 결과 소용이 없었다. 그래서 subcaption 패키지의 captionsetup을 이용하는 방법이 있었다. \begin{figure*}[h!] \captionsetup[subfigure]{position=bottom} \subcaptionbox{Distribution of training data. Un..