12월, 2018의 게시물 표시

010 if문 내에서의 any 와all 명령어의 사용

if문 내에서의 any 와all 명령어의 사용 지금 올리는 이 포스트 들은 내가 공부하는 것들중 대표적인 것을 제외하고 내가 사용할 때 유용한 것들을 정리하면서 올리는 것이다. 이번에는 if 문 내에서의 all 과 any의 사용의 유용성에 대한것이다. 하지만 이것을 쉽게 생각하면 all 은 모든 이럴때 실행해라! (do something) any 는 어떤 하나가 있으면 실행하여라 하는 의미를 부여한다. 사용의 예시를 들면 ex1) if all (a<0) end 벡터 a의 원소들이 모두 0보다 작을 경우에 이것을 실행하여라. ex2) if any (a<0) end 벡터 a의 원소들중에 한개라도 0보다 작은 경우가 있으면 이것을 실행하여라. 다음과 같이 사용할 수 있다. 이것은 생각보다 유용하게 사용하였다. if 문을 사용하면서 쓰이는 명령어를 언급하여 보면 else elseif end 등이 있다.

009 MATLAB 명령어 2

MATLAB 명령어 2 realmax : 사용자 컴퓨터에서 가장 큰 양의 실수 realmin : 사용자 컴퓨터에서 가장 작은 양의 실수 rem(x,y) : x를 y로 나누었을 때의 나머지 값. 예를 들어서 rem(19, 5)은 4가 된다. # tip  이 명령어는 단위변환을 할 때 유용하게 사용되는 명령어 이다.  round(x) : x에 가장 가까운 정수로 반올림 한다. sec(x) : x secant값 sign(x) : x가 음수, 0 양수 인지에 따라서 -1, 0 또는 1 이 된다. sin(x) sinh(x) size(a) : 행렬 a의 행과 열의 수 sort(x) :오름차순으로 벡터 x의 원소를 정렬시킨다. sqrt(x) : x의 제곱근, 음수 또는 복소수도 처리한다. sum(x) : 벡터 x 원소들의 합. tan(x) : x의 tangent값. tanh(x) tic, toc : 두 함수 사이의 프로그램 코드가 실행된 시간을 표시한다.

008 MATLAB 명령어 1

MATLAB 명령어 01   # 조금 어려운 부분에서만 설명을 추가하였다. 그렇게 어렵지 않으므로 충분히 알 수 있을 것이다. abs(x)   :x의 절대값 acos(x) :inverse hyper sine 값. acosh(x) asin(x) asinh(x) atan(x) :-pi/2~pi/2 사이의 값을 갖는 x의 arc sine 값. atan2(y,x) :-pi ~pi 사이의 값을 갖는 y/x의 arc tangent값. # 항상 인자의 순서를 조심해야 한다는 것을 명심하자!!! 잘 돌아가지 않을 경우에는 인자의 순서가 잘 못 되지 않았는지도 확인하는 것도 좋을 것이다. atanh(x) ceil(x) : x 를 초과하는 가장 작은 정수 항상 양의 방향으로 올림을 한다. clock :6벡터 인자로 표시되는 시간과 날짜. cos(x) cosh(x) cot(x) csc(x) cumsum(x) : x 인자의 누적합. 예를 들어서 cumsum(1:4) 은 [1 3 6 10]가 된다. exp(x) : expotential 함수 fix(x) : 0을 향하여 가장 가까운 정수로 반올림. floor(x) : x 를 초과하지 않는 가장 큰 정수. 항상 음의 방향으로 내림한다. length(x) : 벡터 x의 원소의 수 log(x) : x 의 자연로그 값 log10(x) : x 의 상용로그 값 max(x) : 벡터 x의 가장 큰 원소 mean(x) : 벡터 x 원소들의 평균값 min(x) : 벡터 x 에서 가장 작은 원소 pow2(x) : 2^x prod(x) : 벡터 x 원소들의 곱 rand : 구간 0~1 에서 난수를 형성 진정한 난수라기 보다는 가상의 난...

007 MATLAB을 이용한 전기장 구하기

