导数边界

 1 tic;
 2 clear
 3 clc
 4 N=4;
 5 M=2*N;
 6 h1=2/M;
 7 h2=1/N;
 8 x=0:h1:2;
 9 y=0:h2:1;
10 fun=inline(‘exp(x)*sin(pi*y)‘,‘x‘,‘y‘);
11 f=inline(‘(pi^2-1)*exp(x)*sin(pi*y)‘,‘x‘,‘y‘);
12 lamda1=inline(‘1‘,‘y‘);
13 lamda2=inline(‘2*y‘,‘y‘);
14 lamda3=inline(‘2*x‘,‘x‘);
15 lamda4=inline(‘x^2‘,‘x‘);
16 kesai1=inline(‘0‘,‘y‘);
17 kesai2=inline(‘exp(2)*(1+2*y)*sin(pi*y)‘,‘y‘);
18 kesai3=inline(‘-pi*exp(x)‘,‘x‘);
19 kesai4=inline(‘-pi*exp(x)‘,‘x‘);
20 numerical=zeros(M+1,N+1);
21 Numerical=numerical;
22 error=eye(M+1,N+1);
23 while norm(error,inf) >= 1e-5
24 for j=1:N+1
25     for i=1:M+1
26         if i==1 & j==1
27             Numerical(i,j)=(f(x(i),y(j))+2/h1^2*numerical(i+1,j)+2/h2^2*numerical(i,j+1)+2/h1*kesai1(y(j))+2/h2*kesai3(x(i)))...
28                 /(2/h1^2+2/h2^2+2/h2*lamda1(y(j))+2/h2*lamda3(x(i)));%U(0,0)
29         elseif i==M+1 & j==1
30              Numerical(i,j)=(f(x(i),y(j))+2/h1^2*numerical(i-1,j)+2/h2^2*numerical(i,j+1)+2/h1*kesai2(y(j))+2/h2*kesai3(x(i)))...
31                 /(2/h1^2+2/h2^2+2/h2*lamda2(y(j))+2/h2*lamda3(x(i)));%U(m,0)
32         elseif i==1 & j==N+1
33             Numerical(i,j)=(f(x(i),y(j))+2/h1^2*numerical(i+1,j)+2/h2^2*numerical(i,j-1)+2/h1*kesai1(y(j))+2/h2*kesai4(x(i)))...
34                 /(2/h1^2+2/h2^2+2/h2*lamda1(y(j))+2/h2*lamda4(x(i)));%U(0,n)
35         elseif i==M+1 & j==N+1
36             Numerical(i,j)=(f(x(i),y(j))+2/h1^2*numerical(i-1,j)+2/h2^2*numerical(i,j-1)+2/h1*kesai2(y(j))+2/h2*kesai4(x(i)))...
37                 /(2/h1^2+2/h2^2+2/h2*lamda2(y(j))+2/h2*lamda4(x(i)));%U(m,n)
38         elseif i==1 & j>=2 & j<=N  %  0j
39             Numerical(i,j)=(f(x(i),y(j))+2/h1^2*numerical(i+1,j)+1/h2^2*numerical(i,j-1)+1/h2^2*numerical(i,j+1)+2/h1*kesai1(y(j)))...
40                 /(2/h1^2+2/h2^2+2/h1*lamda1(y(j)));
41         elseif j==1 & i>=2 & i<=M  % i0
42              Numerical(i,j)=(f(x(i),y(j))+2/h1^2*numerical(i-1,j)+1/h1^2*numerical(i+1,j)+2/h2^2*numerical(i,j+1)+2/h2*kesai3(x(i)))...
43                 /(2/h1^2+2/h2^2+2/h2*lamda3(x(i)));
44         elseif i==M+1 & j>=2 & j<=N  %  mj
45              Numerical(i,j)=(f(x(i),y(j))+2/h1^2*numerical(i-1,j)+1/h2^2*numerical(i,j-1)+1/h2^2*numerical(i,j+1)+2/h1*kesai2(y(j)))...
46                 /(2/h1^2+2/h2^2+2/h1*lamda2(y(j)));
47         elseif j==N+1 & i>=2 & i<=M  %  in
48              Numerical(i,j)=(f(x(i),y(j))+1/h1^2*numerical(i-1,j)+1/h1^2*numerical(i+1,j)+2/h2^2*numerical(i,j-1)+2/h2*kesai4(x(i)))...
49                 /(2/h1^2+2/h2^2+2/h2*lamda4(x(i)));
50         else
51              Numerical(i,j)=(f(x(i),y(j))+1/h1^2*numerical(i-1,j)+1/h2^2*numerical(i,j-1)+1/h1^2*numerical(i+1,j)+1/h2^2*numerical(i,j+1))...
52                  /(2/h1^2+2/h2^2);
53         end
54
55     end
56 end
57 error=Numerical-numerical;
58    numerical=Numerical;
59 end
60 for i=1:length(x)
61     for j=1:length(y)
62    Accurate(i,j)=fun(x(i),y(j));
63     end
64 end
65 Error=Accurate‘-Numerical‘;
66 [X,Y]=meshgrid(x,y);
67 mesh(X,Y,Error);
68 toc;
时间: 2024-08-12 03:21:10

导数边界的相关文章

CSS边框与边界

