본문 바로가기

기초강의

matlab(매틀랩) programing 강의 180418 2015b 버전 기준 figure창을 띄웠을 때axis([x1 x2 y1 y2]) -> 해당 구간을 표에서 확대 ---------------------------------------------------------복소수를 이용하여 그래프 그리기 z=0.1+0.9i;n=0:0.01:10;plot(z.^n),xlabel('Real'),ylabel('Imaginary') plot((0.2+0.9i).^(0:0.1:50)) ---------------------------------------------------------fplot의 이용 방법들 fplot(@(x)3*x.^5+2*x^ ~ , [ ]);fplot(' 수학식 ' , [ ] ); -------------------------------------..
matlab(매틀랩) programing 강의 180416 2015b 버전 기준 함수를 설정하는데는 여러가지 방법이 있다. @를 이용하거나 inline을 이용하거나. 예를 통해 이해하자. 식을 쓸 땐 i,j는 쓰지말자 복소수 이용과 충돌한다. 스크립트로 작성 function y = fun1(x) y=x.^2-4; - 매틀랩 명령 창에서 시험 fun1(2) ans=0 - 이를 호출해 사용해 봄 [x, value] =fzero(@fun1, 2) ans=2 [x, value] =fzero(@fun1, -5) ans=-5 fplot(@fun1,[-5,5]) ----------------------------------------- inline으로 매틀랩 명령 창에서 계산 fun2=inline('x.^2-4'); >> fun2(4) ans = 12 fplot('x.^3-..
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([..