이미지
M ATLAB을 이용한 전기장 구하기 Q 양성자의 위치 (-0.02, -0.02) 전자의 위치 (0.02, -0.02) Y 가 0 으로 일정할 때 x 가 -0.05 에서 0.05 까지 사이의 전기장을 구하고 그래프로 그려라 . Editor x=linspace(-0.05,0.05,100); y=linspace(0,0,100); x1=-0.02; y1=-0.02; x2=0.02; y2=-0.02; ec=8.8541878*10^-12; q=12*10^-9; r1=(((x1-x).^2)+((y1-y).^2)).^0.5; r2=(((x2-x).^2)+((y2-y).^2)).^0.5; E1=q./((4*pi*ec).*(r1.^2)); E2=-q./((4*pi*ec).*(r2.^2)); E=E1-E2; plot(x,E) xLabel( 'x의 위치' ) yLabel( 'E의 크기' ) title( '위치에 따른 전기장의 크기' ) grid  on command window

006 MATLAB 작업 directory 만들기

 MATLAB 작업 directory 만들기 matlab을 공부하다 보면 .m파일이 점점 쌓여 간다. 그리고 우리가 저장을 하는 경우에 아무데나 저장되거나 우리가 원하는 곳에 저장되지 않는 경우가 있다. 이런경우에 이것을 해결하는 명령어가 있다. 명령어는 다음과 같다. >> mkdir mytools >> cd mytools 다음을 사용하면 자신의 작업 디렉토리를 만들 수 있다.

005 MATLAB OS 실행하기

MATLAB OS 실행하기 Matlab에서는 느낌표를 이용하서 os명령어를 바로 실행시킬 수 있다. 예를 들어, Matlab실행중에 갑자기 시스템 시간을 리셋해야 할 필요가 생겼다고 가정하자. 여러분은 명령창에서 다음명령어를 사용하녀 현재의 시스템 시간을 알아보고 또 새로 입력시킬 수 있다.  (다음의 경우는 window의 경우에 명령어가 실행 된다.)  !time 이것은 Matlab을 종료하지 않고 시스템 명령을 수행할 수 있게 하는 유용한 기능이다.

004 MATLAB 첨자의 규칙

MATLAB 첨자의 규칙 전에 우리는 변수의 규칙을 언급하였다. 이번에는 첨자의 규칙을 한 번 알아보고 지나가고자 한다.  규칙의 중요성은 전에 언급하였으므로 이번에는 규칙만을 언급하고 빠르게 지나가도록 하겠다. 규칙 1. 첨자는 둥근 괄호 안에 표시된다. 2. 첨자는 스칼라 또는 벡터이다. 3. matlab의 첨자는 항상 1에서 시작한다. 4. 첨자는 반드시 양의 정수이어야 한다. 한 번 쯤 확인하고 넘어갈 필요가 있는 듯하다. 

003 MATLAB 변수의 규칙

MATLAB 변수의 규칙 우리는 흔하게 MATLAB의 변수를 아무렇게나 설정한다.  이것은 처음 간단한 프로그래밍을 하기에는 별 무리가 없다. 하지만 점점 복잡해지면서 변수를 체계적으로 사용하면 더 쉽게 프로그래밍을 할 수 있다는 것을 알 수 있다. 그래서 matlab에서 인식하는 변수의 규칙을 간단하게 언급하고 넘어간다. 규칙 1. a 에서 z 까지의 문자 0에서 9 까지의 숫자 그리고 언더바(_)로만 구성되어야 한다. (tip. 보통 언더바를 사용하여 변수를 많이 설정한다.) 2. 반드시 문자로 시작하여야 한다. * 대소 문자는 구별되므로 주의 하야 한다.(case_sensitive)

002 MATLAB으로 마방진을 풀어보자

MATLAB으로 마방진을 풀어보자 마방진이라고 하면 '뿌리깊은 나무' 가 생각이 난다 '이도' 가 마방진을 푸는모습  MATLAB을 이용하여 마방진을 풀어보자 생각보다 매우 간단하고 그리고 쉽다. 하지만 이연산자를 알고 있다면 쉽게 풀수 있지만 만약 마방진을 푸는 연산자를 모른다면 그연산자가 작용하는 대로 우리가 꾸며서 만드는 방법뿐이다. 일단 matlab에 저장되어 있는 마방진을 푸는 연산자는 바로 magic 이다. 이것을 이용하면 아주 쉽게 마방진의 답을 알아 낼 수 있다.  하지만 마방진의 답은 한가지만이 아니란것을 주의 해야 할 듯 하다. 모든 경우의 수의 마방진을 구해주는 프로그래밍을 도전하려 하였지만............ 생각보다 매우 복잡하다.

001 Matlab 기본연산자

