Matlab符号运算求解微分方程.pdf
文本预览下载声明
Matlab符号运算求解微分方程
金剑锋
材料学院东北大学
Matlab 符号计算 - 求微分方程的解析解
2
2 − = −(0 1)
0 = 0, (1) = 0
u0= dsolve(D2u-u = -x, u(0)=0, u(1)=0, x);
disp(u(x)= ); pretty(u0);
exp(-x) - exp(x)
显示结果: u(x) = + x
(*可能有所不同) exp(1) - exp(-1)
加权余量法求解微分方程的准确性
j = 0;
for i = 0 : 0.01 : 1
j = j +1;
x(j) = i;
u0(j) = (exp(-i)-exp(i)) /(exp(1)-exp(-1)) +i;
u1(j) = 0.2222*i*(1-i); % 配置法数值解
u2(j) = 0.2272*i*(1-i); % 伽辽金法数值解
u3(j) = 0.2305*i*(1-i); % 最小二乘法数值解
end
hold on;
plot(x,u0,‘o); % 精确解绘图
plot(x,u1,-r, x,u2,-b, x,u3,-c) ;
hold off;
Legend (‘精确解’,‘配置法’,‘伽辽金法’,‘最小二乘法’); % 图例
加权余量法 (高阶近似解)
2
2 − = −(0 1)
(0) = 0,(1) = 0
2 )
1、选近似解: = (1−) + (1−
1 2
2、求余量 : (如果试探解是精确解,余量为零)
2
2 2 3
= − + = (−2 − + ) + (2 −6 − + ) +
2 1 2
由于 不是精确解,余量 R 在求解的区域不可能为零。
加权余量法 (高阶近似解)
3、加权积分 (有2个): 2 )
近似解: = (1−) + (1−
1 2
1 1
2 2 3
= න = න (−2 − + ) + (2 −6 − + ) + = 0
1 1
显示全部