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. Vue Watch 的原理 和 $nextTick() 通俗理解

    网上watch和$nextTick()解释比较复杂,涉及到promise,h5的dom发生变化的新api等复杂代码,下列就是两个参考. [watch原理] [$nextTick()] 首先,看遇到问题 ...

  2. 15.3-uC/OS-III资源管理(多值信号量)

    多值信号量是 uC/OS 操作系统的一个内核对象, 主要用于标志事件的发生和共享资源管理. 1.如果想要使用多值信号量,就必须事先使能多值信号量. 多值信号量的使能位于“os_cfg.h”. 2.OS ...

  3. python框架之Django(16)-接入Redis

    准备 安装Redis 参考 Ubuntu 中 Redis 的安装与使用. 在python中使用Redis 参考 python 中使用 Redis . 安装依赖包 在 Django 中接入 Redis ...

  4. 【JVM】-NO.110.JVM.1 -【GC垃圾收集器】

    Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  5. 52.JQ---向上滚动显示,向下滚动隐藏

    js: var windowTop = 0;$(window).scroll(function() { var scrolls = $(this).scrollTop(); if(scrolls &l ...

  6. python工具的选择

    自己喜欢用pycharm,下载地址:https://www.jetbrains.com/products.html#lang=python 补丁地址:http://idea.lanyus.com/

  7. 5.Python3程序结构

    5.1顺序结构 一条语句一条语句顺序的执行. 5.2选择结构 条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: 5.2. ...

  8. tiny6410 uboot启动参数的问题

    使用uboot来启动tiny6410,需要在启动参数中加入lcd=S70,才能在lcd上显示正确的画面

  9. 修复svn hook导致的字符集错误

    修改pre-commit钩子,如果返回中文信息,可能会报如下错误: Error output could not be translated from the native locale to UTF ...

  10. 常用分布随机数生成及JS类函数开发和运用

    (2017-02-15 银河统计) 随机数生成是运用蒙特卡洛或统计随机模拟仿真方法的前提.本文在银河统计Web Service接口基础上,编制JS类函数生成常用分布随机数,为在网页中实现模拟仿真项目提 ...