Matlab:椭圆方程的导数边值问题





tic;
clear
clc
N=;
M=*N;
h1=/M;
h2=/N;
x=:h1:;
y=:h2:;
fun=inline('exp(x)*sin(pi*y)','x','y');
f=inline('(pi^2-1)*exp(x)*sin(pi*y)','x','y');
lamda1=inline('','y');
lamda2=inline('2*y','y');
lamda3=inline('2*x','x');
lamda4=inline('x^2','x');
kesai1=inline('','y');
kesai2=inline('exp(2)*(1+2*y)*sin(pi*y)','y');
kesai3=inline('-pi*exp(x)','x');
kesai4=inline('-pi*exp(x)','x');
numerical=zeros(M+,N+);
Numerical=numerical;
error=eye(M+,N+);
while norm(error,inf) >= 1e-
for j=:N+
for i=:M+
if i== & j==
Numerical(i,j)=(f(x(i),y(j))+/h1^*numerical(i+,j)+/h2^*numerical(i,j+)+/h1*kesai1(y(j))+/h2*kesai3(x(i)))...
/(/h1^+/h2^+/h1*lamda1(y(j))+/h2*lamda3(x(i)));%U(,)
elseif i==M+ & j==
Numerical(i,j)=(f(x(i),y(j))+/h1^*numerical(i-,j)+/h2^*numerical(i,j+)+/h1*kesai2(y(j))+/h2*kesai3(x(i)))...
/(/h1^+/h2^+/h1*lamda2(y(j))+/h2*lamda3(x(i)));%U(m,)
elseif i== & j==N+
Numerical(i,j)=(f(x(i),y(j))+/h1^*numerical(i+,j)+/h2^*numerical(i,j-)+/h1*kesai1(y(j))+/h2*kesai4(x(i)))...
/(/h1^+/h2^+/h1*lamda1(y(j))+/h2*lamda4(x(i)));%U(,n)
elseif i==M+ & j==N+
Numerical(i,j)=(f(x(i),y(j))+/h1^*numerical(i-,j)+/h2^*numerical(i,j-)+/h1*kesai2(y(j))+/h2*kesai4(x(i)))...
/(/h1^+/h2^+/h1*lamda2(y(j))+/h2*lamda4(x(i)));%U(m,n)
elseif i== & j>= & j<=N % 0j
Numerical(i,j)=(f(x(i),y(j))+/h1^*numerical(i+,j)+/h2^*numerical(i,j-)+/h2^*numerical(i,j+)+/h1*kesai1(y(j)))...
/(/h1^+/h2^+/h1*lamda1(y(j)));
elseif j== & i>= & i<=M % i0
Numerical(i,j)=(f(x(i),y(j))+/h1^*numerical(i-,j)+/h1^*numerical(i+,j)+/h2^*numerical(i,j+)+/h2*kesai3(x(i)))...
/(/h1^+/h2^+/h2*lamda3(x(i)));
elseif i==M+ & j>= & j<=N % mj
Numerical(i,j)=(f(x(i),y(j))+/h1^*numerical(i-,j)+/h2^*numerical(i,j-)+/h2^*numerical(i,j+)+/h1*kesai2(y(j)))...
/(/h1^+/h2^+/h1*lamda2(y(j)));
elseif j==N+ & i>= & i<=M % in
Numerical(i,j)=(f(x(i),y(j))+/h1^*numerical(i-,j)+/h1^*numerical(i+,j)+/h2^*numerical(i,j-)+/h2*kesai4(x(i)))...
/(/h1^+/h2^+/h2*lamda4(x(i)));
else
Numerical(i,j)=(f(x(i),y(j))+/h1^*numerical(i-,j)+/h2^*numerical(i,j-)+/h1^*numerical(i+,j)+/h2^*numerical(i,j+))...
/(/h1^+/h2^);
end
end
end
error=Numerical-numerical;
numerical=Numerical;
end
for i=:length(x)
for j=:length(y)
Accurate(i,j)=fun(x(i),y(j));
end
end
Error=Accurate'-Numerical';
[X,Y]=meshgrid(x,y);
subplot(,,)
mesh(X,Y,Accurate');
xlabel('x');ylabel('y');zlabel('Accurate');
grid on
subplot(,,)
mesh(X,Y,Numerical');
xlabel('x');ylabel('y');zlabel('Numerical');
grid on
subplot(,,)
mesh(X,Y,Error);
xlabel('x');ylabel('y');zlabel('error');
grid on
toc;

Matlab:椭圆方程的导数边值问题的更多相关文章
- Matlab:五点差分方法求解椭圆方程非导数边值问题
差分格式脚本文件: tic; clear clc M=32;%x的步数 N=16;%y的步数 h1=1/M;%x的步长 h2=1/N;%y的步长 x=0:h1:1; y=0:h2:1; u=zeros ...
- matlab 椭圆方程拟合
拟合椭圆首先要知道各个点的坐标,然和带入如下公式: x = [59 136 58 137 57 137 56 137 55 138 54 139 53 140 52 141 51 142 51 143 ...
- MATLAB学习笔记(七)——MATLAB解方程与函数极值
(一)线性方程组求解 包含n个未知数,由n个方程构成的线性方程组为: 其矩阵表示形式为: 其中 一.直接求解法 1.左除法 x=A\b; 如果A是奇异的,或者接近奇异的.MATLAB会发出警告信息的. ...
- MATLAB求解方程与方程组
1. solve函数 ①求解单个一元方程的数值解 syms x; x0 = double(solve(x +2 - exp(x),x)); 求x+2 = exp(x)的解,结果用double ...
- MATLAB符号极限、导数及级数求和
作者:长沙理工大学 交通运输工程学院 王航臣 1.函数的极限 函数:limit 功能:求取函数的极限 语法: limit(f) limit(f,x,a) limit(f,x,a,'right') li ...
- matlab解方程
[x1,y1,x2,y2]=solve('x1^2 + y1^2=1','x2^2-8*x2 +y2^2 +15=0','x1*x2 + y1 * y2=1','x1 + x2 =a','x1','y ...
- 关于CC的完全非线性椭圆方程一书的一些小结
CC的整本书主要是想要研究在粘性解的框架下的一致椭圆方程解的正则性.我们试着一章一章来解析他. 序言部分也是值得每一个字细读的,主要讲述了他们的工作的主要内容,即在粘性解的框架下研究解的正则性,需要特 ...
- 编程类-----matlab基础语法复习(1)
2019年美赛随笔记录: 具体功能:基础语法+基本运算+画图+矩阵+excel读取....... 所遇问题及其解决方案: 1. que:matlab中plot画图无法复制下来图片? ...
- MATLAB实现一个EKF-2D-SLAM(已开源)
1. SLAM问题定义 同时定位与建图(SLAM)的本质是一个估计问题,它要求移动机器人利用传感器信息实时地对外界环境结构进行估计,并且估算出自己在这个环境中的位置,Smith 和Cheeseman在 ...
随机推荐
- 17.4-uC/OS-III消息管理(任务消息队列使用)
任务消息队列跟任务信号量一样,均隶属于某一个特定任务, 不需单独创建,任务在则在, 只有该任务才可以接收这个任务消息队列的消息,其他任务只能给这个任务消息队列发送消息, 却不能接收.任务消息队列与(普 ...
- 如何知道网页浏览器cookie是什么?
一直有网友问网页cookie如何获取,其实想知道自己访问网页时的cookie没那么难,用Chrome内核浏览器的debug功能就能看到,怎么查看呢?随ytkah一起来看看吧! 打开网页,按F12键,选 ...
- [LeetCode] 系统刷题3_Binary search
可以参考 [LeetCode] questions conclusion_ Binary Search
- Cocos Creator cc.Node.点击事件
触摸事件 1.触摸事件的类型:START触摸启动,MOVED移动,ENDED弹起来,CANCEL取消; ENDED和CANCEL区别是ENDED物体内弹起来,CANCEL是在物体外范围弹起. 2.监听 ...
- python类中的内置函数
__init__():__init__方法在类的一个对象被建立时,马上运行.这个方法可以用来对你的对象做一些你希望的初始化.注意,这个名称的开始和结尾都是双下划线.代码例子: #!/usr/bin/p ...
- from dns.resolver import Resolver ImportError: No module named dns.resolver
from dns.resolver import Resolver ImportError: No module named dns.resolver python2运行BBScan时提示: from ...
- JavaScript获取及判断文件类型
一.获取文件后缀 <input type="file" name="addvedio" accept="video/*"/>注: ...
- qt 安装包生成2
使用Qt Installer Framework制作安装包 2018年07月01日 03:45:37 大黄老鼠 阅读数:878 标签: qt更多 个人分类: Qt 版权声明:本文为博主原创文章,未 ...
- JAVA 重写equals和重写hashCode
面试官可能会问你:“你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?” 首先你需要了解: hashCode()的作用是获取哈希码(散列码) 它实 ...
- [Android] macOS的Android Studio快捷键
- 快速输入serialVersionUID - - 设置,左上角,Android Studio -> Preferences -> 搜索“Serializable class witho ...