函数文件1:real_fun.m

 function f=real_fun(x0,t0)
f=(x0-x0^2)*exp(-t0);

函数文件2:fun.m

 function f=fun(x0,t0)
f=(x0^2-x0)*exp(-t0)+2*exp(-t0);

函数文件3:fi.m

 function f=fi(x0)
f=x0-x0^2;

脚本文件:

 tic;
clc
clear
N=100;
M=1000;
t_h=1/M;%t的步长
x_h=1/N;%x的步长
x=0:x_h:1;%x的节点
t=0:t_h:1;%t的节点
B=-2*ones(1,N-1);
C=1*ones(1,N-2);
D=1*ones(1,N-2);
A=diag(B)+diag(C,1)+diag(D,-1);%三对角矩阵
F=zeros(N-1,M);
for i=1:N-1
for j=1:M
F(i,j)=fun(x(i+1),t(j));
end
end
F=F.*t_h;
%********************数值解************************************
J=-N^2*A*t_h+eye(N-1);%求解线性方程组的系数矩阵
initial=zeros(N-1,1);
z=zeros(N-1,M); for i=1:N-1
initial(i)=fi(x(i+1));
end
b=initial;
for j=1:M%控制t的节点
a=b;
a=a+F(1:N-1,j);
z(1:N-1,j)=J\a;%解是n-1维的
b=z(1:N-1,j);%变成下一次求解的初值
end
z=[initial,z];
Z=[zeros(1,M+1);z;zeros(1,M+1)]; %********************数值解************************************
for i=1:N+1
for j=1:M+1
real_Z(i,j)=real_fun(x(i),t(j));
end
end
compare=abs(real_Z-Z);
[X,Y]=meshgrid(x,t);
% colormap(jet) subplot(2,2,1),
mesh(X,Y,Z');
xlabel('x');ylabel('t');zlabel('u');title('analytical solution');
subplot(2,2,2),
mesh(X,Y,real_Z');
xlabel('x');ylabel('t');zlabel('u');title('numerical solution');
subplot(2,2,3),
mesh(X,Y,compare');
xlabel('x');ylabel('t');zlabel('u');title('error solution');
grid on;
toc;

效果图:

Matlab:线性热传导(抛物线方程)问题的更多相关文章

  1. C# 简单实现直线方程,抛物线方程

    本例子是简单的在WinForm程序中实现在坐标系中绘制直线方程,抛物线方程,点.重新学习解析几何方面的知识.仅供学习分享使用,如有不足之处,还请指正. 涉及知识点: 直线方程的表达方式:一般表达式Ax ...

  2. C# 简单实现直线方程,抛物线方程(转载)

    http://www.cnblogs.com/hsiang/archive/2017/01/17/6294864.html 本例子是简单的在WinForm程序中实现在坐标系中绘制直线方程,抛物线方程, ...

  3. 求解线性递推方程第n项的一般方法

    概述 系数为常数,递推项系数均为一次的,形如下面形式的递推式,称为线性递推方程. \[f[n]=\begin{cases} C &n\in Value\\ a_1 f[n-1]+a_2 f[n ...

  4. Matlab:非线性热传导(抛物方程)问题

    函数文件1:real_fun.m function f=real_fun(x0,t0) %精确解 f=4*x0*(1-x0)*sin(t0); 函数文件2:F.m function f=F(N,u,U ...

  5. MATLAB线性回归方程与非线性回归方程的相关计算

    每次比赛都需要查一下,这次直接总结到自己的博客中. 以这个为例子: 2.线性方程的相关计算 x=[1,2,3,4,5]';%参数矩阵 X=[ones(5,1),x];%产生一个5行一列的矩阵,后接x矩 ...

  6. MATLAB 符号变量表达式 + 方程求解

    源代码见文末 部分源代码: % 符号变量 两种表达方式 a=sym('a'); class(a); syms b; b; % 符号常量 c=sym('); c; % 符号表达式 三种表达方式 f1=' ...

  7. MATLAB——线性神经网络

     这个函数默认使用最小二乘,所以不需要训练 % example5_1.m x=-:; y=*x-; % 直线方程为 randn(); % 设置种子,便于重复执行 y=y+randn(,length(y ...

  8. Matlab实现线性回归和逻辑回归: Linear Regression & Logistic Regression

    原文:http://blog.csdn.net/abcjennifer/article/details/7732417 本文为Maching Learning 栏目补充内容,为上几章中所提到单参数线性 ...

  9. HDU_1071——积分求面积,抛物线顶点公式

    Problem Description Ignatius bought a land last week, but he didn't know the area of the land becaus ...

随机推荐

  1. 洛谷P4092 [HEOI2016/TJOI2016]树 并查集/树链剖分+线段树

    正解:并查集/树链剖分+线段树 解题报告: 传送门 感觉并查集的那个方法挺妙的,,,刚好又要复习下树剖了,所以就写个题解好了QwQ 首先说下并查集的方法趴QwQ 首先离线,读入所有操作,然后dfs遍历 ...

  2. iOS学习之Object-C语言属性和点语法(转载收集)

    一.属性      1.属性的声明:在.h文件中使用@property声明属性.           @property NSString *name;       2.属性的作用是生成setter以 ...

  3. python采集百度搜索结果带有特定URL的链接

    #coding utf-8 import requests from bs4 import BeautifulSoup as bs import re from Queue import Queue ...

  4. Redis入门到高可用(十四)—— bitmap

    一.初步认识 二.API 1.setbit 2.getbit 3.bitcount 4.bitop 5.bitpos 三.位图使用 四. 使用经验

  5. 【UML】NO.46.EBook.5.UML.1.006-【UML 大战需求分析】- 用例图(Use Case Diagram)

    1.0.0 Summary Tittle:[UML]NO.46.EBook.1.UML.1.006-[UML 大战需求分析]- 用例图(Use Case Diagram) Style:DesignPa ...

  6. 监听器&上传下载&I18N

    监听器(Listener) 监听Java对象 的方法调用和属性改变() web的一个组件 事件驱动编程:事件源,事件名称,事件响应函数,事件对象 以后在Spring中的配置 WEB中有哪些监听器?  ...

  7. fcrackzip (zip密码破解工具)

    现在做一个例子,首先生成一个带有密码的zip的包 zip -P hujhh test.zip test1.txt test2,txt 可以看到密码是5位的纯字母 现在就用我们的这个软件开始破解 fcr ...

  8. html5 javascript 事件练习3随机键盘

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  9. 连接mysql数据库,创建用户模型

    1.安装与配置python3.6+flask+mysql数据库 (1)下载安装MySQL数据库 (2)下载安装MySQL-python 中间件 (3)pip install flask-sqlalch ...

  10. solr简单搜索案例

    solr简单搜索案例 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字搜索商品信息,根据商品分类.价格过滤搜索结果,也可以根据价格进行排序,实现分页. 架构分为: 1. solr服务器 2. ...