【问题标题】:grid stack of characteristic curves(lines)特征曲线(线)的网格堆叠
【发布时间】:2012-07-13 22:16:36
【问题描述】:

我希望能够在特征曲线(线)上模拟双曲方程。我将从一个基本的开始。 u_{t}+2u_{x}=u^{2},初始数据为 u(x,0)=cos(x)。解为 u(x,t)=cos(x-2t)/(1-t*cos(x-2t)),其中特征曲线为 x=2*t+x_{0}。所以解决方案是根据特征(特征方法)定义的。

x=zeros(10,5);
u=zeros(10,5);
x0=linspace(0,10,10);
t=linspace(0,5,5);
for i=1:length(x0)
    for j=1:length(t)
        x(i,j)=2*t(j)+x0(i);
        if t(j)*cos(x(i,j)-2*t(j))==1
            u(i,j)=0;
        else
            u(i,j)=cos(x(i,j)-2*t(j))/(1-t(j)*cos(x(i,j)-2*t(j)));
        end
    end
end
mesh(u)

显然,特征线网格和矩形网格不适合。如何根据特征绘制解决方案?

【问题讨论】:

    标签: matlab math pde


    【解决方案1】:

    首先,由于这条线,您没有矩形网格

    x(i,j)=2*t(j)+x0(i);
    

    我不完全确定你在问什么。我的印象是您可能想要在不规则网格x 上绘制u 的表面。如果情况确实如此,您可能会发现以下类似使您能够做您需要的事情 - 尽管看起来您确实需要对您的代码进行一些调整。

    http://blogs.mathworks.com/videos/2007/11/02/advanced-matlab-surface-plot-of-nonuniform-data/

    或者,您可以重新设计您的代码,使x 生成一个矩形网格 - 我不能肯定地说,因为您可能只考虑这些特定点是有原因的。

    如果你没有得到更好的答案,上面的链接可以让你得到你想要的(假设我正确理解了你的问题)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多