MATLBA官方给出的2D Allen-Cahn Matlab代码分析
PDE
%Solving 2D Allen-Cahn Eq using pseudo-spectral with Implicit/Explicit
%u_t= u_{xx}+u_{yy} + u - u^3 (偏微分方程)
%where u-u^3 is treated explicitly and u_{xx} and u_{yy} is treated implicitly
%BC = Periodic (周期性边界条件)
%IC=v=sin(2*pi*x)+0.001*cos(16*pi*x; (初值条件)
clear all; clc; %清除工作空间的所有变量,函数,和MEX文件。清空命令窗口中的内容。%Grid (绘制网格)
N = 64; h = 1/N; x = h*(1:N); %N是网格点个数,h是每个网格大小,x是网格点的空间序列
dt = .01; %dt是时间采样频谱%x and y meshgrid
y=x'; %y是x的转置
[xx,yy]=meshgrid(x,y); % 表示区域网格设置,目的是为了让x,y成为矩阵格点
%initial conditions (初值条件)
v=sin(2*pi*xx)+0.001*cos(16*pi*xx);
epsilon=.01; %epsilon的值
%(ik) and (ik)^2 vectors in x and y direction
kx=(1i*[0:N/2-1 0 -N/2+1:-1]); %(0+1i)*[0:31 0 -31:-1]
ky=(1i*[0:N/2-1 0 -N/2+1:-1]');%kx的转置
k2x=kx.^2; %kx的平方
k2y=ky.^2; %ky的平方
ii=1:N; %ii=[1 2 3 ...64]
%(ik)^2 matricies in x and y direction
for m= 1:Nuxx(m,:)= k2x(ii); %Second derivative in the x-direction (x 方向的u的二阶导数)
endfor j= 1:N uyy(:,j)= k2y(ii); %Second derivative in the y-direction (y 方向的u的二阶导数)
end
for n = 1:500 %时间步长为0.01,跑500次时间步v_nl=v.^3; %calculates nonlinear term in real spacefor m=1:N %FFT in x-direction on linear and nonlinear termv_nl(m,:) = fft(v_nl(m,:)); %对v_n的第m行进行快速Fourier变换v_hat(m,:)=fft(v(m,:)); %对v的第m行进行快速Fourier变换endfor j=1:N %FFT in y-direction on linear and nonlinear termv_nl(:,j) = fft(v_nl(:,j)); %对v_nl的第j列进行快速Fourier变换v_hat(:,j)=fft(v_hat(:,j)); %对v_hat的第j列进行快速Fourier变换endvnew=(v_hat/dt-v_nl)./ ...(-(uxx+uyy)*epsilon+1/dt-1); %Implicit/Explicit timestepping(隐式/显式时间步长)for m=1:N %converts to real space in x-direction%跑完FFT后我们就得到了多项式乘积的点值表示,现在我们需要将点值表示转回系数表示,这个转换的过程被称为离散傅里叶逆变换(IDFT)v(m,:)=ifft(vnew(m,:)); %使用快速傅里叶变换算法计算 vnew的第m行的逆离散傅里叶变换endfor j=1:N %converts to real space in y-directionv(:,j)=real(ifft(v(:,j))); %返回对v的第j列进行逆变换的复数的实部数值end%Plots each timestep %画图surf(v); title(num2str(n)); axis([0 N 0 N -1 1]); view(43,22); drawnow;end
MATLBA官方给出的2D Allen-Cahn Matlab代码分析相关推荐
- 官方文件出炉!北京住建委权威解读商住限购
http://finance.sina.com.cn/china/dfjj/2017-03-27/doc-ifycstww1168271.shtml?cre=sinapc&mod=g& ...
- 华为p10android版本,华为P10系列什么时候升级安卓8.0?官方给出答案
华为P10系列什么时候升级安卓8.0?官方给出答案 系统可以说是手机的灵魂,作为不可或缺的一部分,每每更新都引人关注.前阵子,Android 8.0正式发布了,很多手机也开始适配新系统.华为作为手机行 ...
- 应用检查后台启动权限方法(小米官方给出的)
应用检查后台启动权限的方法如下:public static boolean canBackgroundStart(Context context) {AppOpsManager ops = (AppO ...
- 关闭云鲸拖地机器人风干_云鲸拖地机器人无法正常工作,官方给出解决方案:要关机24小时...
2020年12月31日0点开始,陆续有用户反馈,云鲸拖地机器人指示灯闪烁无法正常工作,官方给出解决方案是:要关机24小时才能解决,被用户质疑拖延时间. 对此,云鲸官方进行了回应,原来当日晚间,工程师排 ...
- 华为android升级国内版,华为手机能不能升级新版安卓?官方给出答案,即将有大动作...
原标题:华为手机能不能升级新版安卓?官方给出答案,即将有大动作 华为被列入"实体名单"后,许多企业都暂停了 和华为的业务来往,其中就包括谷歌,将华为的谷歌服务停用,导致海外的华为手 ...
- 米9 android 系统耗电,小米9耗电严重,官方给出合理解释,大家怎么看
小米9 是目前市场上最受关注的机型,全球首发骁龙855,标准版售价2999元起,这样的价格引起不少用户心动.而小米9首销当天场面非常火爆,无论线上线下一抢而空,具体情况大家一起了解一下. 相比上一代小 ...
- lol服务器维护补偿,LOL服务器延长维护,官方给出2个补偿,老玩家笑了:就这?...
大家好,这里是亦小涵游戏. 每一款游戏都要进行定期的维护,以保证服务器的稳定和用户的体验,LOL同样如此.作为一款体量巨大的游戏,LOL的维护时间显然要更长,出纰漏的可能性也更大.本次的维护中,技术人 ...
- 没有几十年功力,写不出这一行“看似无用”的代码!!
这篇文章要从一个奇怪的注释说起,就是下面这张图: 我们可以不用管具体的代码逻辑,只是单单看这个 for 循环. 在循环里面,专门有个变量 j,来记录当前循环次数. 第一次循环以及往后每 1000 次循 ...
- adc 接收cube_官方的stm32cube软件教程实例ADC操作代码(官方自带的,可以无视
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 官方的stm32cube软件教程实例ADC操作代码(官方自带的,可以无视),看不懂怎么用的可以等本贴吧更新图片教程,现在就是凑帖子数量,完成转职的,请谅解 ...
- idea 高效找出全部未被使用的代码
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 不得不说 idea 真的很强大,认真花一些时间,好好研究研究 id ...
最新文章
- ^_^ 真是Android Framework的BUG
- Perl中state()和localtime()函数
- java中的输入语句判断正负_在java中使用方法调用统计数组中正数的个数,将判断数据的正负功能定义成方法...
- hprose java 下载_Hprose Java|Hprose For Java下载v2017.2.0官方版 附使用教程 - 欧普软件下载...
- 基于CNN的中文文本分类算法(可应用于垃圾文本过滤、情感分析等场景)
- 您的博文被删除了(1)
- NYOJ--1A+B Problem(练手题)
- 如何使用键盘快捷键在Mac上录制屏幕?
- 最近几天,VirtualBox虚拟机坏了多次,备份很重要
- 安卓手机各大应用市场APP审核遇到的坑
- python zipfile 压缩文件夹的方法
- 基于微博平台的python爬虫数据采集,非常简单的小案例!
- 小草 李白 《菩萨蛮》
- 微信公众号页面开发记录
- 嵌入式linux培训教程,嵌入式Linux开发学习之Linux文件系统学习
- IoT黑板报:美允许4G技术与WiFi共享5G频段
- 带着老娘和女儿看《孔子》
- 【Linux】安装虚拟机
- 四、html字体样式,外观属性
- 抛砖引玉,孢子,一种另类的WP7第三方应用数据交换方式