001 기본 연산자 sqrt        % : 루트를 이렇게 사용할 수 있다. 기본적으로 쉽게 ^(1/2)이런 식으로 사용하거나 ^(0.5)식으로 사용할 수도 있으나 sqrt 연산자를 사용할 경우에 더쉬운점도 있다는 사실을 염두해 두자. clc  % : window command 창을 하얗게 초기화 시킬 수 있는 명령어 이다. 처음 matlab을 실행 시키게 되면 무언가 복잡해지는데 초심의 마음을 가지고 싶을 때 종종 사용한다. 그것과 마찬가지로 사용되는 연산자로는 정의 된연산자를 모두 초기화 시켜주는 ( clear all )이라는 연산자를 사용하기도 한다. linspace % : 이것을 어떤 x 값을 주고 싶을 때 어디서 어느 간격을 얼마만큼의 갯수로 나누어 줄것인가 하는 연산자이다. 이것은 두개의 매트릭스의 크기를 맞추어줄때 유용하게 사용될 수 있다. 이것과 비슷하게 사용되는 연산자로 로그 스케일로 나누어주는 logspace라는 연산자도 있으며, 같은 역할을 해주는 a:b:c 라는 것과 같은 역할 이다. a:b:c이것은 a부터 c까지 b의 간격으로 나누겠다라는 뜻을 의미한다. p.s. 처음 이므로 일단 간단하게 matlab에 필요했던것을 나열했다. 생각보다 알고 있지만 쓰지 못하는 연산자들이 많고 그리고 알면 쉬운 연산자들이 굉장히 많다. p.s. 또한 버전에 따라서 연산자가 정의 되어있는 경우도 있고 아닌경우도 있으므로 이왕이면 최신판을 이용하는 것이 나은듯 하다.

007 고기 (meat) 첫번째

이미지
고기 (meat) 고기!!! 회식을 하거나 집에서 외식을 하거나 캠핑을 갈때 어디에든 빠지지 않는 고기 항상 진리이며 맛있는 고오기~~ 돼지 고오기 소 고오기~ 닭 고오기 ~ 오리 고오기 ~ 고기의 종류에 따라서 그에 맛는 풍미가 있다. 어떤 고기가 맛있다는 말 보다는 맛있는 고기가 맛있다. ㅎㅎ 그럼 맛있는 고기를 먹으려면  고기에 대한 공부를 하면  맛있는 고기를 먹을 확률이 올라가는 것은 인지 상정 고기에 대한 비밀과 고기에 대한 생각을 한번 적어보려 한다. (왼쪽부터 순서대로 소고기, 돼지고기, 닭고기) 첫번째 궁금증 왜 닭, 돼지, 소 고기의 색은 다른 색을 띠고 있을까? 송아지 고기는 소고기에 비교하여 상대적으로 분홍색을 띠고 있을까? 고기의 붉은색을 좌우하는것은 근섬유이다. 동물들은 기본적으로 두가지 방식으로 운동한다. 순간 가속을 할 때 사용하는 근육과 지속적인 움직임을 할때 사용 하는 근육이 있다. 단거리 선수가 사용하는 근육과 장거리 마라톤 선수가 사용하는 근육이 다른것과 같다 좀 더 이해를 돕기 위한 예시를 생각해 보면 다리로 체중을 지탱할 때 서있을 때 사용하는  근육은 지속적인 움직임을 만드는 근육이다. 지속적인 움직임을 만드는 만드는 근육도 두 가지로 나눌 수 있다. 고기의 부위로 생각해 보면  닭의 가슴살은 흰색 섬유이고, 다른 하는 소 다리의 붉은색 섬유다. 이 두가지를 구분하는 방법은 각 세포에 에너지를 공급하는 방법이다. 흰색 근섬유는 글리코겐을 태우기 위해서 산소를 사용 한다. 특히, 산소가 공급되지 않아도 에너지를 생성할 수 있는데 산소가 없이 에너지를 형성한 경우 근섬유 내에 젖산이라는 노폐물을 만든다. 이 젖산은 추가적으로 산소가 공급되기 전까지 세포에 축적되며 세포의 에너지 생성을 저하시킨다. ...

006 무염 버터와 가염 버터

