본문 바로가기

공부/프로그래밍

matlab(매틀랩) programing 강의 180404 2015b 버전 기준 조건문, 반복문을 이용한 여러가지 경우를 보자 행렬의 원소들이 0보다 작으면 nan값 크면 log10을 씌우는 식 >> x=[10,1000,-20,100];>> y=NaN*x;>> for k = 1: length(x)if x(k)> y y = 1 3 NaN 2 -----------------------행렬의 원소가 0보다 크면 루트를 씌우고 아니면 50을 더한다. A=[0 -1 4;9 -14 25; -34 49 64] for i=1:3 for j = 1:3 if A(j,i)>=0 B(j,i)=sqrt(A(j,i)); else B(j,i)=A(j,i)+50; end end end ------------------------스크립트 이용 단순 n까지의 모든 홀수의 합 function A..
matlab(매틀랩) programing 강의 180402 2015 버전 기준 논리값을 이용한 여러가지 경우와 if문을 이용한 계산을 보자. if의 형식은 if 조건식 내용end 로 구성 여러가지 경우를 표현할 때는 if 조건식 내용elseif 조건식 내용else 내용end 반복문은 for를 사용한 것으로 for 1:10 내용end 로 1:10이라고 하면 1부터 10 열번 반복한다는 이야기이다.여기에 변수를 넣거나 해서 반복횟수를 사용자에게 정하게 할 수 있다. any(x) : x에 1이 하나라도 있다면 1 출력 >> x=[-3 0 0 2 6 8]>> y=[-5 -2 0 3 4 10]>> z=(x>y) z = 1 1 0 0 1 0 >> x(z) ans = -3 0 6 ---------------------------------------- >> x=[ 5 -3 ..
matlab(매틀랩) programing 강의 180328 @함수식 을 쓰는 것도 하나의 방법이다. >> fminbnd(@cos,0,4) 0부터 4까지 코사인 값이 최소를 갖는 값ans = 3.1416 >> [x y] = fminbnd(@cos,0,4)x = 3.1416 y = -1.0000 fplot(@함수, [구간]) : 구간에 해당하는 함수 그래프를 그린다. 구간이 없을시 디폴트 구간 [ -5 5 ]에 그린다. ----참거짓 논리 참 1 거짓 0 1>0 -> ans = 1 1보다 0이 크다는 수식을 입력하면 참이기 때문에 1이 출력된다. >> x=[ 3 6 9 ]>> y = [ 3 9 5 ]>> x(x> x(x>=y)ans = 3 9 >> x=-2:2; k=(abs(x)>1)k = 1 0 0 0 1 A = 8 9 1 9 6 5 -1 -1 10 >> eye(..
matlab(매틀랩) programing 강의 180326 2015b 버전 기준 fzero(변수) : f(x)=0인 점을 구하는 구문>> fzero(@cos,0) -> 근을 찾아줌ans = -1.5708 -->> A = randi(5,3,4)A = 5 5 2 5 5 4 3 1 1 1 5 5 >> sortrows(A,2)ans = 1 1 5 5 5 4 3 1 5 5 2 5 >> sortrows(A,-2) -> 2열을 기준으로 내림차순 정렬ans = 5 5 2 5 5 4 3 1 1 1 5 5 >> sortrows(A,[2 -3])ans = 1 1 5 5 5 4 3 1 5 5 2 5 복소수를 이용할 땐 복소수에 붙은 게 y축 상수가 x축에 들어가는 수식이라고 생각하면 간단하다.매틀랩에선 i나 j를 별다른 입력 없이 쓰면 복소수 취급한다. 1+j = √(2)*e(j*p..
matlab(매틀랩) programing 강의 181321 이 강의는 2015b버전을 기준으로 작성됨 sort에 대해서 배웠는데 관련 함수로 sortrows가 존재한다. >> A=randi(10,3,4)A = 9 10 3 10 10 7 6 2 2 1 10 10 >> sort(A)ans = 2 1 3 2 9 7 6 10 10 10 10 10 >> sort(A,1)ans = 2 1 3 2 9 7 6 10 10 10 10 10 >> sort(A,2)ans = 3 9 10 10 2 6 7 10 1 2 10 10 인데sortrows(A) 첫번째 열을 기준으로 행을 정렬한다. 이는 지정된 오름차순으로 정렬하고 나머지 열은 그 열이 바뀌는 것에 따라간다. 즉 특정 열을 기준으로 행을 정렬한다고 보면 된다. >> A=randi(10,3,4)A = 9 8 7 1 10 8 2 3..
matlab(매틀랩) programing 강의 180319 이 강의는 2015b 버전을 기초로 만들어짐 randi(a,m,n) 1부터 a까지 mxn개의 개수 랜덤 발생e) randi([-10 10],3,3) -10부터 10까지 사이의 개수에서 3x3 행렬 생성 지금부터 할 건 잘 숙지해두지 않으면 나중에 헷갈리거나 까먹을 수 있다. A = 10 9 5 2라 할 때 A를 한 열로 정리하고 싶으면>> A(:)ans = 10 5 9 2 A의 n번째 수와 m번째 수까지 표시 이를 보면 배열의 번호는1 32 4이렇게 매겨지는 것을 알 수 있다. >> A(2:3)ans = 5 9>> A(1:3)ans = 10 5 9 2열만 표시>> A(:,2)ans = 9 2 >> A(:,1:2) : A의 행은 관계없이 1부터 2열까지 표시ans = 10 9 5 2 >> B=randi([..
matlab(매틀랩) programing 강의 180314 이 강의는 2015b버전을 기초로 만들어짐 매틀랩으로 함수식 풀기 6x 12y 4z = 707x-2y 3z=52x 8y-9z = 64란 함수식이 있으면 a=[6,12,4;7,-2,3;2,8,-9];b=[70;5;64];solution=a\b라고 해주면 각 변수의 값이 나온다. disp(A) : A의 내용을 표시 매틀랩에서 작동하는 계산 스크립트 같은 경우에 쓰인다.e) disp('this is a text problem') x=input('Enter your number')input은 사용자가 변수를 입력하게 해준다.[ 3 5 4 ] 이런식으로 입력하면 배열로 입력이 가능하다. 어떤 물건을 위로 vo의 속도로 던졌을 때 떨어지는 시간을 t_drop이라 한다. g는 중력가속도v0=input('v0=');g..
matlab programing 강의 180312 해당 강의는 2015b 버전을 기초로 합니다. 0:10 length(ans) ans = 11 0:10은 0부터 10까지 1의 간격을 가진 배열을 생성ans는 가장 최근의 계산된 변수 값length(변수)는 해당 변수의 길이를 계산 A' 이라고 하고 숫자를 넣으면 열로 받는다. size(변수)는 벡터의 크기 행,열로 표시1 2 3 43 4 5 8>> size(ans)ans = 2 4 매틀랩의 인덱스는 1부터 시작 sin(30/180*pi) = sin(30도)asin(0.5) = 0.5236 ≒ 1/6*pi ans/pi*180ans = 30.0000 명령어cd - 해당 경로 배웠던 것을 이용해서 표 그리기 x=-2*pi:0.05:2*pi;y=sin(x);y2=sin(2*x);plot(x,y)title('si..