| 查看: 991 | 回复: 3 | ||
| 【悬赏金币】回答本帖问题,作者hylb3020将赠送您 30 个金币 | ||
hylb3020木虫 (正式写手)
流体力学爱好者
|
[求助]
matlab程序, 被调用函数中使用 if 语句出错 已有1人参与
|
|
|
clear all; close all; l=45; alpha1=-0.25; lambda1=0.25; n=128; x=l/n*[-n/2:n/2-1]; y=x; kx=(2*pi/l)*[0:n/2-1 -n/2:-1]; kx(1)=1e-6; ky=kx; [x,y]=meshgrid(x,y); [kx,ky]=meshgrid(kx,ky); h=2*pi/n; column=[00.5*(-1).^(1:n-1).*cot((1:n-1)*h/2)]'; d=(2*pi/l)*toeplitz(column,column([1n:-1:2])); column=[-pi^2/(3*h^2)-1/6-0.5*(-1).^(1:n-1)./sin(h*(1:n-1)/2).^2]; d2=(2*pi/l)^2*toeplitz(column); column=[0 (-1).^(1:n-1).*cot((1:n-1)*h/2).*(-pi^2/(2*h^2)+3/4*csc((1:n-1)*h/2).^2)]'; w=1+0.1*cos(0.31*x)+0.1*cos(0.31*y);%初始条件 t=[0 17 17.5 18 19 20 21 22 23 25 30 40] [t,wsol]=ode45('advection_diffusion', t, w( : ),[],n,d,d2,alpha1,lambda1,x); advection_diffusion.m function dw=advection_diffusion(t,w,dummy,n,d,d2,alpha1,lambda1, x); w=reshape(w,n,n); wt=fft2(w); if (t<=20) dw=reshape(i*(alpha1*d2*w+lambda1*w*d2')+t,n^2,1); else dw=reshape(i*(alpha1*d2*w+lambda1*w*d2')-t,n^2,1); end 我想求解一个偏微分方程,变量t 取了12个值,在被调用的函数 advection_diffusion 中需要用到一个 if 语句,对 t进行分类,程序一直运行不出来。希望得到大家的指点,不胜感激。 |
» 猜你喜欢
反铁磁体中的磁性切换:两种不同的机制已成功可视化
已经有0人回复
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有296人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
笼目材料中量子自旋液体基态的证据
已经有0人回复
数学教学论硕士可以读数学物理博士吗?
已经有0人回复
德国亥姆霍兹Hereon中心汉堡分部招镁合金腐蚀裂变SCC课题方向2026公派博士生
已经有4人回复
澳门大学 应用物理及材料工程研究院 潘晖教授课题组诚招博士后
已经有11人回复

独孤神宇
版主 (知名作家)
- 应助: 490 (硕士)
- 贵宾: 0.008
- 金币: 31014.8
- 散金: 802
- 红花: 122
- 沙发: 1
- 帖子: 5600
- 在线: 855.5小时
- 虫号: 3522474
- 注册: 2014-11-06
- 性别: GG
- 专业: 机械动力学
- 管辖: 计算模拟

2楼2021-06-29 19:41:51
hylb3020
木虫 (正式写手)
流体力学爱好者
- 应助: 14 (小学生)
- 金币: 1976.9
- 散金: 498
- 红花: 5
- 帖子: 317
- 在线: 402.4小时
- 虫号: 2020234
- 注册: 2012-09-22
- 性别: GG
- 专业: 流体力学

3楼2021-06-29 22:06:54
送红花一朵
![]() ![]() |
4楼2021-06-29 22:08:41












回复此楼