본문 바로가기
반응형

지식공학41

Matlab 1차 미분방정식 풀이 (문제와 코드 공개) Q 유량 A tank contains 400 gal of brine in which 100 lb of salt are dissolved. Fresh water runs into the tank at a rate of 2 gal/min. The mixture, kept practically uniform by stirring, runs out at the same rate. How much salt will there be in the tank at the end of 1 hour? Sol) 물탱크안에 100lb의 소금이 용해되어 있고 분당 2gal의 물이 유입되고 충분히 혼합되고 같은 유량이 빠져나간다. 분당 소금의 흐름을 y라고 하면 소금의 양은 시간에 따라 결정된다. $$y'(t) = 0 - \fra.. 2020. 11. 10.
2차 미분방정식(Second Order Linear ODEs) 이해 2차 미분방정식은 다양한 공학적 문제를 해결하는데 기본이 되는 식입니다. 쉬운 선형 2차 미분방정식부터 접근하겠습니다. $$y''+p(x)y'+q(x)y=r(x)$$에서 r(x)가 0이면 제차(Homogeneous), 0이 아니면 비제차(nonhomogeneous)이라고 합니다. 당연히 Homogenous가 풀이하는데 쉽겠죠? 선형 미분방정식을 풀이는 중첩의 원리 도는 선형성의 원리를 이용합니다. 어떤 구간에서 두 개 해의 선형 결합은 다시 그 구간에서 미분방정식의 해가 된다는 의미입니다. 즉, 해들의 합과 상수곱도 다시 해가 된다는 것입니다. 만약 재차 미분방정식의 해가 y1과 y2가 있다면 각각이 해가 되지만 중첩의 원리에 의해 $$y=c_{1}y_{1}+c_{2}y_{2}$$또한 근이 된다는 것입니.. 2020. 11. 9.
매트랩 방정식 풀기(미분, 적분) 안녕하세요 공학도 eric입니다. 이번에 알아볼 matlab 내용은 방정식의 해를 구하는 방법과 미분과 적분하는 방법입니다. 2차 방정식의 근을 구하기 위해서는 다들 근의 공식을 이용한다는 것을 알고 있을 것입니다. matlab에서는 수식을 입력하고 solve라는 명령어를 통해 해를 구할 수 있습니다. 그럼 수식을 입력하는 법과 근을 구하는 법 직접해보겠습니다. 일반 방정식의 해 구하기 $$x^2-5x+6=0$$위 식의 해는 인수분해 후 $$(x-2)(x-3)=0$$해는 2와 3이 됩니다. 이것을 매트랩에 넣어보겠습니다. >> syms x >> eqn = x^2-5*x+6==0; >> solve(eqn) ans = 2 3 >> 이번 포스트에서 다양한 함수를 표현할 때 사용했던 syms를 기용하면 됩니다... 2020. 11. 4.
1차 상미분방정식(First Oder Differential Equations) 이해 물리적 현상이나 다른 문제를 유도함으로써 상미분 방정식을 유도할 수 있습니다. 방정식을 수식으로 풀어내면 현상을 이해하는데 도움이 됩니다. 상미분 방정식 중 가장 간단한 방정식이 1차 상미분 방정식입니다. 독립변수(x) 하나로 인해 종속변수(y)가 변하므로 간단한 형태가 됩니다. 이러한 행위를 수학적 모델링이라고 합니다. 1차 상미분 방정식은 다음과 같은 형태입니다.$$y' = cos x\\y'=0.2y\\y' = f(x,y)$$미지의 함수 y와 도함수 y' 그리고 변수의 함수들로만 구성이 되어 있습니다. 식 (1)과 식 (2)는 도함수가 주어져 있고 미분방정식을 만족시키는 함수를 찾는 것이 해(Solution)를 구한다고 합니다. 보통 미분방정식의 해는 임의의 적분 상수(c)로 인해 정해져 있지 않습니.. 2020. 11. 4.
matlab 함수(포물선,원,타원,쌍곡선) 쉽게 그리기 feat.subplot 고등학생 때 배운 여러 함수를 쉽게 그리는 방법을 알아보겠습니다. 추가로 matlab에서 plot을 활용하여 다양한 그래프를 한 창에 그릴 수 있습니다. 먼저 포물선 입니다. 우리가 알고 있는 포물선은 이차방정식을 함수로 표현한 것입니다. 이를 매틀랩에서는 다음과 같이 표현할 수 있습니다. >> x = linspace(-50,50,100); >> a = 2; >> c = [0 0]; >> y = a*(x-c(1)).^2+c(2); >> plot(x,y) 하지만 syms라는 함수를 이용하면 좀 더 직관적으로 그래프를 그릴 수 있습니다. >> syms x y >> parabola = y==2*x^2 syms는 해당 문자를 변수로 선언하겠다는 것입니다. 위 코드는 parabola라는 함수에 y=2*x^2으로 .. 2020. 11. 3.
Python 독학 기본편 #11. Module 안녕하세요 이번에 배워 볼 파이썬 내용은 모듈(module)입니다. 모듈의 개념은 이전에 배운 클래스(Class)와 비슷하나 module이 약간 더 큰 개념입니다. 클래스의 경우, 본인지 작성한 파일 내에서 class로 함수를 묶어 자유롭게 호출하여 그 함수를 사용할 수 있었습니다. 하지만 모듈은 다른 파일에서 사용했던 함수를 내가 작성하고 있는 파일로 호출하여 사용할 수 있습니다. 아직은 초보자는 많은 함수를 사용하지 않지만 나중에 본인이 직접 작성한 함수의 크기 클 경우 파일을 따로 만들어 작성을 하고 간단하게 함수를 호출하여 사용할 수 있습니다. 그럼 모듈의 개념을 확실히 알기 위해 다음의 예시를 보도록 하겠습니다. 참고로 이번 예제는 저번 포스팅에서 알려준 대로 repl.it이라는 웹상에서 파이썬.. 2020. 11. 3.
Matlab 그래프 명령어 정리 (plot) 안녕하세요 공학도 Eric입니다. 공대뿐만 아니라 모든 학문에서 그래프를 잘 표시해야 합니다. 한눈에 들어오도록 잘 정리된 그래프는 누구나 이해하기 쉽게 만들어 주기 때문입니다. Matlab에서는 여러 명령어를 사용해서 그래프를 설정하도록 하는 명령어들이 많이 있습니다. 그중 가장 유용한 명령어를 설명하면서 정리했습니다. 잘 정리해 놓고 그래프 사용할 때마다 사용하면 될 듯합니다. x=-2*pi:pi/60:2*pi; # x값 설정 # theta = linspace(0,2*pi); # 값 설정 y1=sin(x); y2=cos(x); plot(x,y1,'linewidth',2,'color','r') #그래프 그리기 hold on # 창유지 grid on # 눈금그리기 xlabel('Time [T]','fon.. 2020. 11. 2.
설치가 필요없는 통합 개발 환경(repl.it) 소프트웨어 개발자들은 어떤 프로그램을 사용하는지 궁금해졌습니다. 그래서 조금 찾아 보았는데 2020년 3분기 개발자 현황 설문조사에 다음과 같은 결과가 나왔습니다. 가장 많이 사용 중인 자바스크립트는 1천만 명 이상 사용 중 이고 이어서 파이썬, 자바 순입니다. 장단점이 서로 다른 파이썬과 자바를 익혀두면 프로그램을 개발하는데 유용할 듯합니다. 프로그램을 배우는 입장에서 유용한 사이트 하나 알려드리겠습니다. 우리가 자바나 C, 파이썬을 배우기 위해서는 해당 프로그램을 본인 PC나 노트북에 설치하고 작업을 해야 했습니다. 하지만 알려드릴 사이트에서는 이러한 과정이 필요없이 웹에서 프로그램을 작성하고 실행하며 작업한 코드를 다운받는 등 직접 노트북을 들고 다니거나 지정된 PC에서만 코딩을 하지 않아도 됩니다.. 2020. 10. 29.
Python 독학 기본편 #10 에러처리 어려운 class를 넘어가서 오늘 배울 내용은 쉽습니다. 우리가 만든 코드에 에러가 발생하는 경우 어디서, 무엇 때문에 발생한 에러인지 확인을 할 수 있도록 에러를 색출하는 방법을 알아볼 것입니다. 이 라이브러리를 사용함으로써 장차 본인이 만든 앱에 완성도를 높일 수 있습니다. 그럼 시작하겠습니다. 잘 따라오세요. 나누기를 하는 계산기를 만들어 보겠습니다. 지금까지 배운 내용으로 충분히 작성할 수 있죠? 아직 익숙하지 않아 힘들다면 제가 쓴 코드를 해석할 수 있는 수준이도 괜찮습니다. print("나누기 전용 계산기입니다.") num1 = int(input("첫 번째 숫자를 입력하세요 : ")) num2 = int(input("두 번째 숫자를 입력하세요 : ")) print("{0} / {1} = {2}.. 2020. 10. 21.
반응형