반응형

매트랩 17

[매트랩] 논리 인덱싱(logical indexing)

#매트랩 ​ v = [-1 2 3 -4 5 -6 -7 -8 9 10 -11 12 -13 14 -15 16 -17 18 19 20] 이라는 배열에서 양수 요소만 추출하는 방법은 일반적인 프로그래밍 언어에서 반복문과 조건문으로 수행된다 v = [-1 2 3 -4 5 -6 -7 -8 9 10 -11 12 -13 14 -15 16 -17 18 19 20]; w = []; j = 0; for i = 1:length(v) if v(i) > 0 j = j+1; w(j) = v(i); i = i+1; end end 매트랩에서는 논리 인덱싱이라는 기능을 사용해 더욱 간단하게 코드를 작성할 수 있다. v = [-1 2 3 -4 5 -6 -7 -8 9 10 -11 12 -13 14 -15 16 -17 18 19 20]; w..

개발/매트랩 2023.12.29

[매트랩] anovan, fitlm, response surface

※ 통계분석과 관련된 내용을 다루고 있다 ※ 매트랩에서 Statistis and Machine Learning Toolbox 애드온을 설치해야 오늘 다룰 함수들을 사용할 수 있다. ​​ ​ 1. anovan anovan : 다양한 factor들에 대한 분산분석을 시행하는 함수. p-value를 output으로 가지며 F-value, SS 등을 테이블로 보여준다​ ​ Data = [ [550 604] [669 650] [633 601] [642 635] [1037 1052] [749 868] ... [1075 1063] [729 860] ]; ALevels = [[-1 -1] [1 1] [-1 -1] [1 1] [-1 -1] [1 1] [-1 -1] [1 1]]; BLevels = [[-1 -1] [-1 ..

개발/매트랩 2023.12.10

[매트랩] 행렬을 열벡터로 변환, 난수 생성

#매트랩 ​ 1. 행렬을 열벡터로 변환 M(:) 명령으로 변환 ​ 이때 M(:) 명령 후에도 M은 행렬이 유지된다. ​ ​ ​ 2. 난수 발생 함수 여러가지 난수 발생함수가 있다. 이때 rand의 범위는 0과 1 사이이고 randn의 범위는 -inf ~ inf 이다. randn를 가우시안 난수(Gaussian Random numbers)라 하며 N(0,1)을 따르는 난수이다. ​ ​ ​ ​ ​ 원하는 정규분포를 따르는 난수를 발생시키는 방법 ​ x = 표준편차 * randn + 평균 ​

개발/매트랩 2022.12.26

[매트랩] 기본 내장 함수 : 연산, 반올림, 이산수학, 정렬 함수

#매트랩 ​ 1. 기본 수학 함수 ​ abs, sqrt, nthroot(실수 제곱근), sign(부호 판별), rem(x를 y로 나눈 나머지), exp, log(자연로그), log10(상용로그) ​ ​ 이밖에 sin, cos, sinh, cosh 등 여러 내장 함수가 있다. 삼각함수의 역함수의 경우 앞에 arc의 약자인 a를 사용. ex) asin(-1) = -1.5708 ​ ​ ​ 2. 근사 함수 (Rounding Functions) 반올림, 가까운 정수 등에 사용됨 ​ ​ ​ 3. 이산수학 (Discrete Mathematics) ​ ​ ​ 4. 정렬 함수 sort : 오름차순 정렬이 기본. 'descend' 속성 추가시 내림차순. sortrows(x,n) : n번째 열의 원소를 기준으로 행 전체를 ..

개발/매트랩 2022.12.23

[매트랩] 변수 및 데이터를 외부 파일로 저장하기 / 불러오기

#매트랩 ​ 1. 변수 및 데이터를 외부 파일로 저장하기 save => 파일이름.mat 생성되며 불러올 시 변수가 workspace(작업 공간)에 load된다. ​ 이때 파일이름 지정해주지 않고 save 만 입력하고 생성할 수가 있는데 이때는 matlab.mat이라고 자동생성된다. 파일이름.dat로 저장할 수도 있다. ​ 특정 변수만을 저장할 수도 있다. save ​ ​ ​ ​ ​ 2. 변수 및 데이터를 외부에서 불러오기 ​ load => 파일이름.mat 을 불러와 작업공간에 변수를 load한다. ​ 이때 파일이름을 지정해주지 않고 load만 입력하면 matlab.mat를 불러온다. .mat이 아닌 경우 확장자까지 직접 써주어야 한다. 이때 엑셀, 스프레드시트 및 다른 프로그램의 데이터도 가능하다. ​ ..

개발/매트랩 2022.12.22

[매트랩] 일정한 간격으로 벡터 생성하기, 소수점 표시 조정하기

#매트랩 ​ 1. 일정한 간격으로 벡터 생성하기 a = 1:2:10 b = 1:10 ​ > 결과 a = [1 3 5 7 9] b = [1 2 3 4 5 6 7 8 9 10] ​ ​ a = 시작점 : 간격 : 최종값 을 적으면 시작점부터 최종값까지 설정한 간격만큼 띄어서 행렬이 생성된다. b = 시작점 : 최종값 을 적으면 자동으로 간격이 1로 설정됨. ​ a = [1:2:10] b = [1:10] ​ 도 동일한 결과. ​ > 보통 x나 t domain을 생성하기 위해 사용 ​ ​ linspace와 logspace와 사용하는 파라미터의 순서가 조금 다르다. ​ 둘은 '함수'이기 때문에 괄호()를 사용하고 linspace(시작점, 최종값, 원소의 개수) logspace(시작점, 최종값, 원소의 개수) 형식으..

개발/매트랩 2022.12.20

[매트랩] fzero 로 비선형 함수의 근 구하기

#매트랩 ​ fzero 함수 기본 구문은 다음과 같습니다. ​ (1) x = fzero(fun,x0) (2) x = fzero(fun,x0,options) ​ ​ (1) x = fzero(fun,x0)은 fun(x) = 0인 x 점을 구하는 구문입니다. ​ 이 해는 fun(x)의 부호가 바뀌는 곳에 있습니다. fzero는 x^2과 같은 함수의 근을 구할 수 없습니다. 즉 sin(x)-1 의 근도 구할 수가 없습니다. ​ 예시구문은 다음과 같습니다 ​ >> fun = @(x)sin(x)-3*x^2; >> x0 = -1; x = -4.3457e-17 >> x0 = 3; >> x = fzero(fun, x0) x = 0.3274 fzero 함수는 기본적으로 초깃값 x0에서 가까운 해를 구하기 때문에 해가 여러..

개발/매트랩 2022.05.27
반응형