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:椭圆方程的导数边值问题的更多相关文章

  1. 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 ...

  2. matlab 椭圆方程拟合

    拟合椭圆首先要知道各个点的坐标,然和带入如下公式: x = [59 136 58 137 57 137 56 137 55 138 54 139 53 140 52 141 51 142 51 143 ...

  3. MATLAB学习笔记(七)——MATLAB解方程与函数极值

    (一)线性方程组求解 包含n个未知数,由n个方程构成的线性方程组为: 其矩阵表示形式为: 其中 一.直接求解法 1.左除法 x=A\b; 如果A是奇异的,或者接近奇异的.MATLAB会发出警告信息的. ...

  4. MATLAB求解方程与方程组

    1.      solve函数 ①求解单个一元方程的数值解 syms x; x0 = double(solve(x +2 - exp(x),x)); 求x+2 = exp(x)的解,结果用double ...

  5. MATLAB符号极限、导数及级数求和

    作者:长沙理工大学 交通运输工程学院 王航臣 1.函数的极限 函数:limit 功能:求取函数的极限 语法: limit(f) limit(f,x,a) limit(f,x,a,'right') li ...

  6. 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 ...

  7. 关于CC的完全非线性椭圆方程一书的一些小结

    CC的整本书主要是想要研究在粘性解的框架下的一致椭圆方程解的正则性.我们试着一章一章来解析他. 序言部分也是值得每一个字细读的,主要讲述了他们的工作的主要内容,即在粘性解的框架下研究解的正则性,需要特 ...

  8. 编程类-----matlab基础语法复习(1)

    2019年美赛随笔记录: 具体功能:基础语法+基本运算+画图+矩阵+excel读取....... 所遇问题及其解决方案:         1.   que:matlab中plot画图无法复制下来图片? ...

  9. MATLAB实现一个EKF-2D-SLAM(已开源)

    1. SLAM问题定义 同时定位与建图(SLAM)的本质是一个估计问题,它要求移动机器人利用传感器信息实时地对外界环境结构进行估计,并且估算出自己在这个环境中的位置,Smith 和Cheeseman在 ...

随机推荐

  1. springboot中通过cors协议解决跨域问题

    1.对于前后端分离的项目来说,如果前端项目与后端项目部署在两个不同的域下,那么势必会引起跨域问题的出现. 针对跨域问题,我们可能第一个想到的解决方案就是jsonp,并且以前处理跨域问题我基本也是这么处 ...

  2. selenium定位下拉框

    下拉选择框(Select) <div> <p>下拉选择框框 Select</p> <select id="proAddItem_kind" ...

  3. Fiddler和PostMan的使用例子和下载

    一.Fiddler:先下个 1.先讲下Get请求:很简单就一图示意: 然后再讲下POST:举个例子 请求主体的内容: User-Agent: FiddlerContent-Type: applicat ...

  4. 54.超大数据快速导入MySQL

    超大数据快速导入MySQL  ----千万级数据只需几十分钟本地测试方法1.首先需要修改本地mysql的编码和路径,找到my.ini.2.在里面添加或修改 character-set-server=u ...

  5. 数据模型model设置、生成数据迁移文件、执行数据迁移文件

    一.model的配置 1.创建数据库 2.安装pymysql 3.修改配置文件 数据库连接配置 DATABASES = {'default': {'ENGINE': 'django.db.backen ...

  6. lua语言中的假

    [1]测试及结论 (1)代码 local var_false = false local var_nil = nil if var_zero then print('var_zero : true') ...

  7. 改变FileUpload文件上传控件的显示方式,选择文件后自动上传

    一.Aspx页面: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="File ...

  8. MySQL MHA 报错处理

    安装环境:CentOS 6.5 MySQL 5.7.22 MHA 0.56 1.找不到mysql 命令 Sat Mar 23 07:17:50 2019 - [info] Connecting to ...

  9. JS数据类型判断的方法

    最常用的判断方法:typeof var a='isString'; var b=121221; var c=[1,2,3]; var d=new Date(); var e=function(){ c ...

  10. iOS开发 -------- AFNetworking使用中遇到的小问题

    1 在使用的时候会经常出现如下图打印信息,导致请求的数据不能正常显示出来 2 此时找到AFJSONResponseSerializer类,找到箭头标识的位置 3 在下图标识的位置,往集合里面添加 元素 ...