全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
430 0
2024-05-15
利用R语言求解PDE中的热方程
heatfd <- function(xl, xr, yb, yt, M, N){
   f <- function(x) sin(2 * pi * x)^2
   l <- function(t) 0 * t
   r <- function(t) 0 * t
   D <- 1
   h <- (xr - xl)/M
   k <- (yt - yb)/N
   m <- M - 1
   n <- N
   sigma <- D * k/(h * h)
   a <- Diag(c(1 - 2 * sigma * ones(1,m)),0) + Diag(c(sigma * ones(m-1, 1)),1)
   a <- a + Diag(c(sigma * ones(m-1,1)), -1)
   lside <- l(yb + (0:n)*k)
   rside <- r(yb + (0:n)*k)
   w <- matrix(1,nrow=m,ncol=n+1)
   w[,1] <- f(xl + (1:m)*h)
   for (j in 1:n){
      w[,j+1] <- a %*% w[,j] + sigma*rbind(lside[j],zeros(m-2,1),rside[j])
   }
   w <- rbind(lside,w,rside)
   x <- (0:(m+1))*h
   t <- (0:n)*k
   xt <- mesh(x,t)    #library(plot3D)
   surf3D(xt$x,xt$y,w,colkey = F,border = "black",bty = "b2")
}

heatfd(1,0,1,0,10,250)


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群