24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1559  |  回复: 0

茶壶bxy

银虫 (正式写手)

[求助] 100金币求助_MATLAB求球坐标系下的拉普拉斯算子

大家好!我有这样一个问题想请教大家:
我通过计算得到一个三维矩阵V1,它是球坐标系下对应坐标位置 (r,θ,φ) 的电势,其中 r,θ,φ 坐标上取值分别为数组r,theta 和 phi。现在我想对V1求拉普拉斯算子。球坐标系下的拉普拉斯算符如下式:
100金币求助_MATLAB求球坐标系下的拉普拉斯算子

因为我求过直角坐标系下的拉普拉斯算符,我想到三种思路。

球坐标系下的拉普拉斯算符如下式:
100金币求助_MATLAB求球坐标系下的拉普拉斯算子-1

思路一是利用MATLAB自带的离散拉普拉斯算符函数 del2。但是该函数所求的是直角坐标系下的拉式算符,无法直接在球坐标系下使用。将球坐标转化成直角坐标,则又不满足 del2 函数对输入坐标 vectors的要求(转化的直角坐标为三维矩阵)。

思路二是根据拉式算符的表达式用 diff 函数求偏微分计算。这种思路的问题是若 size(V1)为m*n*k,对r 用 diff 求二阶偏微分得到的是 (m-2)*n*k的矩阵,对 θ 和 φ 求二阶偏微分分别得到 m*(n-2)*k 和 m*n*(k-2) 的矩阵,因此这三个矩阵的相加是个问题。

思路三是根据拉式算符的定义求梯度的散度,利用 gradient 函数和 divergence 函数计算。但这两个函数默认按照直角坐标系进行计算,似乎不能求球坐标系下对应的梯度和散度。

我想请教大家,这个问题该怎么做?十分感谢!
回复此楼
加油
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 茶壶bxy 的主题更新
信息提示
请填处理意见