이미지
무염 버터와 가염 버터 일단 버터를 어떻게 만드는지 이해하고 소금의 역할을 아는것이 순서일 듯 하다 우유안에는 지방의 방울이 방울방을 존재하고 표면에는 카세인이 결합하여 지방방울을 보호하고 있다. 카세인이 보호하고 있는 지방 방울은 외부의 힘이 가해지지 않으면 지방 방울 끼리의 서로 결합하거나 분리되지 않는다. 균질 우유를 만들기 위해서 좁은 관을 통해서 우유를 통과 시키면 좁은 관에서 발생하는 외압이 지방 방울을 작게 만들어주어 작은 지방 방울을 만들어 준다. # 좁은 관에서 발생하는 힘은 관이 가늘어가 흐름의 속도가 느리면  색소의 흐름이 가는 선을 이루면서 똑바로 흐르고,  관이 굵거나 흐름의 속도가 빠르면 색소의 흐름이 입구를 지나면서  진동하고 굵기도 증가하여 마침내 관 전체로 퍼지는 사실을 관찰했다. 버터를 만드는 과정을 이와 반대의 과정이다. 먼저 지방 비율이 36 %에서 44 %가 되어야 한다. 파스퇴르처리를 하는데섭씨 85도의 고온에서 하게 되며, 이때 우유의 익한 맛과 커스터드 향이 난다. 파스퇴르 처리가 된 크림에 배양 버터를 만들기 위해 젖산균을 넣어준다. 그다음 섭씨 5도까지 식힌 다음 8시간 동안 숙성을 하는데  이렇게 하면 유지방의 절반 정도가 고형의 결정을 형성한다. 이 결정의 수와 크기는 완성된 버터의 질감은 물론  얼마나 빨리 또 얼마나 완전하게 유지방이 분리되는지에 결정적인 영향을 미친다. 적당히 숙성된 크림을 몇도 정도 데운뒤 젓는다. 숙성하는 동안 지방 방울 막을 비틀거나 약화해 쉽게 파열되게 만든다.  손상된 지방 방울이 서로 충돌할 때 액상의 지방이 흘러나와  연속적인 덩어리를 이루며, 젓는 동안 그 크기가 계속 커진다. 버터의 덩어리가 밀알 만한 크기로 만...

크로스 드로잉 (스프레드 기법)

이미지
크로스 드로잉 (The Cross Drowing) 이것은 가장 유명한 카드 점이다. 이 카드 점의 목적은 확실한 질문에대한 대답을 구하는 것이다. 예를 들면, 사랑, 직업, 돈이나 건강과 같은문제에 대해 질문을 할 수 있다. 22개의 메이저 알카나 카드를 섞은 후 컷하고 4개의 카드를 뽑은 후 30페이지에 나온 대로 배열한다. 1. 첫 번째 카드는 여러분 자신과 여러분이 던진 질문에 대한 자신의 감정을 보여주는 것이다. 2. 두 번째 카드는 질문을 던진 사람에게 불리한 요소를 보여준다(즉, 피해야 할 사항을 보여준다) 3. 세 번째 카드는 장차 일어날 일과 그 일이 일어나는 과정에서 여러분이 취해야 할 태도를 보여주는 것이다. 4. 네 번째 카드는 여러분이 한 행동의 결과와 질문에 대한 대답을 보여준다. “합”(synthesis)이라고 불리우는 다섯 번째 카드가 있는 데 이것이 그 상황에 대한 주요 열쇠가 될 수도 있다. 어느 것이 합인지를 알아보려면 여러분이 뽑은 카드 상의 가치를 다 더하면 된다. 22보다 큰 숫자가 나오면 한자리 숫자로 만들어야 한다. 예시는 다음과 같다: 만약 첫 번째 카드가 우자이면, 가치는 0이된다 만약 두 번째 카드가 매달린 사람이면, 가치는 12가 된다 만약 세 번째 카드가 별이라면, 가치는 17이 된다 만약 네 번째 카드가 악마라면, 가치는 15가 된다 이 때 0+12+17+15=44가 되므로 다시 4+4=8이 된다. 이 때, 8이라는 숫자가 “정의”와 맞아 떨어지므로 이것이 여러분의 5번째 카드가 되는 것이다. 만약 카드의 가치를 다 더했을 때 총 합산이 정확히 22로 떨어지면 그건 다시 “우자” 카드가 되는 셈이다. 만약 하나나 또는 몇 개의 카드에 대해 확실하게 결정하지 못했다면 하나의 마이너 알카나 카드를 그런 카드 위에 각각 놓는다. 그런 후 마이너 알카나 카드를...