tic;
% this method is transform from Galerkin method
%also call it as finit method
%is used for solving two point BVP which is the first and second term.
%this code was writen by HU.D.dong in February 11th 2017
%MATLAB 7.0
clear;
clc;
N=50;
h=1/N;
X=0:h:1;
f=inline('(0.5*pi^2)*sin(0.5*pi.*x)');
%以下是右端向量:
for i=2:N
fun1=@(x) pi^2/2.*sin(pi/2.*x).*(1-(x-X(i))/h);
fun2=@(x) pi^2/2.*sin(pi/2.*x).*((x-X(i-1))/h);
f_phi(i-1,1)=quad(fun1,X(i),X(i+1))+quad(fun2,X(i-1),X(i));
end
funN=@(x) pi^2/2.*sin(pi/2.*x).*(x-X(N))/h;
f_phi(N)=quad(funN,X(N),X(N+1));
%以下是刚度矩阵:
A11=quad(@(x) 2/h+0.25*pi^2*h.*(1-2*x+2*x.^2),0,1);
A12=quad(@(x) -1/h+0.25*pi^2*h.*(1-x).*x,0,1);
ANN=quad(@(x) 1/h+0.25*pi^2*h*x.^2,0,1);
A=diag([A11*ones(1,N-1),ANN],0)+diag(A12*ones(1,N-1),1)+diag(A12*ones(1,N-1),-1);
Numerical_solution=A\f_phi;
Numerical_solution=[0;Numerical_solution];
%Accurate solution on above以下是精确解
%%
for i=1:length(X)
Accurate_solution(i,1)=sin((pi*X(i))/2)/2 - cos((pi*X(i))/2)/2 + exp((pi*X(i))/2)*((exp(-(pi*X(i))/2)*cos((pi*X(i))/2))/2 + (exp(-(pi*X(i))/2)*sin((pi*X(i))/2))/2);
end
figure(1);
grid on;
subplot(1,2,1);
plot(X,Numerical_solution,'ro-',X,Accurate_solution,'b^:');
title('Numerical solutions vs Accurate solutions');
legend('Numerical_solution','Accurate_solution');
subplot(1,2,2);
plot(X,Numerical_solution-Accurate_solution,'b x');
legend('error_solution');
title('error');
toc;

效果图:

Matlab:导数边界值的有限元(Galerkin)法的更多相关文章

  1. Matlab:导数边界值的有限元(Ritz)法

    tic; % this method is transform from Ritz method %is used for solving two point BVP %this code was w ...

  2. Matlab-7:偏微分方程数值解法-李荣华-有限元解导数边界值的常微分(Galerkin方法)

    p47.(实习题-李荣华)用线性元求下列边值问题的数值解 tic; % this method is transform from Galerkin method %also call it as f ...

  3. 【Matlab】运动目标检测之“光流法”

    光流(optical flow) 1950年,Gibson首先提出了光流的概念,所谓光流就是指图像表现运动的速度.物体在运动的时候之所以能被人眼发现,就是因为当物体运动时,会在人的视网膜上形成一系列的 ...

  4. Matlab查看数值不用科学计数法显示

    如图: 运行结果显示的是科学计数法的数据 输入命令“format long g”  -->  Enter -->  输入需要转换的数据 即可显示.

  5. matlab规定小数点保留4位且非科学计数法格式存储txt

    matlab 不保存为科学计数法 http://blog.sciencenet.cn/blog-472136-402727.html 经常在表示matlab值时,它总会把一些小于1的大于1000的数使 ...

  6. 层次分析法、模糊综合评测法实例分析(涵盖各个过程讲解、原创实例示范、MATLAB源码公布)

    目录 一.先定个小目标 二.层次分析法部分 2.1 思路总括 2.2 构造两两比较矩阵 2.3 权重计算方法 2.3.1 算术平均法求权重 2.3.2 几何平均法求权重 2.3.3 特征值法求权重 2 ...

  7. <读书笔记>软件调试之道 :问题的核心-重现问题

    声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记. 重现第一,提问第二 问题重现是实证过程的最强大武器,如果不能重现问题,你也无法证明修复了它 ...

  8. Testing - 测试基础 - 方法

    选择和使用测试方法和工具 按照测试需求用途(或测试技巧)选择 在软件开发生命周期和软件测试流程中适当地选择 按照测试人员实际技能选择 选择可提供的和可执行的 测试方法 类别及技巧 目标 使用方法 举例 ...

  9. [liu yanling]软件测试技巧

    1.添加.修改功能 (1)是否支持tab键 (2)是否支持enter键 (3)不符合要求的地方是否有错误提示 (4)保存后,是否也插入到数据库中 (5)字段唯一的,是否可以重复添加 (6)对编辑页列表 ...

随机推荐

  1. spring BeanFactory VS FactoryBean

    一.FactoryBean示例 public class DateStringFactoryBean implements FactoryBean<Object> { private bo ...

  2. selenium启动Firefox失败

    今天搭建java+selenium环境,搭建几次都失败,总结一下原因 1. selenium启动Firefox,不需要额外的driver 2. Friefox如果没有安装到默认路径C盘,代码中需要修改 ...

  3. linux安装lamp/lamp/lanmp

    wdcp安装lamp/lanp/lanmp 和宝塔(centOS)1. yum install -y wget  //yum安装wegt2. wget http://dl.wdlinux.cn/fil ...

  4. JavaScript中的BOM和DOM

    javascript组成: 1. ECMAScript 基本语法. 2. BOM (浏览器对象模型) 3. DOM (文档对象模型) 简单的说就是 BOM是浏览器对象模型,用来获取或设置浏览器的属性. ...

  5. #WEB安全基础 : HTTP协议 | 0x8 HTTP的Cookie技术

    说道Cookie,你喜欢吃饼干吗? 这里的Cookie不是饼干=_= HTTP不对请求和响应的通信状态进行保存,所以被称为无状态协议,为了保持状态和协议功能引入了Cookie技术 Cookie技术在请 ...

  6. Linux文件检索

    title: Linux文件检索 date: 2017-12-11 19:03:01 tags: linux categories: linux whereis 只要执行 whereis ls 就可以 ...

  7. 18 os/os.path模块中关于文件/目录常用的函数使用方法 (转)

    os模块中关于文件/目录常用的函数使用方法 函数名 使用方法 getcwd() 返回当前工作目录 chdir(path) 改变工作目录 listdir(path='.') 列举指定目录中的文件名('. ...

  8. 自定义Word颜色主题

    外观 说明 看到这个黑色编辑器的界面,第一印象可能认为是Sublime.Atom. VScode或者其它markdown编辑器.其实仅仅是微软的Word经过了自定义主题. 选择清晰易于辨认的字体和深色 ...

  9. 【转】AI类人工智能产品经理的丛林法则

    本文转载自:https://blog.csdn.net/buptgshengod/article/details/77030338 AI是大家都很关注的领域,然而对于大部分想要入行的同学来讲,AI的算 ...

  10. 什么是DNS攻击?它是如何工作的?

    什么是DNS攻击?它是如何工作的? DNS攻击是一种利用域名系统中的弱点或漏洞的网络攻击.今天,互联网已成为我们生活中不可或缺的一部分.从社交到金融.购物再到旅游,我们生活的方方面面都是互联网.由于互 ...