MATLAB代码
clear;clc
%%%%%%%%%%%%方程里的参量%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
alpha=0.5;beta=0.5;
%%%%%%%%%%%%%%%%%%%%%%%%%%网格划分%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
L=1;%区间x的长度
h=0.1; %划分小区间 Delta x的长度
Mx=L/h; %划分的份数
x=[1:Mx-1]*h; %得到 x 的网格值注意是去掉 x=0 和 x=1 的.[1,Mx-1]
tau=h;
N=10; % 时间 t 的层数
t=[1:N]*tau; %时间t的网格点
%%%%%%%%%%%%%%%%%%%%系数矩阵里的参数定义%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
R=(tau^alpha)*(gamma(2-alpha))/(h*h);
for j=1:Mx-1
r(j)=beta*R/j;
end
r;
%%%%%%%%%%%%%%%%%%%%%%%%分数阶系数矩阵%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
v0=1+2*R-r; %主对角线上元素
A=diag(v0);
v1=r-R ;
v1=v1(2:end);%下次对角线上的元素
B=diag(v1,-1);
v3=-R*ones(1,Mx-2); %上次对角线上的元素
C=diag(v3,1);
D=A+B+C;
E=inv(D);
%%%%%%%%%%%%%%%%%非齐次项f(x,t)构成的矩阵%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for k=1:N-1
for j=1:Mx-1
f(k,j)=(t(k).^(1-alpha))*(sin(pi*x(j)))/gamma(2-alpha)-pi*t(k)*(beta*cos(pi*x(j))/x(j)-pi*sin(pi*x(j)));
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%递推关系%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for k=1:N
w(k)=(1+k)^(1-alpha)-k^(1-alpha);
end
for k=1:N-1
d(k)=w(k)-w(k+1);
end
u(1,:)=E*((tau^alpha)*gamma(2-alpha)*f(1,:))';
u(2,:)=E*((1-w(1))*u(1,:)+(tau^alpha)*gamma(2-alpha)*f(2,:))';
for n=2:N-2
for k=1:n-1
s(k,:)=d(n-k)*u(k,:);
end
u(n+1,:)=E*((1-w(1))*u(n,:)+sum(s(1:n-1,:),1)+(tau^alpha)*gamma(2-alpha)*f(n+1,:))';
end
u;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%计算误差%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for k=1:N-1
for j=1:Mx-1
e(k,j)=u(k,j)-t(k)*sin(pi*x(j));
end
end
err=max(max(abs(e))) %最大误差
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%画图u(x,t)%%%%%%%%%%%%%%%%%%%%%%%%%%
MATLAB代码的更多相关文章
- 如何加速MATLAB代码运行
学习笔记 V1.0 2015/4/17 如何加速MATLAB代码运行 概述 本文源于LDPCC的MATLAB代码,即<CCSDS标准的LDPC编译码仿真>.由于代码的问题,在信息位长度很长 ...
- 多分类问题中,实现不同分类区域颜色填充的MATLAB代码(demo:Random Forest)
之前建立了一个SVM-based Ordinal regression模型,一种特殊的多分类模型,就想通过可视化的方式展示模型分类的效果,对各个分类区域用不同颜色表示.可是,也看了很多代码,但基本都是 ...
- 卷积相关公式的matlab代码
取半径=3 用matlab代码实现上式公式: length=3;for Ki = 1:length for Kj = 1:length for Kk = 1:length Ksigma(Ki,Kj,K ...
- JAVA调用matlab代码
做实验一直用的matlab代码,需要嵌入到java项目中,matlab代码拼拼凑凑不是很了解,投机取巧采用java调用matlab的方式解决. 1. matlab版本:matlabR2014a ...
- 调试和运行matlab代码(源程序)的技巧和教程
转载请标明出处:专注matlab代码下载的网站http://www.downma.com/ 本文主要给大家分享使用matlab编写代码,完成课程设计.毕业设计或者研究项目时,matlab调试程序的技巧 ...
- 直方图均衡化与Matlab代码实现
昨天说了,今天要好好的来解释说明一下直方图均衡化.并且通过不调用histeq函数来实现直方图的均衡化. 一.直方图均衡化概述 直方图均衡化(Histogram Equalization) 又称直方图平 ...
- 将labelme 生成的.json文件进行可视化的代码+label.png 对比度处理的matlab代码
labelme_to_dataset 指令的代码实现: show.py文件 #!E:\Anaconda3\python.exe import argparse import json import o ...
- SVM实例及Matlab代码
******************************************************** ***数据集下载地址 :http://pan.baidu.com/s/1geb8CQf ...
- Latex中Matlab代码的环境
需要用到listings宏包 使用方法: 导言区\usepackage{listings}\lstset{language=Matlab} %代码语言使用的是matlab\lstset{br ...
- Frequency-tuned Salient Region Detection MATLAB代码出错修改方法
论文:Frequency-tuned Salient Region Detection.CVPR.2009 MATLAB代码运行出错如下: Error using makecform>parse ...
随机推荐
- [ASP.NET 技术点滴] Jquery 前端验证
先上HTML代码: <form id="login" name="login" action="~/f_login/Login" me ...
- javascript倒计时代码
其实就是用两个时间戳相减,余数转换为日期,就是所剩的年月日时分秒,不过年份-1970 $scope.timerID = null; $scope.timerRunning = false;$scope ...
- UVA 11426 GCD-Extreme(II) ★ (欧拉函数)
题意 求Σ{1<=i<N} Σ{i<j<=N} GCD(i, j) (N<=4000000) 分析 原始思路 暴力求明显是不行的,我们把式子简化形式一下发现它可以 ...
- LeetCode Invert Binary Tree 反转二叉树
思路:递归解决,在返回root前保证该点的两个孩子已经互换了.注意可能给一个Null. C++ /** * Definition for a binary tree node. * struct Tr ...
- 学习PHP C扩展之面向对象开发方式 (转)
PHP OOP面向对象之C语言开发方式 学习PHP C扩展有一段时间了,PHP手册里大部分讲的PHP的函数开发方式,网上找OOP资料比较少,想起上个月测试redis 的时候,下载PHP扩展redis源 ...
- Java Socket(2): 异常处理
1 超时 套接字底层是基于TCP的,所以socket的超时和TCP超时是相同的.下面先讨论套接字读写缓冲区,接着讨论连接建立超时.读写超时以及JAVA套接字编程的嵌套异常捕获和一个超时例子程序的抓包示 ...
- 图文详解YUV420数据格式
YUV格式有两大类:planar和packed.对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V.对于packed的YUV格式,每个像素点的Y,U ...
- DirectShow建立一个视频捕捉程序
DirectShow 提供了用应用程序从适当的硬件中捕捉和预览音/视频的能力.数据源包括:VCR,camera,TV tuner,microphone,或其他的数据源.一个应用程序可以立刻显示捕捉的数 ...
- IE8按F12不显示开发人员工具窗口
转:http://www.cnblogs.com/micromouse/archive/2010/07/11/1775174.html 网上搜来的,记录一下,免得以后忘了 F12将开发人员工具启动后, ...
- 不同语言的Unix时间戳
如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)? Java time JavaScript Math.round(new Date().getTime()/1000)ge ...