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在 ...
随机推荐
- 《Java程序设计》 第四周学习总结
学号 20175313 <Java程序设计>第四周学习总结 教材学习内容总结 第五章主要内容 了解子类的继承性 子类和父类在同一包中的继承性(除private外其余都继承) 子类和父类不在 ...
- 一个项目中mysql数据库经常死锁的问题解决记录
1.问题描述 此项目为一个物流系统,需要使用PDA对货物进行入库.备货.出货等操作,在系统开发测试过程中,经常发现死锁问题. 有这样一种业务场景:仓库对备货单上货进行扫码备货后,点击"完成& ...
- 200. Number of Islands(DFS)
Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surro ...
- keepalived 工作原理
keepalived主要通过vrrp协议为基础进行通信 所以先从VRRP协议说起: VRRP: 英文全称 Virtual Router Redundancy Protocol, .中文:虚拟路由冗余协 ...
- 事件冒泡以及onmouseenter 和 onmouseover 的不同
1. onmouseenter onmouseenter 事件在鼠标指针移动到元素上时触发. 该事件通常与 onmouseleave 事件一同使用, 在鼠标指针移出元素上时触发. onmouseent ...
- 浮点数(double、float)的格式化问题及处理
---恢复内容开始--- 平时常会面临浮点数的格式处理问题,下面就举例说一说常见的问题及处理: 1,科学计数法问题 一个浮点数123456789.10,在打印的时候变成了1.234567891E8,处 ...
- Solr全文检索框架
概述: 什么是Solr? Solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务.Solr可以独立运行在Jetty.tomcat.webLogic.webSh ...
- 常用模块 time sys os json pickle
# import time # print(time.time()) #秒数 # print('开始下载') # time.sleep(2) # print('下载完成') # print(time. ...
- Html Link 标签
Html Link 标签 Link 是 HTML Head 内部标签 <html> <head> <!-- link标签:rel="shortcut icon& ...
- openwrt修改hosts
不同于标准linux主机,openwrt使用dnsmasq来管理dns和dhcp. 修改dnsmasq的配置文件 vi /etc/config/dhcp 在config dnsmasq这组下面添加 l ...