CSS边框与边界 1.CSS 边框属性 CSS边框属性允许你指定一个元素边框的样式和颜色. 1.1.边框样式 边框样式属性指定要显示什么样的边界. border-style属性用来定义边框的样式 1.2.边框宽度 您可以通过 border-width 属性为边框指定宽度. 为边框指定宽度有两种方法:可以指定长度值,比如 2px 或 0.1em:或者使用 3 个关键字之一,它们分别是 thin .medium(默认值) 和 thick. 注意:CSS 没有定义 3 个关键字的具体宽度,所以一个用户

图形学_多边形扫描转换_边界标志算法

边界标志算法 1. 对多边形的每一条边进行扫描转换,即对多边形边界所经过的象素作一个边界标志. 2.填充 对每条与多边形相交的扫描线,按从左到右的顺序,逐个访问该扫描线上的象素. 取一个布尔变量inside来指示当前点的状态,若点在多边形内,则inside为真.若点在多边形外,则inside为假. Inside 的初始值为假,每当当前访问象素为被打上标志的点,就把inside取反.对未打标志的点,inside不变. 1 #include "easyx.h" 2 #include &qu

2.8 计算图的导数计算

在反向传播的术语当中,我们看到,如果你想计算最后输出的变量的导数,使用你最关心的变量,对V的导数,那么我们就做完了一步反向传播,在这个流程中, 就是一个反向步, 现在来看另外一个例子,成本函数对a求导是多少呢?换句话说,我们改变a,将会对J的数值造成什么样的影响呢? 介绍一个新的符号约定 当编程实现反向传播时,通常会有一个最终输出值是你要关心的,最终的输出变量,你真正想要关心或者说是优化的,在这种情况下,最终的输出变量是J,就是流程图里最后的一个符号,所以有很多的计算尝试计算输出变量的导数,所以

Photoshop脚本 &gt; 查看图层边界信息

源自:http://coolketang.com/tutorials/menu2lesson6.php 本节将演示如何使用脚本,查看当前图层的边界信息.首先创建一个空白的脚本文档,并保存在硬盘上某个位置. 首先创建一个空白的脚本文档,并保存在硬盘上某个位置. 接着输入脚本代码: //定义一个变量[activeLayer],表示Photoshop当前文档的当前图层. var activeLayer = app.activeDocument.activeLayer; //定义一个变量[bounds]

正则基础之 \b 单词边界

本文转载自: http://www.jb51.net/article/19330.htm 1概述 “\b”匹配单词边界,不匹配任何字符. “\b”匹配的只是一个位置,这个位置的一侧是构成单词的字符,另一侧为非单词字符.字符串的开始或结束位置.“\b”是零宽度的. 基本上所有的资料里都会说“\b”是单词边界,但是关于“单词”的范围却是少有提及.通常情况下,正则表达式中所谓的“单词”,就是由“\w”所定义的字符所组成的子串. “\b”表示所在位置的一侧为单词字符,另一侧为非单词字符.字符串的开始或结

正则表达式入门(三)边界

零宽度断言不匹配字符,而是匹配字符串中的位置.比如^和$,也叫做锚位符.行的起始与结束要匹配行或字符串的起始要用脱字符 ^ 要匹配行或字符串的结尾要用美元符 $ ^How.*Country\.$ 这个匹配以How开头的整行.最后的\.是转义字符,匹配点号..如果想要匹配作为字面值的点号,必须将点号转义或者将其放入字符组中.如果不勾选multiline但是勾选dotall的情况下,输入 ^THE.*\?$ 它匹配了整个文本.dotall选项表示点号除了匹配其他字符外,还会匹配换行符.如果取消doa

JAVA 边界布局管理器

//边界布局管理器 import java.awt.*; import javax.swing.*; public class Jiemian1 extends JFrame{ //定义组件 JButton an1,an2,an3,an4,an5; public static void main(String[] args){ //运行本类的构造方法 Jiemian1 jiemian = new Jiemian1(); } public Jiemian1(){ //创建按钮 an1 = new

硬件处理和软件处理之间的异同与边界

今天给一朋友回复邮件,主要内容是我最近两天的一个DxR Pro++的固化问题,他好像不明白我为什么一直避开查找树,其实我自己的也不明白,只是知道该避开,也就避开了,并且这还不够,同时避开的还有各种其它 的查找,排序,hash算法,几乎是一切算法都尽量让我避开了.所以,最终,我的DxR Pro固化设计虽然初步完成(这个设计没有公开,也不准备公开,但是我觉得思想比方法更重要,而这种思想正是我在本文想阐述的),但是和我之前博客上所述的有所不同,在那篇文章中,我在某些情况下退回到了二分区间查找. 我们来

第1章2节《MonkeyRunner源码剖析》概述:边界(原创)

天地会珠海分舵注:本来这一系列是准备出一本书的,详情请见早前博文"寻求合作伙伴编写<深入理解 MonkeyRunner>书籍".但因为诸多原因,没有如愿.所以这里把草稿分享出来,所以错误在所难免.有需要的就参考下吧,转发的话还请保留每篇文章结尾的出处等信息. 边界 怎么样才算分析清楚一个事物的原理是什么呢?就以前面提到的<LINUX内核源代码情景分析>为例子,分析到什么程度算是把Linux内核给分析清楚呢?一个操作系统内核的原理无非是要描述清楚这几个核心是如何工