본문 바로가기

matlab214

MATLAB 기하 분포(geometric distribution) 랜덤 변수 생성 아래 포스팅에서 포아송 분포에 대해서 CDF(Cumulative Distribution Function) 를 사용하여 랜덤 변수를 생성하는 방법에 대해서 소개를 했었습니다. https://iamaman.tistory.com/206 오늘은 어떤 분이 기하분포는 어떻게 생성을 하는지 문의를 하셔서 기하분포 CDF(Cumulative Distribution Function) 를 사용하여 랜덤변수를 생성하는 방법에 대해서 소개해 보려고 합니다. 기하분포의 정의에 대해서는 아래 주소를 참조하시기 바랍니다. https://en.wikipedia.org/wiki/Geometric_distribution 기하분포는 첫 번째 성공까지의 시도 횟수를 모델링 할때는 아래와 같이 정의됩니다. k 는 1 부터 시작하는 것을 확.. 2020. 4. 12.
R을 이용한 퀀트 투자 포트폴리오 만들기, R 프로그램 공부 시작하기 제 블로그를 보신분들은 아시겠지만 저는 알고리즘이 자동으로 투자를 해 준다는 상품들에 굉장히 관심이 많습니다. 아래 포스팅에서 소개를 했었던 불리오에 투자를 하고 있고 요즘 TV에서 광고를 하고 있는 AIM 도 경험 삼아서 해보고 있습니다. https://iamaman.tistory.com/2071 제가 개인적으로 이런 서비스를 이용하는 이유는 일단 개인적으로 투자에 대한 호기심이 굉장히 커서 일단 새로운 것들은 한 번씩 과감하게 해 보는 편입니다. 두번째로는 아직까지도 포트폴리오에 대한 저 나름의 가치 판단 기준이 없기 때문입니다. 각각의 상황에서 해당 상품들의 투자 알고리즘들이 포트폴리오를 어떻게 구성하는지를 엿보다 보면 조금 더 거시적인 경제적인 흐름에 대한 힌트를 얻게 되는 것 같습니다. 예를 들.. 2020. 1. 21.
MATLAB 입사 반사파 그리기 애니메이션 animatedline, drawnow 아주 예전에 아래 포스팅에서 MATLAB 에서 movie, getframe 등을 사용하여 움직이는 그래프를 그리는 방법에 대해서 소개를 한 적이 있습니다. https://iamaman.tistory.com/27 그런데 최근에 입사파 반사파 그리는 방법에 대해서 질문이 있어서 애니메이션 그래프를 그리는 방법에 대해서 다시 한번 찾아 보게 되었습니다. 위 포스팅이 2010년도에 쓴 글이라… 매트랩 몇 버전인지 기억도 안 하네요. 찾아보니 최근에는 animatedline 을 사용해서 그릴수 있는 것 같더군요. h = animatedline; 라고 하는 애니메이션 선 핸들을 하나 만들어 주고~ addpoints() 함수를 사용하여 점들을 추가 해 주거나 clearpoints() 함수를 사용하여 해당 핸들의 점들.. 2019. 10. 22.
네이버 지식iN 포인트로 감사 받았어요~ 아래 포스팅에서도 소개를 했었지만 저는 꽤 오랜 기간 동안… 대략 한 10년도 넘게 ㅋㅋㅋㅋ 네이버 지식인에서 답변을 하고 있습니다. 물론 생업에 치여서 꾸준히 못하는 경우도 많았지만 생각날 때마다 들어가서 답변을 해 보고 있습니다. 제가 관심 있는 MATLAB, 프로그램, 수학 등등에 대한 답변을 주로 하고 있고 답변을 할 때는 그래도 성심 성의껏 하려고 노력하는 편입니다. https://iamaman.tistory.com/2860 위 포스팅을 보니까 그때 당시에는 지존이었는데 지금은 초인 등급입니다. 이제 다음 단계는 식물신으로 넘어가게 되고~ 드디어 저도 신계에 입성을 하게 되네요. 그런데 신계에 입성을 하는 것은 조금 오래 걸릴 것 같습니다. 네이버 지식인 활동을 정말 잘하시는 분들은 정말 빠르게.. 2019. 10. 14.
MATLAB cell 중복 제거 및 중복 내용 확인하기 저는 MATLAB을 비롯하여 다양한 컴퓨터 언어들을 사용하는 것을 좋아하는데 ~ 최근에는 회사에서 실험 데이터를 다루는 과정에서 파이썬을 많이 사용하고 있고 그 중에서 많은 분들이 아실 만한 pandas 라이브러리를 사용하고 있습니다 . 파이썬은 공짜이기도 하지만 pandas 를 비롯한 정말 좋은 라이브러리들이 많아서 앞으로도 꾸준히 사용하게 될 것 같습니다. 실험 데이터들은 많은 경우 엑셀이나 csv 파일 형태로 저장을 하게 되는데, MATLAB에서 xlsread, csvread 와 같은 함수를 통해 이런 데이터들을 불러오게 되고 MATLAB cell 타입에 대해서 다루어야 되는 경우가 종종 있습니다. 셀 타입으로 된 데이터 중 중복되는 내용을 제거하거나~ 유일한 데이터만 추려해야 되는 경우가 종종 발.. 2019. 10. 13.
MATLAB 주기함수 만드는 방법 사인 코사인을 비롯해서 많은 주기 함수들이 있고 가끔씩은 MATLAB 을 사용하여 사용자 지정 주기 함수를 만들어야 되는 경우도 있습니다. 이러한 경우 주기를 만들기 위해서 MATLAB 함수중 나머지를 계산하는 mod(), rem() 과 같은 함수를 사용하게 되는데~ 둘 다 나머지를 계산하는 함수이지만 음수에 있어서 약간 계산이 다르게 됩니다. 다음 예를 보면 차이점을 정확히 알 수 있는데~ mod() 함수는 modulo 연산을 하기 때문에 음수 부분에서도 주기적으로 나오는 반면에 rem() 함수는 플러스 방향끼리 그리고 마이너스 방향 끼리만 주기적인 것을 확인할 수 있습니다. f = @(t) mod(t, 4);figurefplot(f, [-10 10])title('mod')figuref2 = @(t) .. 2019. 10. 10.
OCTAVE Command Line argument 사용 방법 회사에서 사용하는 제 컴퓨터에는 MATLAB 이 설치가 되어 있지만, MATLAB이 설치가 안 된 PC에서는 OCTAVE 를 주로 사용하고 있습니다. OCTAVE 는 MATLAB 과 거의 유사한 문법을 사용하고 있어서 MATLAB 에서 사용하던 코드의 대부분을 재사용 할 수 있습니다. 저는 최근에는 주로 실험 데이터에 대해 분석하는 용도로 MATLAB, OCTAVE 를 사용하고 있고 데이터는 장비에서 주로 CSV 파일 형태로 로깅을 하고 있습니다. CSV 형태로 로깅된 파일을 분석하기 위해서는 OCTAVE 에 해당 csv 파일의 경로를 알려줘야 합니다. 그래야 읽을 수 있을 테니까요~ 매번 경로를 m 파일에 적어 주는 것도 가능 하지만 파일을 매번 열어서 적는것도 굉장히 귀찮은 일인 것 같습니다. 이럴 .. 2019. 8. 3.
MATLAB brush 데이터 가져오기 최근에 매트랩 브러시 기능을 자주 사용하고 있습니다. 그래프를 그리고 유효한 데이터를 선택하기 위해서 아래 포스팅에서 소개를 했었던 브러시, 데이터 커서 기능을 굉장히 많이 사용하고 있고 브러시 된 데이터들을 변수를 저장하여 MATLAB 워크스페이스에서 가공을 하고 유효한 데이터들을 얻는 작업들을 수행하곤 합니다. https://iamaman.tistory.com/2830 위 포스팅에서 브러쉬 된 데이터들을 “변수 만들기” 를 통해서 변수로 저장할 수 있다는 것을 소개한 적이 있었는데~ MATLAB 에서는 조금 더 다양한 방법으로 brush 된 데이터들에 접근할 수 있었습니다. 일단 아래와 같이 그래프를 하나 그리고~ brush on 을 해 줍니다~ x=1:10 p = plot(x) brush on Fi.. 2019. 6. 7.
MATLAB 그래프 사이 공간 색칠하기 fill, patch, area MATLAB 을 사용하여 알고리즘을 개발하고 분석하면서 MATLAB 의 다양한 그래프 기능을 사용하실 것이라고 생각합니다. 10 년도 전에 MATLAB 을 학부 시절에 접하고, MATLAB 의 그래프 기능들이 정말 유용하다는 생각을 했던 기억이 있습니다. 오늘은 MATLAB 을 사용하여 그래프의 영역을 나타내는 방법에 대해서 조금 소개를 하려 합니다. 예를 들어 아래 두 그래프로 둘러싸인 영역을 표시하고 싶을 때 MATLAB으로 어떻게 표현해야 되는지에 대해서 소개를 하려 합니다. y = x+3 y = 2*x-6 위 두개의 그래프로 둘러싸인 영역을 표시하는 간단한 코드는 아래와 같습니다. 아래 코드에서 설명할 부분은 x_, y_ 를 설정하는 부분과 fill() 이라는 함수에 대한 부분이 될 거 같은데~ .. 2019. 4. 30.
MATLAB 그래프 내에 그래프 넣기 이 포스팅을 보시는 분들이라면 다들 아시겠지만 MATLAB 의 그래픽 표현 능력은 정말 뛰어난 편입니다. 신호 처리를 비롯해서 많은 분야에서 그래프를 사용하고 있고~ 그런 의미에서 MATLAB 은 정말 큰 장점이 있는 툴 인 것 같습니다. MATLAB 에서 하나의 Figure 창에 다양한 그래프를 나타내기 위해서 아래 포스팅에서 소개했던~ subplot 과 같은 함수를 사용하곤 하는데~ https://iamaman.tistory.com/101 오늘은 axis 를 사용하여 그래프 안에 조그맣게 또 다른 그래프를 그리는 방법에 대해서 소개를 하려 합니다. 샘플 코드는 아래와 같습니다. 그래프 안에 조그만 또 다른 그래프를 그리기 위해서~ axes() 함수를 사용하여 작은 그래프가 들어갈 위치를 잡아주고~ 바.. 2019. 4. 13.
네이버 지식인 초인 등극 아래 포스팅에서 네이버 지식인 활동 증명서에 대해서 소개를 드린 적이 있었고~ https://iamaman.tistory.com/2860 최근에 해피빈 콩을 받는데 맛이 들려서~ 한동안 나름 열심히 지식인에 답변을 단 거 같습니다. 저는 주로 MATLAB 관련된 질문에 대해서 답변을 하고 있고 가끔씩 파이썬이나 수학, 미적분, 회로, Autohotkey 등에 대해서도 답변을 하고 있습니다. 그래도 조금 열심히 하다 보니 이번에 지존에서 초인으로 등업이 됐네요. 기념으로 남겨 놓습니다~ 지식인 등급은 아래와 같이 정말 많은데 초인 이후에는 신으로 분류가 되더군요. 지금은 인간계에 있지만 앞으로 신계로 등업할 걸 생각하니 더 열심히 답변을 해 봐야 되겠다는 생각이 듭니다. 물론 지식인 답변은 저 개인적으로 .. 2019. 4. 10.
Circuit Simulator 를 사용하여 회로의 합성 저항 구하는 방법 전자과 학생들은 전공과목으로 회로이론이나 전자회로 과목들을 정말 많이 들으실테고 이런 과목을 공부하다 보면 당연히 직렬 또는 병렬 연결된 저항값을 계산하는 문제를 자주 접하게 됩니다. 테브난 회로, 노턴 회로를 비롯해서 다양한 문제에서 합성 저항값을 계산하게 되는데~ 오늘은 Circuit Simulator 를 사용하여 합성저항을 굉장히 쉽게 알아내는 방법에 대해서 소개하려 합니다. Circuit Simulator 에 대해서 궁금하신 분들은 아래 포스팅을 참조하시기 바랍니다. https://iamaman.tistory.com/2626 또한 Circuit Simulator 와 비슷한 오픈소스 설치형 Circuit simulation 프로그램인 Qucs(Quite Universal Circuit Simulat.. 2019. 4. 7.
네이버 지식iN 활동증명서~ 한동안 지식인 답변 하는 것을 조금 쉬고 있다가 최근에 다시 지식인에 관심을 갖게 되었습니다. 저는 지식인에 주로 질문을 하기 보다는 답변을 해 주고 있고, 제 블로그를 보신 분들은 아시겠지만 MATLAB 이나 그 외 프로그램 관련된 질문에 대해서 답변을 해 주고 있습니다. 최근에 다시 지식인 활동을 하면서 지식인 페이지를 조금 보다 보니 지식인 활동증명서라는게 있더군요. 무슨 내용이 들어 있는 건가 해서 클릭을 한번 해보니 아래와 같이 지식인에서 답변하고 있는 활동에 대해서 네이버에서 증명서를 주는 것이더군요. 저는 지금 네이버 지식인 지존 등급인데 활동 증명서를 보니 2005년 1월 2일부터 시작을 했다고 나와 있었습니다. 2005년이면 벌써 14년 전이니 정말 오래되긴 했네요. 그동안 꾸준히 지식인.. 2019. 4. 1.
MATLAB 스트럭처 정렬 방법 MATLAB 을 사용하다 보면 struct 타입을 종종 사용하곤 합니다. 그리고 struct 타입을 모아서 배열로도 사용하곤 하는데 MATLAB 기본 함수중에 struct 타입 배열을 정렬하는 기능의 함수는 없는것 같더군요. 그냥 만들어 사용해도 되겠지만 검색을 조금 해보니 비슷한 코드를 발견했고 해당 코드를 정리해서 아래와 같은 함수로 만들었습니다. 이제 함수를 만들었으니 한번 사용해 보죠. a = struct('id',1, 'data', [1:10])b = struct('id',2, 'data', [2:11])beforeVec= [b a]; % 두 struct 를 사용하여 배열로 만듬sortedVec = struct_sort_by_field(beforeVec,1,1); % 첫번째 field 의 첫번째.. 2019. 3. 27.
MATLAB 브러시, 데이터 커서 기능을 사용하여 데이터 가공하기 많은 분들이 MATLAB을 사용하여 데이터 처리를 할 것이라고 생각을 합니다. 사실 MATLAB을 사용할 수 있는 분야는 너무나 무궁무진해서 저도 다 알지는 못 하고 저는 회사에서 신호 처리를 하고 있는데 데이터를 가공하기 위해서 MATLAB 을 주로 사용하는 편입니다. 아래 포스팅에서 소개를 했었지만 매트랩 그래프를 보면서 데이터를 선택하고 값을 읽고 텍스트를 입력하거나 다양한 효과를 줄 수가 있습니다. https://iamaman.tistory.com/204 오늘은 그 중에서 데이터 커서를 사용하여 그래프에서 값을 읽거나 브러시 기능을 사용하여 많은 데이터들을 선택하는 방법에 대해서 살펴보려 합니다. 다음과 같은 코드를 준비하고 그래프를 하나 드려 보겠습니다. x=[ones(1,100)*2 ones(.. 2019. 3. 4.
MATLAB 필터 pass band 게인 normalization 방법 MATLAB 을 사용하여 신호 처리를 하다 보면 필터를 설계하는 경우가 있고 필터의 게인을 조절해야 되는 경우가 있습니다. 보통 디지털 필터 설계를 할 때는 pass band 의 게인을 1 (0 dB) 로 맞춰 주게 되는데 오늘은 이 방법에 대해서 소개를 하려 합니다. MATLAB 을 사용하여 필터 설계하고 코드를 생성하거나 모델을 만들때는 fdatool (Filter Design & Analysis Tool) 을 주로 사용하게 되고 필터를 확인하고 싶을때는 fvtool(Filter Visualization Tool) 을 주로 사용합니다. FIR 필터 계수가 CoeffV 인 경우 MATLAB 명령창에 fvtool(CoeffV,1) 라고 명령하면 아래와 같은 Filter Visualization Tool .. 2019. 2. 1.
MATLAB 을 사용하여 원의 방정식에 대해 Gradient Descent 방법 적용 실험 아래 포스팅에 가우스-뉴턴 방법을 사용하여 원의 방정식의 파라미터들을 찾는 실험을 수행한 적이 있었습니다. https://iamaman.tistory.com/2759 가우스-뉴턴 방법을 적용한 결과 수렴이 되긴 하지만 초기값 설정에 따라 발산하는 경우가 너무나 많은 걸 확인 할 수 있었습니다. 그래서 이번에는 같은 문제에 대해 Gradient Descent 방법을 적용해 보았습니다. Gradient Descent 방법 적용을 위한 수식은 위 주소의 포스팅과 아래 포스팅을 참조하시기 바라고 원의 방정식에 대한 MATLAB 코드 역시 마찮가지로 위 주소의 포스팅을 참조하시기 바랍니다. https://iamaman.tistory.com/2760?category=422993 원의 방정식에 대해 Gradient .. 2019. 1. 31.
병렬 저항 계산 MATLAB 코드 예전에 학부생 때는 회로이론 과목을 굉장히 좋아했던 기억이 있는데 오랜만에 저항을 보니 적응이 잘 안되더군요. 역시나 간단한 것이라고 해도 배운 것들은 그때그때 기록을 해놓는게 좋은것 같습니다.오늘 기록하려고 하는 내용은 병렬저항 계산 공식인데 아시는 바와 같이 저항은 직렬 연결 됐을 경우에는 그냥 더하면 되고 병렬로 연결된 경우 아래와 같이 계산이 됩니다.R1, R2 병렬 연결R1, R2, R3 병렬 연결R1, R2, R3, R4 병렬 연결R1, R2, R3, R4, R5 병렬 연결MATLAB 에서 병렬 저항을 조금더 편리하게 계산하기 위해 병렬 저항을 계산하는 MATLAB 코드를 작성했고 아래와 같습니다. 임의의 숫자의 아규먼트에 대해서 처리하기 위하여 아래의 포스팅에서 소개를 했던 varargin .. 2019. 1. 6.
Octave symbolic package 사용 회사에서 사용하는 MATLAB에 설치된 툴박스를 확인해 보니 Symbolic Math Toolbox 가 없어서 이에 대한 대체 프로그램으로 octave 를 사용하게 되었습니다. 물론 아래 포스팅에서 얘기했던 Python 의 sympy 와 같은 라이브러리를 사용해도 됩니다. http://iamaman.tistory.com/1460 octave 는 아래 주소에서 다운로드 가능합니다. 사용하시는 운영체제에 맞는 설치 파일을 다운로드 해서 설치하시면 되겠습니다. https://www.gnu.org/software/octave/download.html octave command window 에서 아래와 같이 타이핑 하면 symbolic package 가 설치 됩니다. pkg install -forge symbol.. 2019. 1. 4.
MATLAB 을 사용하여 원의 방정식에 대해 가우스-뉴턴 방법 적용 실험 최근에 개인적인 필요에 의해 nonlinear regression 을 접하고 있는데 아래 포스팅을 보면서 개념을 잡아가고 있습니다. http://darkpgmr.tistory.com/58 nonlinear regression 알고리즘 중 유명한 것이 Levenberg-Marquardt 라고 하는데 Levenberg-Marquardt 알고리즘은 gradient descent 와 Gauss–Newton 방법이 합쳐진 형태라고 하더군요. 그래서 일단 gradient descent 는 아니까 Gauss–Newton 방법이 무엇인지에 대해 공부를 하기 위해 검색을 하던 중 위 블로그를 발견하게 되었고 백문이 불여일타라고 일단 코딩해 봐야 이해가 되니까 위 포스팅에서 맨 아래 있던 예제를 MATLAB 으로 돌려 봤.. 2019. 1. 3.
MATLAB si-prefix string 표현 MATLAB 의 format 명령을 사용하면 명령 창의 출력 표시 형식을 rat, hex, short, long 등으로 변경할 수 있습니다. 공학을 하다보면 숫자를 표현할때 단위에 따라 kilo, giga, mega 등과 같은 단위를 사용하곤 하고 이런 형식으로 바꾸기 위한 방법을 찾아보니 아래 주소에서 괜찮은 코드를 발견해서 소개합니다. https://kr.mathworks.com/matlabcentral/fileexchange/53886-scientific-prefix-to-number 위 주소에서 다운로드 버튼을 누르면 num2sci.zip 파일을 다운로드 할 수 있고~ num2sci.zip 파일을 압축 해제 한 후에 해당 폴더를 path 에 추가하면 MATLAB 의 아무 디렉토리에서나 사용할 수 .. 2018. 12. 29.
MATLAB DC 제거 디지털 필터 신호 처리 업무를 하면서 가끔씩은 디지털 필터가 필요한 경우가 있습니다. 저도 최근에 DC 성분을 제거하는 DC 제거 필터가 필요해서 검색을 해보니 아래 주소에서 굉장히 좋은 글을 발견할 수 있었습니다. DC 제거 필터 관련 읽어볼만한 글 https://www.embedded.com/design/configurable-systems/4007653/DSP-Tricks-DC-Removal 위 링크의 글에서 확인할 수 있는 바와 같이 가장 기본적인 DC 제거 필터의 시간 도메인 수식은 아래와 같습니다. DC 제거 필터 수식 x[n] - x[n-1] = y[n] – a* y[n-1], a < 0 2018. 12. 19.
Simulink subsystem의 종류와 공부 방법 Simulink 를 사용하다보면 다양한 subsystem 을 사용하게 되고 이에 대해 공부하고 싶다면 메뉴얼 또는 demo 파일들을 확인하는 것이 좋습니다. 이를 위해 MATLAB 에는 명령어를 제공해 주는데 MATLAB command line 에 sl_subsys_semantics 이라고 명령하면 아래와 같은 Subsystem Semantics Simulink 창을 확인 할 수 있습니다. Simulink Library Browser 에서 subsystem 으로 검색을 해서 "Subsystem Examples" 라고 되어 있는 라이브러리를 확인해도 됩니다. Simulink 에는 아래와 같이 9 개의 subsystem 이 있는 것을 확인 할 수 있고 내역은 아래와 같습니다. lf and switch-cas.. 2018. 12. 18.
MATLAB Simulink 시작하기 요즘 자동차 분야에서 제어기를 설계할때 MATLAB 의 Simulink 제품을 많이들 사용합니다. 제어기 사양서는 state machine 으로 구성되기 때문에 주로 Stateflow 를 사용하여 설계되고 Embedded Coder 등을 사용하면 시뮬레이션 후에 코드 생성까지 되기 때문에 기존에 시뮬레이션 후 C 코드를 다시 작성하고 하는 번거로움을 줄일 수 있습니다. 저도 회사에서 과제를 하면서 MATLAB 으로 알고리즘 시뮬레이션을 하고 Embedded Coder 를 사용하여 C 코드를 생성해서 사용한 경험이 있고~ 나름 신뢰할만한 코드가 나와서 편리하다는 생각을 많이 합니다. 그래서 일단 오늘은 Simulink 를 시작하는 방법에 대해 소개하려 합니다. 1. Simulink 실행 Simulink 를.. 2018. 11. 16.
MATLAB recursive 경로 문자열 생성 genpath MATLAB 에 경로를 추가하기 위해서는 주로 addpath 함수를 사용하거나 아니면 pathtool 을 사용합니다. pathtool 에서 아래 그림과 같이 하위폴더와 함께 추가하기를 통해 특정 폴더와 그 하위 폴더 모두를 path 로 추가 할 수 있습니다. 그런데 pathtool 이 아닌 명령어를 통해 하위 폴더와 함께 추가하기를 하는 방법도 있습니다. 이런 경우에는 addpath 라는 명령어를 사용하는데 addpath() 함수의 사용방법은 그냥 아래와 같이 해 주시면 되서 사실 설명할게 없습니다. addpath(‘폴더 경로’) 하위 폴더와 함께 추가하기를 하기 위해서는 당연히 하위 경로를 알아야 하고 ~ 특정 폴더에 대한 하위 폴더를 알기 위해서는 genpath 라는 명령어를 사용 할 수 있습니다. .. 2018. 10. 15.
Circuit Simulation 프로그램 Circuit Simulator 아래 포스팅에서 Simscape 를 사용한 정말 정말 간단한 회로시뮬레이션을 소개를 했었는데~ 아시는 바와 같이 MATLAB 제품은 매우 고가의 툴입니다. 그래서 회로 시뮬레이션을 할 수 있는 오픈소스 또는 프리웨어 툴은 없을까 해서 검색을 해보니 Circuit Simulator 가 검색이 되더군요.http://iamaman.tistory.com/2619 학부생때 회로이론 등을 공부하면서 PSpice 와 같은 프로그램을 사용했던 기억이 있는데~ PC 를 사용하여 간단한 회로 실험을 해 보고 싶은 분들을 위해 소개해 보려 합니다. Circuit Simulator 는 웹 기반의 프로그램이고 아래 주소에서 프로그램을 사용할 수 있습니다. http://www.falstad.com/circuit/ 전압 전원, 저.. 2018. 10. 14.
MATLAB Simscape 로 간단하게 회로 구성해보기 회사에서 MATLAB 을 사용하는데 ver 명령어를 통해 어떤 툴박스가 설치되어 있는지 확인해 보니~ Simscape 툴박스가 설치되어 있더군요. Simscape 와 함께 Simscape Electronics, Simscape Power Systems 도 함께 깔려 있던데 저는 정확히 어떤 차이인지는 잘 모르겠더군요. 어쨌든 학부때 회로이론, 전자회로와 같은 과목을 좋아했던 지라 기왕 깔려 있는거 Simscape 를 한번 사용해 보고 싶다는 생각이 들어서 아래 메뉴얼을 조금 들여다 보고 Simscape 블록으로 아주 간단한 RC 회로를 구성해 봤습니다. https://kr.mathworks.com/help/physmod/simscape/gs/essential-steps-for-constructing-a-.. 2018. 10. 10.
MATLAB Editor Publish 할때 주의 할 점 MATLAB 에디터에서 코드를 작성하고 해당 코드에 대해서 문서를 생성할때 MATLAB 에디터의 퍼블리시 기능을 사용하곤 합니다. MATLAB 퍼블리시에서는 코드에 대해서 html, xml, latex, doc, ppt, pdf 등으로 문서를 생성해 줍니다. 퍼블리시 창에서 작업 폴더나 몇몇 옵션 등을 변경해 줄 수 있지만 사용 방법은 그냥 버튼 하나만 누르면 되기 때문에 뭐 그리 설명할게 없을 것 같습니다. MATLAB Command Window 에서 문서를 생성하기 위해서는 아래와 같이 publish 명령어를 사용하면 됩니다. 첫 번째 인자로 파일명을 넣어 주고 두 번째 인자로 생성 하고자 하는 문서의 형태를 넣어주면 됩니다. publish(‘publishTest.m’, ’doc’); 그런데 이렇게 .. 2018. 10. 5.
MATLAB 에서 C/C++ 컴파일러 TDM-GCC 설치 예전에는 Visual Studio Express 를 설치해서 MATLAB 에 필요한 C/C++ 컴파일러를 설치 했었지만 최근에는 Mingw 를 설치하면 되더군요. 아래 주소에서 Add-On 을 통해 MinGW-w64 Compiler 설치하는 방법을 소개 했었는데~ http://iamaman.tistory.com/1664 현재 회사 컴퓨터의 MATLAB 라이센스 Software Maintenance 가 유지되고 있지 않아서 Add-On 에서 TDM-GCC 설치를 할수 없게 막아 놨더군요. 아래 주소에서 TDM-GCC 를 설치했고 path 환경변수도 분명 등록을 했는데 MATLAB 에서 mex -setup 이 안 먹어서 어케 하나 하다가~ http://tdm-gcc.tdragon.net/download 아래.. 2018. 9. 12.
MATLAB 공부 자료 많은 공학도 분들이 MATLAB 의 사용법에 대해서 공부하실 거라고 생각합니다. MATLAB 은 아시는 바와 같이 매우 비싼 툴이고 업데이트를 위한 라이센스 유지비용 역시도 1년에 20~30 % 정도를 내는 걸로 알고 있습니다. 저는 학교에서 MATLAB 수업 과목의 조교를 했었고~ 이런 경험을 바탕으로 MATLAB 사용 방법을 소개하기 위해서 본 블로그를 만들었습니다. 개인적으로도 회사에서 MATLAB 을 사용한 업무를 하지만, 일반적으로 학생들이 학교에서 배우는 MATLAB 을 사용한 알고리즘 개발까지는 사실 MATLAB을 사용할 필요가 없다고 생각합니다. 제 블로그에서 소개했었던 Python, Scilab, Octave 를 비롯해서 매틀랩을 대신하여 알고리즘을 개발해 볼 수 있는 오픈소스 또는 프리.. 2018. 7. 18.