楼主: wxxstar21
429 0

[程序分享] PDE中热方程的前向差分方法求解R语言 [推广有奖]

  • 2关注
  • 3粉丝

已卖:86份资源

院士

64%

还不是VIP/贵宾

-

威望
0
论坛币
151 个
通用积分
190.4470
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
103230 点
帖子
1830
精华
0
在线时间
2275 小时
注册时间
2013-8-7
最后登录
2026-3-2

楼主
wxxstar21 发表于 2024-5-15 16:07:45 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
利用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)


二维码

扫码加我 拉你入群

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

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

关键词:PDE R语言 Heat Eat

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-3-3 03:48