본문 바로가기

Cell9

MATLAB cell 중복 제거 및 중복 내용 확인하기 저는 MATLAB을 비롯하여 다양한 컴퓨터 언어들을 사용하는 것을 좋아하는데 ~ 최근에는 회사에서 실험 데이터를 다루는 과정에서 파이썬을 많이 사용하고 있고 그 중에서 많은 분들이 아실 만한 pandas 라이브러리를 사용하고 있습니다 . 파이썬은 공짜이기도 하지만 pandas 를 비롯한 정말 좋은 라이브러리들이 많아서 앞으로도 꾸준히 사용하게 될 것 같습니다. 실험 데이터들은 많은 경우 엑셀이나 csv 파일 형태로 저장을 하게 되는데, MATLAB에서 xlsread, csvread 와 같은 함수를 통해 이런 데이터들을 불러오게 되고 MATLAB cell 타입에 대해서 다루어야 되는 경우가 종종 있습니다. 셀 타입으로 된 데이터 중 중복되는 내용을 제거하거나~ 유일한 데이터만 추려해야 되는 경우가 종종 발.. 2019. 10. 13.
MATLAB zip() 함수를 사용하여 현재 폴더 하위의 내용들 압축하기 MATLAB 을 사용하여 압축을 하고 싶으면 zip() 이라는 함수를 사용 합니다. 현재 폴더의 하위 내용들을 압축하고 싶은 경우 보통은 현재 폴더를 압축하곤 하는데 이렇게 하려면 현재 폴더가 아닌곳에 zip 파일을 저장해야 합니다. 오늘은 현재 폴더 하위의 내용들을 압축하는 방법에 대해 소개하려 합니다. 현재 폴더의 내용을 검색하는 방법은 dir() 이라는 함수를 사용합니다. dir() 함수는 recursive 한 파일 검색은 되지 않습니다. recursive 한 파일 검색을 하고 싶다면 아래 포스팅을 참조하시면 됩니다. http://iamaman.tistory.com/757 아무튼 오늘은 그냥 현재 폴더에 대해서만 검색 할것이므로 dir() 함수를 사용합니다. 그런데 dir() 함수를 사용하여 현재 .. 2016. 10. 29.
MATLAB strjoin 함수를 사용한 string 붙이기 파이썬을 사용하다 보면 string 처리가 굉장히 편하다는 생각이 많이 했습니다. 배열의 각 인자들로 구성된 string 들을 하나로 합치거나 특정 delimiter 로 나누는 등의 일들이 너무나 간단하게 처리 되어서 좋다는 생각이 많이 했습니다. 오늘은 MATLAB 에서 string 을 붙이는 방법에 대해 알아보려 합니다. MATLAB 에서는 다음과 같은 경우 그냥 그냉 배열로 구성 하면 string 을 붙일 수 있습니다. a='abc' b='def' c=[a b] 다음과 같이 c 값은 a, b 값이 붙어서 나옵니다. c = abcdef 하지만 중간에 delimiter 를 넣고 싶은 경우에는 얘기가 좀 달라잡니다. 중간에 쉼표를 넣고 싶다면 다음과 같이 쉼표를 넣어 줘야 겠죠~ c=[a ', ' b] .. 2015. 10. 12.
MATLAB stateflow 현재 차트의 data 다 찾기 MATLAB 의 Stateflow 는 Stateflow API 를 활용하여 m 파일 명령어로 구성 및 조정이 가능 합니다. 때에 따라서는 일일이 사람이 Stateflow 를 그리는것 보다는 Stateflow API 를 활용하는것이 효율 적인 경우가 많이 있습니다. Stateflow API 를 활용하면 Python 과 같은 스크립트 언어등을 활용하여 Stateflow 를 그리는 Code generation 등도 가능 합니다. 오늘은 Stateflow 에서 사용중인 Data 를 다 찾는 방법에 대해 알아보려 합니다. Stateflow 에서 Data 를 다루기 위해서는 Stateflow.Data Object 를 다 찾으면 됩니다. Stateflow 에서 data 를 다 찾는 스크립트는 다음과 같습니다. 위 코.. 2015. 7. 16.
Scilab 강좌 cell() MATLAB 에서와 마찬가지로 Scilab 에서도 cell 타입을 지원 합니다. cell 타입은 특이하게도 모든 데이터 타입들을 다 저장 할 수 있는 데이터 타입입니다. MATLAB 에서는 아래 포스팅에서 소개한 적이 있습니다. Scilab 에서는 cell() 은 아래와 같이 m1,m2,….mn 의 다차원으로 정의 할 수 있습니다. c = cell(m1, m2, ..., mn) c = cell(3) 이라고 정의 하면 3 행 3열의 cell 을 정의합니다. 3 행 1열의 cell 을 정의하고 싶다면 c = cell(3,1) 이라고 정의 해야 합니다. cell 의 차원을 알기 위해서는 아래와 같이 dims를 사용하거나 size() 함수를 사용하는 방법이 있습니다. c.dims or size(c) dims 로.. 2014. 5. 23.
MATLAB function handle 추가 오늘의 포스팅에서는 function handle 사용법의 추가 적인 내용들에 대하여 정리하겠습니다. 여러 함수에 대해 똑 같은 값을 적용할 때에는 function handle 을 struct class 나 cell class 의 형태로 만들어서 이용할 수가 있습니다. 다음 수식에 대하여 struct 의 형태로 function handle 을 구성하고 그에 따른 값을 알아보죠. 다음과 같이 struct 의 형태로 표현 할 수 있고, x=-1:0.5:1 에 대한 각 수식의 값을 한번에 구할 수가 있습니다. struct 에 한번에 똑 같은 값 또는 함수 등을 적용 할 때는 structfun() 함수를 이용 합니다. 위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다. ans = f: [1 0.2500 0.. 2011. 4. 25.
MATLAB cell class MATLAB 에는 약간 독특한 cell 이라는 class 가 존재 합니다. cell class 는 타입을 안 가리고 다 저장 하거든요. 숫자 문자를 가리지 않고 하나의 변수로 관리 할 수 있습니다. struct class 처럼 field 로 구분하는 것도 아닌 게 한 변수에 막 집어 넣으니깐 처음에는 참 신기하더군요. perl 을 접하신 분은 '당연한 거 아냐?' 하실 지도 ….. 아무튼 이 cell 타입이라는 게 나중에는 참 쓸모가 많아 지니깐, 알아 두시면 도움이 됩니다. 아!! 여담으로 MATLAB 에서 perl script 도 실행이 가능 합니다. MATLAB 에서 perl() 함수를 찾아 보시길~ 이런 것도 되? 하면서 좋아하실 분들도 있을 거라 생각 됩니다. 아닌가? ㅡㅡ; cell class.. 2011. 4. 11.
MATLAB symbolic math 수식으로 함수 만들기 matlabFunction() 오늘 포스팅에서는 symbolic math 를 통해 계산한 수식에 대해 함수를 만드는 방법에 대해 설명 드리겠습니다. 일단 다음과 같이 수식을 정의 해 보죠. syms a b x f=a*x^2+x + 8 f = a*x^2 + x + 8 위 수식에서 a 값을 2*b 값으로 치환을 해보겠습니다. 치환 할 때는 subs() 함수를 이용합니다. f1=subs(f, a, 2*b) f1 = 2*b*x^2 + x + 8 그럼 이제 위 f1 식을 함수로 정의해 보겠습니다. symbolic 식을 함수로 표현 할 때는 matlabFunction() 이라는 함수를 사용합니다. hf1 = matlabFunction(f1) hf1 = @(b,x)x+b.*x.^2.*2.0+8.0 위와 같이 matlabFunction() 함수를 .. 2011. 4. 9.
Matlab Script coding tips, cell mode Matlab Editor 에서 스크립트 코딩시에 cell 모드 이용 방법에 대해 알아 본다. Cell mode 는 코드를 구분하여 실행시킬 때 쓸 수 있고, matlab 코드로부터 report 작성시에도 각 단락 등을 구분 시켜 주는 역할을 한다. 아래 보는 밑줄친 부분(%% + 기호)을 클릭하면 그 부분에 %% 기호가 나타나면서 가로줄이 그어 진다. 또는 단순히 %% 를 써도 되고 control+space 단축키나 cell 메뉴에 들어가서도 셀 설정을 할 수가 있다. 셀 모드에서 %% 원본 이라 되어 있는 셀에 커서를 놓은 후에 동그라미 친 부분(Evaluate cell) 을 누르면 해당 셀만 실행이 되고 위 코드의 경우엔 아래와 같은 그래프가 나온다. 그 아래 셀로 커서를 옮겨서 14 번째 줄에서 2.. 2011. 2. 23.