지식나눔

matlab으로 moving boundary조건을 갖는 편미방을 풀수없나요?

안녕하세요? matlab잘아시는 분께 질문드립니다. matlab으로 편미분방정식을 풀려고하는데요. z=f(x,t) matlab에서 지원되는 pdepe함수를 사용하고있습니다만, pdepe를 쓸때 경계조건(bc)이 보통 상수로 정해져 있는 예제가 많습니다만, 만약, 경계조건 예를 들면, x=0,과 x=b이고, b가 상수가 아니라, 시간에 따라 변하는 경우, pdepe를 사용할 수 없는지요? 만약 그렇다면 어떤방법을 사용해야하는지 알고싶습니다. matlab 고수분의 조언을 부탁드립니다. 감사합니다.
  • matlab
  • moving boundary
  • PDE
지식의 출발은 질문, 모든 지식의 완성은 답변! 
각 분야 한인연구자와 현업 전문가분들의 답변을 기다립니다.
답변 1
  • 답변

    Taehee Jeong님의 답변

    matlab의 pdepe 함수로 경계조건이 고정되지 않고, 변화하는 경우에도 문제를 풀수는 있습니다. 그렇지만, 간단하지는 않습니다. 질문에서 언급한 대로, 대부분의 책이나 논문에서 논하는 것은 경계조건이 고정된 경우입니다. 이 경우에는 계산하기가 쉽기 때문입니다. 그리고 이러한 경우에는 closed form의 analytical solution을 쉽게 얻을 수도 있습니다. 그렇지만, 경계 조건이 변화하는 경우에는 그리 간단하지 않습니다. 그렇지만, 방법은 여러가지 있을 수 있습니다. 예를 들어, for loop를 써서 변화하는 경계 조건에 따라서 pdepe를 사용할 수 있습니다. 또다른 방법은 matlab에서 for loop에 상응하는 것을 matrix로 해서 풀수 있고, 이 경우 계산이 휠씬 빨라집니다. 이러한 것을 이용해도 됩니다. 답변이 도움이 되셔기를 바랍니다. 구체적으로 어떻게 matlab에서 code를 작성할 까 하는 것은 혼자서 고민해 봐야 합니다. 이런 것이 보통 연구 테마 중 일부가 됩니다.
    matlab의 pdepe 함수로 경계조건이 고정되지 않고, 변화하는 경우에도 문제를 풀수는 있습니다. 그렇지만, 간단하지는 않습니다. 질문에서 언급한 대로, 대부분의 책이나 논문에서 논하는 것은 경계조건이 고정된 경우입니다. 이 경우에는 계산하기가 쉽기 때문입니다. 그리고 이러한 경우에는 closed form의 analytical solution을 쉽게 얻을 수도 있습니다. 그렇지만, 경계 조건이 변화하는 경우에는 그리 간단하지 않습니다. 그렇지만, 방법은 여러가지 있을 수 있습니다. 예를 들어, for loop를 써서 변화하는 경계 조건에 따라서 pdepe를 사용할 수 있습니다. 또다른 방법은 matlab에서 for loop에 상응하는 것을 matrix로 해서 풀수 있고, 이 경우 계산이 휠씬 빨라집니다. 이러한 것을 이용해도 됩니다. 답변이 도움이 되셔기를 바랍니다. 구체적으로 어떻게 matlab에서 code를 작성할 까 하는 것은 혼자서 고민해 봐야 합니다. 이런 것이 보통 연구 테마 중 일부가 됩니다.
    등록된 댓글이 없습니다.