偏微分方程数值解法的MATLAB源码

偏微分方程数值解法的MATLAB源码
偏微分方程数值解法的MATLAB源码

[原创]偏微分方程数值解法的MATLAB源码【更新完毕】

说明:由于偏微分的程序都比较长,比其他的算法稍复杂一些,所以另开一贴,专门上传偏微分的程序谢谢大家的支持!其他的数值算法见:..//Announce/Announce.asp?BoardID=209&id=82450041、古典显式格式求解抛物型偏微分方程(一维热传导方程)

function [U x t]=PDEParabolicClassicalExplicit(uX,uT,phi,psi1,psi2,M,N,C)

%古典显式格式求解抛物型偏微分方程

%[U x t]=PDEParabolicClassicalExplicit(uX,uT,phi,psi1,psi2,M,N,C)

%

%方程:u_t=C*u_xx 0 <= x <= uX,0 <= t <= uT

%初值条件:u(x,0)=phi(x)

%边值条件:u(0,t)=psi1(t), u(uX,t)=psi2(t)

%

%输出参数:U -解矩阵,第一行表示初值,第一列和最后一列表示边值,第二行表示第2层……

% x -空间变量

% t -时间变量

%输入参数:uX -空间变量x的取值上限

% uT -时间变量t的取值上限

% phi -初值条件,定义为内联函数

% psi1 -边值条件,定义为内联函数

% psi2 -边值条件,定义为内联函数

% M -沿x轴的等分区间数

% N -沿t轴的等分区间数

% C -系数,默认情况下C=1

%

%应用举例:

%uX=1;uT=0.2;M=15;N=100;C=1;

%phi=inline('sin(pi*x)');psi1=inline('0');psi2=inline('0');

%[U x t]=PDEParabolicClassicalExplicit(uX,uT,phi,psi1,psi2,M,N,C);

%设置参数C的默认值

if nargin==7

C=1;

end

%计算步长

dx=uX/M;%x的步长

dt=uT/N;%t的步长

x=(0:M)*dx;

t=(0:N)*dt;

r=C*dt/dx/dx;%步长比

r1=1-2*r;

if r > 0.5

disp('r > 0.5,不稳定')

end

%计算初值和边值

U=zeros(M+1,N+1);

for i=1:M+1

U(i,1)=phi(x(i));

end

for j=1:N+1

U(1,j)=psi1(t(j));

U(M+1,j)=psi2(t(j));

end

%逐层求解

for j=1:N

for i=2:M

U(i,j+1)=r*U(i-1,j)+r1*U(i,j)+r*U(i+1,j);

end

end

U=U';

%作出图形

mesh(x,t,U);

title('古典显式格式,一维热传导方程的解的图像') xlabel('空间变量x')

ylabel('时间变量t')

zlabel('一维热传导方程的解U')

return;

古典显式格式不稳定情况古典显式格式稳

定情况2、古典隐式格式求解抛物型偏微分方程(一维热传导方程)

function [U x t]=PDEParabolicClassicalImplicit(uX,uT,phi,psi1,psi2,M,N,C)

%古典隐式格式求解抛物型偏微分方程

%[U x t]=PDEParabolicClassicalImplicit(uX,uT,phi,psi1,psi2,M,N,C)

%

%方程:u_t=C*u_xx 0 <= x <= uX,0 <= t <= uT

%初值条件:u(x,0)=phi(x)

%边值条件:u(0,t)=psi1(t), u(uX,t)=psi2(t)

%

%输出参数:U -解矩阵,第一行表示初值,第一列和最后一列表示边值,第二行表示第2层……

% x -空间变量

% t -时间变量

%输入参数:uX -空间变量x的取值上限

% uT -时间变量t的取值上限

% phi -初值条件,定义为内联函数

% psi1 -边值条件,定义为内联函数

% psi2 -边值条件,定义为内联函数

% M -沿x轴的等分区间数

% N -沿t轴的等分区间数

% C -系数,默认情况下C=1

%

%应用举例:

%uX=1;uT=0.2;M=50;N=50;C=1;

%phi=inline('sin(pi*x)');psi1=inline('0');psi2=inline('0');

%[U x t]=PDEParabolicClassicalImplicit(uX,uT,phi,psi1,psi2,M,N,C);

%设置参数C的默认值

if nargin==7

C=1;

end

%计算步长

dx=uX/M;%x的步长

dt=uT/N;%t的步长

x=(0:M)*dx;

t=(0:N)*dt;

r=C*dt/dx/dx;%步长比

Diag=zeros(1,M-1);%矩阵的对角线元素

Low=zeros(1,M-2);%矩阵的下对角线元素

Up=zeros(1,M-2);%矩阵的上对角线元素

for i=1:M-2

Diag(i)=1+2*r;

Low(i)=-r;

Up(i)=-r;

end

Diag(M-1)=1+2*r;

%计算初值和边值

U=zeros(M+1,N+1);

for i=1:M+1

U(i,1)=phi(x(i));

end

for j=1:N+1

U(1,j)=psi1(t(j));

U(M+1,j)=psi2(t(j));

end

%逐层求解,需要使用追赶法(调用函数EqtsForwardAndBackward)

for j=1:N

b1=zeros(M-1,1);

b1(1)=r*U(1,j+1);

b1(M-1)=r*U(M+1,j+1);

b=U(2:M,j)+b1;

U(2:M,j+1)=EqtsForwardAndBackward(Low,Diag,Up,b);

end

U=U';

%作出图形

mesh(x,t,U);

title('古典隐式格式,一维热传导方程的解的图像')

xlabel('空间变量x')

ylabel('时间变量t')

zlabel('一维热传导方程的解U')

return;

此算法需要使用追赶法求解三对角线性方程组,这个算法在上一篇帖子中已经给出,为了方便,再给出来追赶法解三对角线性方程组

function x=EqtsForwardAndBackward(L,D,U,b)

%追赶法求解三对角线性方程组Ax=b

%x=EqtsForwardAndBackward(L,D,U,b)

%x:三对角线性方程组的解

%L:三对角矩阵的下对角线,行向量

%D:三对角矩阵的对角线,行向量

%U:三对角矩阵的上对角线,行向量

%b:线性方程组Ax=b中的b,列向量

%

%应用举例:

%L=[-1 -2 -3];D=[2 3 4 5];U=[-1 -2 -3];b=[6 1 -2 1]';

%x=EqtsForwardAndBackward(L,D,U,b)

%检查参数的输入是否正确

n=length(D);m=length(b);

n1=length(L);n2=length(U);

if n-n1 ~= 1 || n-n2 ~= 1 || n ~= m

disp('输入参数有误!')

x=' ';

return;

end

%追的过程

for i=2:n

L(i-1)=L(i-1)/D(i-1);

D(i)=D(i)-L(i-1)*U(i-1);

end

x=zeros(n,1);

x(1)=b(1);

for i=2:n

x(i)=b(i)-L(i-1)*x(i-1);

end

%赶的过程

x(n)=x(n)/D(n);

for i=n-1:-1:1

x(i)=(x(i)-U(i)*x(i+1))/D(i);

end

return;

古典隐式格式在以后的程序中,我们都取C=1,不再作为一个输入参数处理3、Crank-Nicolson隐式格式求解抛物型偏微分方程需要调用追赶法的程序

function [U x t]=PDEParabolicCN(uX,uT,phi,psi1,psi2,M,N)

%Crank-Nicolson隐式格式求解抛物型偏微分方程

%[U x t]=PDEParabolicCN(uX,uT,phi,psi1,psi2,M,N)

%

%方程:u_t=u_xx 0 <= x <= uX,0 <= t <= uT

%初值条件:u(x,0)=phi(x)

%边值条件:u(0,t)=psi1(t), u(uX,t)=psi2(t)

%

%输出参数:U -解矩阵,第一行表示初值,第一列和最后一列表示边值,第二行表示第2层……% x -空间变量

% t -时间变量

%输入参数:uX -空间变量x的取值上限

% uT -时间变量t的取值上限

% phi -初值条件,定义为内联函数

% psi1 -边值条件,定义为内联函数

% psi2 -边值条件,定义为内联函数

% M -沿x轴的等分区间数

% N -沿t轴的等分区间数

%

%应用举例:

%uX=1;uT=0.2;M=50;N=50;

%phi=inline('sin(pi*x)');psi1=inline('0');psi2=inline('0');

%[U x t]=PDEParabolicCN(uX,uT,phi,psi1,psi2,M,N);

%计算步长

dx=uX/M;%x的步长

dt=uT/N;%t的步长

x=(0:M)*dx;

t=(0:N)*dt;

r=dt/dx/dx;%步长比

Diag=zeros(1,M-1);%矩阵的对角线元素

Low=zeros(1,M-2);%矩阵的下对角线元素

Up=zeros(1,M-2);%矩阵的上对角线元素

for i=1:M-2

Diag(i)=1+r;

Low(i)=-r/2;

Up(i)=-r/2;

end

Diag(M-1)=1+r;

%计算初值和边值

U=zeros(M+1,N+1);

for i=1:M+1

U(i,1)=phi(x(i));

end

for j=1:N+1

U(1,j)=psi1(t(j));

U(M+1,j)=psi2(t(j));

end

B=zeros(M-1,M-1);

for i=1:M-2

B(i,i)=1-r;

B(i,i+1)=r/2;

B(i+1,i)=r/2;

end

B(M-1,M-1)=1-r;

%逐层求解,需要使用追赶法(调用函数EqtsForwardAndBackward)for j=1:N

b1=zeros(M-1,1);

b1(1)=r*(U(1,j+1)+U(1,j))/2;

b1(M-1)=r*(U(M+1,j+1)+U(M+1,j))/2;

b=B*U(2:M,j)+b1;

U(2:M,j+1)=EqtsForwardAndBackward(Low,Diag,Up,b);

end

U=U';

%作出图形

mesh(x,t,U);

title('Crank-Nicolson隐式格式,一维热传导方程的解的图像')

xlabel('空间变量x')

ylabel('时间变量t')

zlabel('一维热传导方程的解U')

return;

Crank-Nicolson隐式格式4、正方形区域Laplac e方程Diriclet问题的求解需要调用Jacobi迭代法和Guass-Seidel迭代法求解线性方程组

function [U x y]=PDEEllipseSquareLaplaceDirichlet(ub,phi1,phi2,psi1,psi2,M,type)

%正方形区域Laplace方程的Diriclet边值问题的差分求解

%此程序需要调用Jacobi迭代法或者Guass-Seidel迭代法求解线性方程组

%[U x y]=PDEEllipseSquareLaplaceDirichlet(ub,phi1,phi2,psi1,psi2,M,type)

%

%方程:u_xx+u_yy=0 0<=x,y<=ub

%边值条件:u(0,y)=phi1(y)

% u(ub,y)=phi2(y)

% u(x,0)=psi1(x)

% u(x,ub)=psi2(x)

%

%输出参数:U -解矩阵,第一行表示y=0时的值,第二行表示第y=h时的值……

% x -横坐标

% y -纵坐标

%输入参数:ub -变量边界值的上限

% phi1,phi2,psi1,psi2 -边界函数,定义为内联函数

% M -横纵坐标的等分区间数

% type -求解差分方程的迭代格式,若type='Jacobi',采用Jacobi迭代格式

% 若type='GS',采用Guass-Seidel迭代格式。默认情况下,type='GS'

%

%应用举例:

%ub=4;M=20;

%phi1=inline('y*(4-y)');phi2=inline('0');psi1=inline('sin(pi*x/4)');psi2=inline('0');

%[U x y]=PDEEllipseSquareLaplaceDirichlet(ub,phi1,phi2,psi1,psi2,M,'GS');

if nargin==6

type='GS';

end

%步长

h=ub/M;

%横纵坐标

x=(0:M)*h;

y=(0:M)*h;

%差分格式的矩阵形式AU=K

%构造矩阵A

M2=(M-1)^2;

A=zeros(M2);

for i=1:M2

A(i,i)=4;

end

for i=1:M2-1

if mod(i,M-1)~=0

A(i,i+1)=-1;

A(i+1,i)=-1;

end

end

for i=1:M2-M+1

A(i,i+M-1)=-1;

A(i+M-1,i)=-1;

end

U=zeros(M+1);

%边值条件

for i=1:M+1

U(i,1)=psi1((i-1)*h);

U(i,M+1)=psi2((i-1)*h);

U(1,i)=phi1((i-1)*h);

U(M+1,i)=phi2((i-1)*h);

end

%构造K

K=zeros(M2,1);

for i=1:M-1

K(i)=U(i+1,1);

K(M2-i+1)=U(i+1,M+1);

end

K(1)=K(1)+U(1,2);

K(M-1)=K(M-1)+U(M+1,2);

K(M2-M+2)=K(M2-M+2)+U(1,M);

K(M2)=K(M2)+U(M+1,M);

for i=2:M-2

K((M-1)*(i-1)+1)=U(1,i+1);

K((M-1)*i)=U(M+1,i+1);

end

x0=ones(M2,1);

switch type

%调用Guass-Seidel迭代法求解线性方程组AU=K

case 'Jacobi'

X=EqtsJacobi(A,K,x0);

%调用Guass-Seidel迭代法求解线性方程组AU=K

case 'GS'

X=EqtsGS(A,K,x0);

otherwise

disp('差分格式类型输入错误')

return;

end

%把求解结果化成矩阵型式

for i=2:M

for j=2:M

U(j,i)=X(j-1+(M-1)*(i-2));

end

end

U=U';

%作出图形

mesh(x,y,U);

title('五点差分格式Laplace方程Diriclet问题的解的图像') xlabel('x')

ylabel('y')

zlabel('Laplace方程Diriclet问题的解U')

return;

正方形区域Laplace方程五点差分格式

5、一阶双曲型方程的差分方法

function [U x t]=PDEHyperbolic(uX,uT,M,N,C,phi,psi1,psi2,type)

%一阶双曲型方程的差分格式

%[U x t]=PDEHyperbolic(uX,uT,M,N,C,phi,psi1,psi2,type)

%

%方程:u_t+C*u_x=0 0 <= t <= uT, 0 <= x <= uX

%初值条件:u(x,0)=phi(x)

%

%输出参数:U -解矩阵,第一行表示初值,第二行表示第2个时间层……

% x -横坐标

% t -纵坐标,时间

%输入参数:uX -变量x的上界

% uT -变量t的上界

% M -变量x的等分区间数

% N -变量t的等分区间数

% C -系数

% phi -初值条件函数,定义为内联函数

% psi1,psi2 -边值条件函数,定义为内联函数

% type -差分格式,从下列值中选取

% -type='LaxFriedrichs',采用Lax-Friedrichs差分格式求解

% -type='CourantIsaacsonRees',采用Courant-Isaacson-Rees差分格式求解

% -type='LeapFrog',采用Leap-Frog(蛙跳)差分格式求解

% -type='LaxWendroff',采用Lax-Wendroff差分格式求解

% -type='CrankNicolson',采用Crank-Nicolson差分格式求解,此格式需调用追赶法% 求解三对角线性方程组

%

h=uX/M;%变量x的步长

k=uT/N;%变量t的步长

r=k/h;%步长比

x=(0:M)*h;

t=(0:N)*k;

U=zeros(M+1,N+1);

%初值条件

for i=1:M+1

U(i,1)=phi(x(i));

end

%边值条件

for j=1:N+1

U(1,j)=psi1(t(j));

U(M+1,j)=psi2(t(j));

%U(1,j)=NaN;

%U(M+1,j)=NaN;

end

switch type

%Lax-Friedrichs差分格式

case 'LaxFriedrichs'

if abs(C*r)>1

disp('|C*r|>1,Lax-Friedrichs差分格式不稳定!') end

%逐层求解

for j=1:N

for i=2:M

U(i,j+1)=(U(i+1,j)+U(i-1,j))/2-C*r*(U(i+1,j)-U(i-1,j))/2;

end

end

%Courant-Isaacson-Rees差分格式

case 'CourantIsaacsonRees'

if C<0

disp('C<0,采用前差公式')

if C*r<-1

disp('Courant-Isaacson-Lees差分格式不稳定!') end

%逐层求解

for j=1:N

for i=2:M

U(i,j+1)=(1+C*r)*U(i,j)-C*r*U(i+1,j);

end

end

else

disp('C>0,采用后差公式')

if C*r>1

disp('Courant-Isaacson-Lees差分格式不稳定!')

end

%逐层求解

for j=1:N

for i=2:M

U(i,j+1)=C*r*U(i-1,j)+(1-C*r)*U(i,j);

end

end

end

%Leap-Frog(蛙跳)差分格式

case 'LeapFrog'

phi2=input('请输入第二层初值条件函数:psi2=');

if abs(C*r)>1

disp('|C*r|>1,Leap-Frog差分格式不稳定!')

end

%第二层初值条件

for i=1:M+1

U(i,2)=phi2(x(i));

end

%逐层求解

for j=2:N

for i=2:M

U(i,j+1)=U(i,j-1)-C*r*(U(i+1,j)-U(i-1,j));

end

end

%Lax-Wendroff差分格式

case 'LaxWendroff'

if abs(C*r)>1

disp('|C*r|>1,Lax-Wendroff差分格式不稳定!')

end

%逐层求解

for j=1:N

for i=2:M

U(i,j+1)=U(i,j)-C*r*(U(i+1,j)-U(i-1,j))/2+C^2*r^2*(U(i+1,j)-2*U(i,j)+U(i-1,j))/2;

end

end

%Crank-Nicolson隐式差分格式,需调用追赶法求解三对角线性方程组的算法

case 'CrankNicolson'

Diag=zeros(1,M-1);%矩阵的对角线元素

Low=zeros(1,M-2);%矩阵的下对角线元素

Up=zeros(1,M-2);%矩阵的上对角线元素

for i=1:M-2

Diag(i)=4;

Low(i)=-r*C;

Up(i)=r*C;

end

Diag(M-1)=4;

B=zeros(M-1,M-1);

for i=1:M-2

B(i,i)=4;

B(i,i+1)=-r*C;

B(i+1,i)=r*C;

end

B(M-1,M-1)=4;

%逐层求解,需要使用追赶法(调用函数EqtsForwardAndBackward) for j=1:N

b1=zeros(M-1,1);

b1(1)=r*C*(U(1,j+1)+U(1,j))/2;

b1(M-1)=-r*C*(U(M+1,j+1)+U(M+1,j))/2;

b=B*U(2:M,j)+b1;

U(2:M,j+1)=EqtsForwardAndBackward(Low,Diag,Up,b);

end

otherwise

disp('差分格式类型输入有误!')

return;

end

U=U';

%作出图形

mesh(x,t,U);

title([type '格式求解一阶双曲型方程的解的图像']);

xlabel('空间变量x');

ylabel('时间变量t');

zlabel('一阶双曲型方程的解U');

return;

matlab源代码实例

1.硬币模拟试验 源代码: clear; clc; head_count=0; p1_hist= [0]; p2_hist= [0]; n = 1000; p1 = 0.3; p2=0.03; head = figure(1); rand('seed',sum(100*clock)); fori = 1:n tmp = rand(1); if(tmp<= p1) head_count = head_count + 1; end p1_hist (i) = head_count /i; end figure(head); subplot(2,1,1); plot(p1_hist); grid on; hold on; xlabel('重复试验次数'); ylabel('正面向上的比率'); title('p=0.3试验次数N与正面向上比率的函数图'); head_count=0; fori = 1:n tmp = rand(1); if(tmp<= p2) head_count = head_count + 1; end p2_hist (i) = head_count /i; end figure(head); subplot(2,1,2); plot(p2_hist); grid on; hold on; xlabel('重复试验次数'); ylabel('正面向上的比率'); title('p=0.03试验次数N与正面向上比率的函数图'); 实验结果:

2.不同次数的随机试验均值方差比较 源代码: clear ; clc; close; rand('seed',sum(100*clock)); Titles = ['n=5时' 'n=20时' 'n=25时' 'n=50时' 'n=100时']; Titlestr = cellstr(Titles); X_n_bar=[0]; %the samples of the X_n_bar X_n=[0]; %the samples of X_n N=[5,10,25,50,100]; j=1; num_X_n = 100; num_X_n_bar = 100; h_X_n_bar = figure(1);

通信原理基于matlab的计算机仿真_源代码

例错误!文档中没有指定样式的文字。-1 %周期信号(方波)的展开,fb_jinshi.m close all; clear all; N=100; %取展开式的项数为2N+1项 T=1; fs=1/T; N_sample=128; %为了画出波形,设置每个周期的采样点数 dt = T/N_sample; t=0:dt:10*T-dt; n=-N:N; Fn = sinc(n/2).*exp(-j*n*pi/2); Fn(N+1)=0; ft = zeros(1,length(t)); for m=-N:N ft = ft + Fn(m+N+1)*exp(j*2*pi*m*fs*t); end plot(t,ft) 例错误!文档中没有指定样式的文字。-4 利用FFT计算信号的频谱并与信号的真实频谱的抽样比较。 脚本文件T2F.m定义了函数T2F,计算信号的傅立叶变换。 function [f,sf]= T2F(t,st) %This is a function using the FFT function to calculate a signal's Fourier %Translation %Input is the time and the signal vectors,the length of time must greater %than 2 %Output is the frequency and the signal spectrum dt = t(2)-t(1); T=t(end); df = 1/T; N = length(st); f=-N/2*df:df:N/2*df-df; sf = fft(st); sf = T/N*fftshift(sf); 脚本文件F2T.m定义了函数F2T,计算信号的反傅立叶变换。 function [t st]=F2T(f,sf) %This function calculate the time signal using ifft function for the input %signal's spectrum

matlab语音识别系统(源代码)最新版

matlab语音识别系统(源代码)最新版

目录 一、设计任务及要求 (1) 二、语音识别的简单介绍 2.1语者识别的概念 (2) 2.2特征参数的提取 (3) 2.3用矢量量化聚类法生成码本 (3) 2.4VQ的说话人识别 (4) 三、算法程序分析 3.1函数关系 (4) 3.2代码说明 (5) 3.2.1函数mfcc (5) 3.2.2函数disteu (5) 3.2.3函数vqlbg (6) 3.2.4函数test (6) 3.2.5函数testDB (7) 3.2.6 函数train (8) 3.2.7函数melfb (8) 四、演示分析 (9) 五、心得体会 (11) 附:GUI程序代码 (12)

一、设计任务及要求 用MATLAB实现简单的语音识别功能; 具体设计要求如下: 用MATLAB实现简单的数字1~9的语音识别功能。 二、语音识别的简单介绍 基于VQ的说话人识别系统,矢量量化起着双重作用。在训练阶段,把每一个说话者所提取的特征参数进行分类,产生不同码字所组成的码本。在识别(匹配)阶段,我们用VQ方法计算平均失真测度(本系统在计算距离d时,采用欧氏距离测度),从而判断说话人是谁。 语音识别系统结构框图如图1所示。 图1 语音识别系统结构框图 2.1语者识别的概念 语者识别就是根据说话人的语音信号来判别说话人的身份。语音是人的自然属性之一,由于说话人发音器官的生理差异以及后天形成的行为差异,每个人的语音都带有强烈的个人色彩,这就使得通过分析语音信号来识别说话人成为可能。用语音来鉴别说话人的身份有着许多独特的优点,如语音是人的固有的特征,不会丢失或遗忘;语音信号的采集方便,系统设备成本低;利用电话网络还可实现远程客户服务等。因此,近几年来,说话人识别越来越多的受到人们的重视。与其他生物识别技术如指纹识别、手形识别等相比较,说话人识别不仅使用方便,而且属于非接触性,容易被用户接受,并且在已有的各种生物特征识别技术中,是唯一可以用作远程验证的识别技术。因此,说话人识别的应用前景非常广泛:今天,说话人识别技术已经关系到多学科的研究领域,不同领域中的进步都对说话人识别的发展做出了贡献。说话人识别技术是集声学、语言学、计算机、信息处理和人工智能等诸多领域的一项综合技术,应用需求将十分广阔。在吃力语音信号的时候如何提取信号中关键的成分尤为重要。语音信号的特征参数的好坏直接导致了辨别的准确性。

偏微分方程数值解

偏微分方程数值解 偏微分方程地构建科学、工程学和其他领域的数学模型的主要手段。一般情况下,这些模型都需要用数值方法去求解。本书提供了标准数值技术的简明介绍。借助抛物线型、双曲线型和椭圆型方程的一些简单例子介绍了常用的有限差分方法、有限元方法、有限体方法、修正方程分析、辛积分格式、对流扩散问题、多重网络、共轭梯度法。利用极大值原理、能量法和离散傅里叶分析清晰严格地处理了稳定性问题。本书全面讨论了这些方法的性质,并附有典型的图像结果,提供了不同难度的例子和练习。 本书可作为数学、工程学及计算机科学专业本科教材,也可供工程技术人员和应用工作者参考。 偏微分方程数值解---学习总结(2) 关于SobolveSobolve空间的几个重要定理 迹定理 : ΩΩ是 RdRd 的一个有界开子集,具有李普希茨连续边界?Ω?Ω, s>12s>12, 则 a.存在唯一的连续线性映射γ0:Hs(Ω)→Hs?12(?Ω),满足γ0v=v ∣∣?Ω,?v∈Hs(Ω)∩C0(Ωˉˉˉˉ), b.存在唯一的连续映射R0:Hs?12(?Ω)→Hs(Ω),满足γ0°R0°φ=φ,?φ∈Hs?12(?Ω).(1)(2)(1)a.存在唯一的连续线性映射γ0:Hs(Ω)→Hs?12(?Ω),满足γ0v=v|?Ω,?v∈

Hs(Ω)∩C0(Ωˉ),(2)b.存在唯一的连续映射R0:Hs?12(?Ω)→Hs(Ω),满足γ0°R0°φ=φ,?φ∈Hs?12(?Ω). 迹定理把区域内部与边界联系起来. 上面定理中边界?Ω?Ω当被它的一个子集ΣΣ代替时,结论依然成立. S=1时, γ0:H1(Ω)→H12(?Ω)?L2(?Ω)||γ0v||0,?Ω≤||γ0v||2,?Ω≤C||v||1=C(||v||0+||?v||0).γ0:H1(Ω)→H12(?Ω)? L2(?Ω)||γ0v||0,?Ω≤||γ0v||2,?Ω≤C||v||1=C(||v||0+||? v||0). 注意几个范数 ||?||k||?||0||?||1||??||0=||?||k,2=||?||L2=||?||1,2=(||?||20+||??||20)12=|?|1.(3)(4)(5)(6)(3)||?||k=||?||k,2(4)||? ||0=||?||L2(5)||?||1=||?||1,2=(||?||02+||??||02)12(6)||?? ||0=|?|1. 庞加莱不等式(Poincare inequality): 假设ΩΩ是 RdRd 的一个有界联通开子集,ΣΣ是边界?Ω?Ω的一个非空的李普希茨连续子集. 则存在一个常数 CΩ>0CΩ>0满足 ∫Ωv2(x)dx≤CΩ∫Ω|?v(x)|2dx,?v∈H1Σ(Ω),其中H1Σ(Ω)={v ∈H1(Ω),γΣv=v∣∣Σ=0}.∫Ωv2(x)dx≤CΩ∫Ω|?v(x)|2dx,?v∈HΣ1(Ω),其中HΣ1(Ω)={v∈H1(Ω),γΣv=v|Σ=0}.

偏微分方程数值解法试题与答案

一.填空(1553=?分) 1.若步长趋于零时,差分方程的截断误差0→lm R ,则差分方程的解lm U 趋近于微分方 程的解lm u . 此结论_______(错或对); 2.一阶Sobolev 空间{} )(,,),()(21 Ω∈''=ΩL f f f y x f H y x 关于内积=1),( g f _____________________是Hilbert 空间; 3.对非线性(变系数)差分格式,常用 _______系数法讨论差分格式的_______稳定性; 4.写出3 x y =在区间]2,1[上的两个一阶广义导数:_________________________________, ________________________________________; 5.隐式差分格式关于初值是无条件稳定的. 此结论_______(错或对)。 二.(13分)设有椭圆型方程边值问题 用1.0=h 作正方形网格剖分 。 (1)用五点菱形差分格式将微分方程在内点离散化; (2)用截断误差为)(2 h O 的差分法将第三边界条件离散化; (3)整理后的差分方程组为 三.(12)给定初值问题 x u t u ??=?? , ()10,+=x x u 取时间步长1.0=τ,空间步长2.0=h 。试合理选用一阶偏心差分格式(最简显格式), 并以此格式求出解函数),(t x u 在2.0,2.0=-=t x 处的近似值。 1.所选用的差分格式是: 2.计算所求近似值: 四.(12分)试讨论差分方程 ()h a h a r u u r u u k l k l k l k l ττ + - = -+=++++11,111 1 逼近微分方程 0=??+??x u a t u 的截断误差阶R 。 思路一:将r 带入到原式,展开后可得格式是在点(l+1/2,k+1/2)展开的。 思路二:差分格式的用到的四个点刚好是矩形区域的四个顶点,可由此构造中心点的差分格 式。

基于MATLAB的潮流计算源程序代码(优.选)

%*************************电力系统直角坐标系下的牛顿拉夫逊法潮流计算********** clear clc load E:\data\IEEE014_Node.txt Node=IEEE014_Node; weishu=size(Node); nnum=weishu(1,1); %节点总数 load E:\data\IEEE014_Branch.txt branch=IEEE014_Branch; bwei=size(branch); bnum=bwei(1,1); %支路总数 Y=(zeros(nnum)); Sj=100; %********************************节点导纳矩阵******************************* for m=1:bnum; s=branch(m,1); %首节点 e=branch(m,2); %末节点 R=branch(m,3); %支路电阻 X=branch(m,4); %支路电抗 B=branch(m,5); %支路对地电纳 k=branch(m,6); if k==0 %无变压器支路情形 Y(s,e)=-1/(R+j*X); %互导纳 Y(e,s)=Y(s,e); end if k~=0 %有变压器支路情形 Y(s,e)=-(1/((R+j*X)*k)); Y(e,s)=Y(s,e); Y(s,s)=-(1-k)/((R+j*X)*k^2); Y(e,e)=-(k-1)/((R+j*X)*k); %对地导纳 end Y(s,s)=Y(s,s)-j*B/2; Y(e,e)=Y(e,e)-j*B/2; %自导纳的计算情形 end for t=1:nnum; Y(t,t)=-sum(Y(t,:))+Node(t,12)+j*Node(t,13); %求支路自导纳 end G=real(Y); %电导 B=imag(Y); %电纳 %******************节点分类************************************* * pq=0; pv=0; blancenode=0; pqnode=zeros(1,nnum); pvnode=zeros(1,nnum); for m=1:nnum; if Node(m,2)==3 blancenode=m; %平衡节点编号 else if Node(m,2)==0 pq=pq+1; pqnode(1,pq)=m; %PQ 节点编号 else if Node(m,2)==2 pv=pv+1; pvnode(1,pv)=m; %PV 节点编号 end end end end %*****************************设置电压初值********************************** Uoriginal=zeros(1,nnum); %对各节点电压矩阵初始化 for n=1:nnum Uoriginal(1,n)=Node(n,9); %对各点电压赋初值 if Node(n,9)==0;

偏微分方程数值解期末试题及答案(内容参考)

偏微分方程数值解试题(06B) 参考答案与评分标准 信息与计算科学专业 一(10分)、设矩阵A 对称,定义)(),(),(2 1 )(n R x x b x Ax x J ∈-= ,)()(0x x J λλ?+=.若0)0('=?,则称称0x 是)(x J 的驻点(或稳定点).矩阵A 对称(不必正定),求证0x 是)(x J 的驻点的充要条件是:0x 是方程组 b Ax =的解 解: 设n R x ∈0是)(x J 的驻点,对于任意的n R x ∈,令 ),(2 ),()()()(2 000x Ax x b Ax x J x x J λλλλ?+ -+=+=, (3分) 0)0('=?,即对于任意的n R x ∈,0),(0=-x b Ax ,特别取b Ax x -=0,则有 0||||),(2000=-=--b Ax b Ax b Ax ,得到b Ax =0. (3分) 反之,若 n R x ∈0满足 b Ax =0,则对于任意的 x ,)(),(2 1 )0()1()(00x J x Ax x x J >+ ==+??,因此0x 是)(x J 的最小值点. (4分) 评分标准:)(λ?的展开式3分, 每问3分,推理逻辑性1分 二(10分)、 对于两点边值问题:????? ==∈=+-=0 )(,0)() ,()(' b u a u b a x f qu dx du p dx d Lu 其中]),([,0]),,([,0)(min )(]),,([0min ] ,[1b a H f q b a C q p x p x p b a C p b a x ∈≥∈>=≥∈∈ 建立与上述两点边值问题等价的变分问题的两种形式:求泛函极小的Ritz 形式和 Galerkin 形式的变分方程。 解: 设}0)(),,(|{11 =∈=a u b a H u u H E 为求解函数空间,检验函数空间.取),(1 b a H v E ∈,乘方程两端,积分应用分部积分得到 (3分) )().(),(v f fvdx dx quv dx dv dx du p v u a b a b a ==+=??,),(1 b a H v E ∈? 即变分问题的Galerkin 形式. (3分)

偏微分方程数值解法

一、 问题 用有限元方法求下面方程的数值解 2 u u u f t ?-?+=? in (]0,T Ω? 0u = on []0,T ?Ω? ()00,u x u = in Ω 二、 问题分析 第一步 利用Green 公式,求出方程的变分形式 变分形式为:求()()21 00,;u L T H ∈Ω,使得 ()())(2 ,,,,u v u v u v f v t ???+??+= ???? ()10v H ?∈Ω (*) 以及 ()00,u x u =. 第二步 对空间进行离散,得出半离散格式 对区域Ω进行剖分,构造节点基函数,得出有限元子空间:()12,,,h NG V span ???=???,则(*)的Galerkin 逼近为: []0,t T ?∈,求()()1 0,h h u t x V H ∈?Ω,使得 ()()()()() () )(2 ,,,,h h h h h h h d u t v u t v u t v f v dt +??+= h h v V ?∈ (**) 以及()0,0h h u u =,0,h u 为初始条件0u 在h V 中的逼近,设0,h u 为0u 在h V 中的插值. 则0t ?≥,有()()1 N G h i i i u t t ξ? == ∑,0,h u =01 N G i i i ξ?=∑,代人(**)即可得到一常微分方程组. 第三步 进一步对时间进行离散,得到全离散的逼近格式 对 du dt 用差分格式.为此把[]0,T 等分为n 个小区间[]1,i i t t -,其长度1i i T t t t n -?=-= ,n t T =. 这样把求i t 时刻的近似记为i h u ,0 h u 是0u 的近似.这里对(**)采用向后的欧拉格式,即 ()()() () )(2 11 11 1 ,,,,i i i i h h h h h h h i h u u v u v u v f v t ++++-+??+ = ? h h v V ?∈ (***) i=0,1,2…,n-1. 0 h u =0,h u 由于向后欧拉格式为隐式格式且含有非线性项,故相邻两时间步之间采用牛顿迭代,即:

最常用的matlab图像处理的源代码

最常用的一些图像处理Matlab源代 码 #1:数字图像矩阵数据的显示及其傅立叶变换 #2:二维离散余弦变换的图像压缩 #3:采用灰度变换的方法增强图像的对比度 #4:直方图均匀化 #5:模拟图像受高斯白噪声和椒盐噪声的影响 #6:采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波 #7:采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波 #8:图像的自适应魏纳滤波 #9:运用5种不同的梯度增强法进行图像锐化 #10:图像的高通滤波和掩模处理 #11:利用巴特沃斯(Butterworth)低通滤波器对受噪声干扰的图像进行平滑处理 #12:利用巴特沃斯(Butterworth)高通滤波器对受噪声干扰的图像进行平滑处理 1.数字图像矩阵数据的显示及其傅立叶变换 f=zeros(30,30); f(5:24,13:17)=1; imshow(f, 'notruesize'); F=fft2(f,256,256); % 快速傅立叶变换算法只能处矩阵维数为2的幂次,f矩阵不 % 是,通过对f矩阵进行零填充来调整 F2=fftshift(F); % 一般在计算图形函数的傅立叶变换时,坐标原点在 % 函数图形的中心位置处,而计算机在对图像执行傅立叶变换 % 时是以图像的左上角为坐标原点。所以使用函数fftshift进 %行修正,使变换后的直流分量位于图形的中心; figure,imshow(log(abs(F2)),[-1 5],'notruesize');

2 二维离散余弦变换的图像压缩I=imread('cameraman.tif'); % MATLAB自带的图像imshow(I); clear;close all I=imread('cameraman.tif'); imshow(I); I=im2double(I); T=dctmtx(8); B=blkproc(I,[8 8], 'P1*x*P2',T,T'); Mask=[1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; B2=blkproc(B,[8 8],'P1.*x',Mask); % 此处为点乘(.*) I2=blkproc(B2,[8 8], 'P1*x*P2',T',T); figure,imshow(I2); % 重建后的图像 3.采用灰度变换的方法增强图像的对比度I=imread('rice.tif'); imshow(I); figure,imhist(I); J=imadjust(I,[0.15 0.9], [0 1]); figure,imshow(J); figure,imhist(J);

基本粒子群算法的matlab源程序

主函数源程序(main.m) %------基本粒子群优化算法(Particle Swarm Optimization)----------- %------名称:基本粒子群优化算法(PSO) %------作用:求解优化问题 %------说明:全局性,并行性,高效的群体智能算法 %------初始格式化-------------------------------------------------- clear all; clc; format long; %------给定初始化条件---------------------------------------------- c1=1.4962; %学习因子1 c2=1.4962; %学习因子2 w=0.7298; %惯性权重 MaxDT=1000; %最大迭代次数 D=10; %搜索空间维数(未知数个数) N=40; %初始化群体个体数目 eps=10^(-6); %设置精度(在已知最小值时候用) %------初始化种群的个体(可以在这里限定位置和速度的范围)------------ for i=1:N for j=1:D x(i,j)=randn; %随机初始化位置 v(i,j)=randn; %随机初始化速度 end end %------先计算各个粒子的适应度,并初始化Pi和Pg---------------------- for i=1:N p(i)=fitness(x(i,:),D); y(i,:)=x(i,:); end pg=x(1,:); %Pg为全局最优 for i=2:N if fitness(x(i,:),D) pg=x(i,:); end end %------进入主要循环,按照公式依次迭代,直到满足精度要求------------ for t=1:MaxDT for i=1:N v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:)); x(i,:)=x(i,:)+v(i,:); if fitness(x(i,:),D) p(i)=fitness(x(i,:),D); y(i,:)=x(i,:);

偏微分方程数值解复习题(2011硕士)

偏微分方程数值解期末复习(2011硕士) 一、考题类型 本次试卷共六道题目,题型及其所占比例分别为: 填空题20%;计算题80% 二、按章节复习内容 第一章 知识点:Euler法、向前差商、向后差商、中心差商、局部截断误差、整体截断误差、相容性、收敛性、阶、稳定性、显格式、隐格式、线性多步法、第一特征多项式、第二特征多项式、稳定多项式、绝对稳定等; 要求: 会辨认差分格式, 判断线性多步法的误差和阶; 第二章 知识点:矩形网格、(正则,非正则)内点、边界点、偏向前(向后,中心)差商、五点差分格式、增设虚点法、积分插值法、线性椭圆型差分格式、极值原理、比较定理、五点差分格式的相容收敛和、稳定性等; 要求: 建立椭圆型方程边值问题的差分格式, 极值原理; 第四章 知识点:最简显格式、最简隐格式、CN格式、双层加权格式、Richardson 格式、网格比、传播因子法(分离变量法) 、传播因子、传播矩阵、谱半径、von Neumann条件、跳点格式、ADI格式、线性椭圆型差分格式、极值原理、比较定理、五点差分格式的相容收敛和稳定性等; 要求: 建立抛物型方程边值问题的差分格式, 计算局部截断误差; 第五章 知识点:左偏心格式、右偏心格式、中心格式、LF格式、LW格式、Wendroff 格式、跳蛙格式、特征线、CFL条件等; 要求: 建立双曲型方程边值问题的差分格式, 计算局部截断误差; 第七章 要求: 会用线性元(线性基)建立常微分方程边值问题的有限元格式

三 练习题 1、 已知显格式21131()22 n n n n u u h f f +++-=-,试证明格式是相容的,并求它的阶。 P39+P41 2、用Taylor 展开原理构造一元函数一阶导数和二阶导数的数值微分公式。 提示:向前、向后和中心差商与一阶导数间关系,二阶中心差商与二阶导数 之间的关系 课件 3、用数值微分方法或数值积分方法建立椭圆型方程 2222(,),(,),u u f x y x y x y ??--=?∈Ω?? :01,01x y Ω≤≤≤≤ 内点差分格式。 P75+课件 4、构造椭圆型方程边值问题的差分格式. P101 (4)题 5、构建一维热传导方程220,(0)u u Lu a a t x ??=-=>??的数值差分格式(显隐格式等)。 参考P132-135相关知识点 6、设有逼近热传导方程22(0)u u Lu a f a const t x ??≡-==>??的带权双层格式 ()()1111111122(1)2k k j j k k k k k k j j j j j j u u a u u u u u u h θθτ++++-+-+-??=-++--+?? 其中[0,1]θ∈,试求其截断误差。并证明当2 1212h a θτ=-时,截断误差的阶最 高阶为24()O h τ+。 P135+P165+课件 7、传播因子法证明抛物型方程22(0)u u Lu a f a const t x ??≡-==>??的最简显隐和六点CN 格式稳定性。 P156+课件 8、对一阶常系数双曲型方程的初边值问题 0,0,0,0,(,0)(),0,(0,)(),0, u u a t T x a t x u x x x u t t t T φψ???+=<≤<<∞>?????=≤<∞??=≤≤?

BP神经网络matlab源程序代码

close all clear echo on clc % NEWFF——生成一个新的前向神经网络 % TRAIN——对 BP 神经网络进行训练 % SIM——对 BP 神经网络进行仿真 % 定义训练样本 % P为输入矢量 P=[0.7317 0.6790 0.5710 0.5673 0.5948;0.6790 0.5710 0.5673 0.5948 0.6292; ... 0.5710 0.5673 0.5948 0.6292 0.6488;0.5673 0.5948 0.6292 0.6488 0.6130; ... 0.5948 0.6292 0.6488 0.6130 0.5654; 0.6292 0.6488 0.6130 0.5654 0.5567; ... 0.6488 0.6130 0.5654 0.5567 0.5673;0.6130 0.5654 0.5567 0.5673 0.5976; ... 0.5654 0.5567 0.5673 0.5976 0.6269;0.5567 0.5673 0.5976 0.6269 0.6274; ... 0.5673 0.5976 0.6269 0.6274 0.6301;0.5976 0.6269 0.6274 0.6301 0.5803; ... 0.6269 0.6274 0.6301 0.5803 0.6668;0.6274 0.6301 0.5803 0.6668 0.6896; ... 0.6301 0.5803 0.6668 0.6896 0.7497]; % T为目标矢量 T=[0.6292 0.6488 0.6130 0.5654 0.5567 0.5673 0.5976 ... 0.6269 0.6274 0.6301 0.5803 0.6668 0.6896 0.7497 0.8094]; % Ptest为测试输入矢量 Ptest=[0.5803 0.6668 0.6896 0.7497 0.8094;0.6668 0.6896 0.7497 0.8094 0.8722; ... 0.6896 0.7497 0.8094 0.8722 0.9096]; % Ttest为测试目标矢量 Ttest=[0.8722 0.9096 1.0000]; % 创建一个新的前向神经网络 net=newff(minmax(P'),[12,1],{'logsig','purelin'},'traingdm'); % 设置训练参数 net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.9; net.trainParam.epochs = 5000; net.trainParam.goal = 0.001; % 调用TRAINGDM算法训练 BP 网络 [net,tr]=train(net,P',T); % 对BP网络进行仿真 A=sim(net,P'); figure; plot((1993:2007),T,'-*',(1993:2007),A,'-o'); title('网络的实际输出和仿真输出结果,*为真实值,o为预测值'); xlabel('年份'); ylabel('客运量'); % 对BP网络进行测试 A1=sim(net,Ptest');

Matlab源程序代码

正弦波的源程序: (一),用到的函数 1,f2t函数 function x=f2t(X) global dt df t f T N %x=f2t(X) %x为时域的取样值矢量 %X为x的傅氏变换 %X与x长度相同并为2的整幂 %本函数需要一个全局变量dt(时域取样间隔) X=[X(N/2+1:N),X(1:N/2)]; x=ifft(X)/dt; end 2,t2f函数。 function X=t2f(x) global dt df N t f T %X=t2f(x) %x为时域的取样值矢量 %X为x的傅氏变换 %X与x长度相同,并为2的整幂。 %本函数需要一个全局变量dt(时域取样间隔) H=fft(x); X=[H(N/2+1:N),H(1:N/2)]*dt; end (二),主程序。 1,%(1)绘出正弦信号波形及频谱 global dt df t f N close all k=input('取样点数=2^k, k取10左右'); if isempty(k), k=10; end f0=input('f0=取1(kz)左右'); if isempty(f0), f0=1; end N=2^k; dt=0.01; %ms df=1/(N*dt); %KHz T=N*dt; %截短时间

Bs=N*df/2; %系统带宽 f=[-Bs+df/2:df:Bs]; %频域横坐标 t=[-T/2+dt/2:dt:T/2]; %时域横坐标 s=sin(2*pi*f0*t); %输入的正弦信号 S=t2f(s); %S是s的傅氏变换 a=f2t(S); %a是S的傅氏反变换 a=real(a); as=abs(S); subplot(2,1,1) %输出的频谱 plot(f,as,'b'); grid axis([-2*f0,+2*f0,min(as),max(as)]) xlabel('f (KHz)') ylabel('|S(f)| (V/KHz)') %figure(2) subplot(2,1,2) plot(t,a,'black') %输出信号波形画图grid axis([-2/f0,+2/f0,-1.5,1.5]) xlabel('t(ms)') ylabel('a(t)(V)') gtext('频谱图') 最佳基带系统的源程序: (一),用到的函数 f2t函数和t2f函数。代码>> (二),主程序 globaldt t f df N T close all clear Eb_N0 Pe k=input('取样点数=2^k, k取13左右'); if isempty(k), k=13; end z=input('每个信号取样点数=2^z, z

偏微分方程数值解法

“十二五”国家重点图书出版规划项目 信息与计算科学丛书 67 偏微分方程数值解法 陈艳萍鲁祖亮刘利斌编著

内 容 简 介 本书试图用较少的篇幅描述偏微分方程的几种数值方法. 主要内容包括:Sobolev空间初步, 椭圆边值问题的变分问题, 椭圆问题的有限差分方法, 抛物型方程的有限差分方法, 双曲型方程的有限差分方法, 椭圆型方程的有限元方法, 抛物及双曲方程的有限元方法, 椭圆型方程的混合有限元方法, 谱方法等. 本书内容丰富, 深入浅出, 尽可能地用简单的方法来描述一些理论结果, 并根据作者对有限差分、有限元、混合有限元、谱方法的理解和研究生教学要求, 全面、客观地评价各种数值计算方法,并列举一些数值计算的例子, 阐述许多新的学术观点. 本书可作为高等学校数学系高年级本科生和研究生的教材或参考书, 也可作为计算数学工作者和从事科学与工程计算的科研人员的参考书. 图书在版编目(CIP)数据 偏微分方程数值解法/陈艳萍, 鲁祖亮, 刘利斌编著. —北京:科学出版社, 2015.1 (信息与计算科学丛书67) ISBN 978-7-03-000000-0 Ⅰ. ①偏… Ⅱ. ①陈… ②鲁… ③刘… Ⅲ. ① Ⅳ.① 中国版本图书馆CIP数据核字(2014) 第000000号 责任编辑: 王丽平/责任校对: 彭涛 责任印制: 肖钦/封面设计: 陈敬 出版 北京东黄城根北街16号 邮政编码: 100717 https://www.360docs.net/doc/f02413733.html, 印刷 科学出版社发行 各地新华书店经销 * 2015年1月第一版开本: 720×1000 1/16 2015年1月第一次印刷印张: 14 字数: 280 000 定价: 88.00元 (如有印装质量问题, 我社负责调换)

主成分分析matlab源程序代码

263.862 1.61144 2.754680.266575 268.764 2.07218 2.617560.182597 261.196 1.59769 2.350370.182114 248.708 2.09609 2.852790.257724 253.365 1.69457 2.94920.189702 268.434 1.56819 2.781130.13252 258.741 2.14653 2.691110.136469 244.192 2.02156 2.226070.298066 219.738 1.61224 1.885990.166298 244.702 1.91477 2.259450.187569 245.286 2.12499 2.352820.161602 251.96 1.83714 2.535190.240271 251.164 1.74167 2.629610.211887 251.824 2.00133 2.626650.211991 257.68 2.14878 2.656860.203846] stdr=std(dataset);%求个变量的标准差 [n,m]=size(dataset);%定义矩阵行列数 sddata=dataset./stdr(ones(n,1),:);%将原始数据采集标准化 sddata%输出标准化数据 [p,princ,eigenvalue,t2]=princomp(sddata);%调用前三个主成分系数 p3=p(:,1:3);%提取前三个主成分得分系数,通过看行可以看出对应的原始数据的列,每个列在每个主成分的得分 p3%输出前三个主成分得分系数 sc=princ(:,1:3);%提取前三个主成分得分值 sc%输出前三个主成分得分值 e=eigenvalue(1:3)';%提取前三个特征根并转置 M=e(ones(m,1),:).^0.5;%输出前三个特征根并转置 compmat=p3.*M;%利用特征根构造变换矩阵 per=100*eigenvalue/sum(eigenvalue);%求出成分载荷矩阵的前三列 per %求出各主成分的贡献率 cumsum(per);%列出各主成分的累积贡献率 figure(1) pareto(per);%将贡献率绘成直方图 t2 figure(2) %输出各省与平局距离 plot(eigenvalue,'r+');%绘制方差贡献散点图 hold on %保持图形 plot(eigenvalue,'g-');%绘制方差贡献山麓图

偏微分方程数值解法答案

1. 课本2p 有证明 2. 课本812,p p 有说明 3. 课本1520,p p 有说明 4. Rit2法,设n u 是u 的n 维子空间,12,...n ???是n u 的一组基底,n u 中的任一元素n u 可 表为1n n i i i u c ?==∑ ,则,11 11()(,)(,)(,)(,)22j n n n n n n i j i j j i j j J u a u u f u a c c c f ???=== -=-∑∑是12,...n c c c 的二次函数,(,)(,)i j j i a a ????=,令 () 0n j J u c ?=?,从而得到12,...n c c c 满足1 (,)(,),1,2...n i j i j i a c f j n ???===∑,通过解线性方程组,求的i c ,代入1 n n i i i u c ?==∑, 从而得到近似解n u 的过程称为Rit2法 简而言之,Rit2法:为得到偏微分方程的有穷维解,构造了一个近似解,1 n n i i i u c ?== ∑, 利用,11 11()(,)(,)(,)(,)22j n n n n n n i j i j j i j j J u a u u f u a c c c f ???===-=-∑∑确定i c ,求得近似解n u 的过程 Galerkin 法:为求得1 n n i i i u c ? == ∑形式的近似解,在系数i c 使n u 关于n V u ∈,满足(,)(,) n a u V f V =,对任 意 n V u ∈或(取 ,1j V j n ?=≤≤) 1 (,)(,),1,2...n i j i j i a c f j n ???===∑的情况下确定i c ,从而得到近似解1 n n i i i u c ?==∑的过程称 Galerkin 法为 Rit2-Galerkin 法方程: 1 (,)(,)n i j i j i a c f ???==∑ 5. 有限元法:将偏微分方程转化为变分形式,选定单元的形状,对求解域作剖分,进而构 造基函数或单元形状函数,形成有限元空间,将偏微分方程转化成了有限元方程,利用 有效的有限元方程的解法,给出偏微分方程近似解的过程称为有限元法。 6. 解:对求解区间进行网格剖分,节点01......i n a x x x x b =<<<<=得到相邻节点1,i i x x -

BP神经网络matlab源程序代码

BP神经网络matlab源程序代码) %******************************% 学习程序 %******************************% %======原始数据输入======== p=[2845 2833 4488;2833 4488 4554;4488 4554 2928;4554 2928 3497;2928 3497 2261;... 3497 2261 6921;2261 6921 1391;6921 1391 3580;1391 3580 4451;3580 4451 2636;... 4451 2636 3471;2636 3471 3854;3471 3854 3556;3854 3556 2659;3556 2659 4335;... 2659 4335 2882;4335 2882 4084;4335 2882 1999;2882 1999 2889;1999 2889 2175;... 2889 2175 2510;2175 2510 3409;2510 3409 3729;3409 3729 3489;3729 3489 3172;... 3489 3172 4568;3172 4568 4015;]'; %===========期望输出======= t=[4554 2928 3497 2261 6921 1391 3580 4451 2636 3471 3854 3556 2659 ... 4335 2882 4084 1999 2889 2175 2510 3409 3729 3489 3172 4568 4015 ... 3666]; ptest=[2845 2833 4488;2833 4488 4554;4488 4554 2928;4554 2928 3497;2928 3497 2261;... 3497 2261 6921;2261 6921 1391;6921 1391 3580;1391 3580 4451;3580 4451 2636;... 4451 2636 3471;2636 3471 3854;3471 3854 3556;3854 3556 2659;3556 2659 4335;... 2659 4335 2882;4335 2882 4084;4335 2882 1999;2882 1999 2889;1999 2889 2175;... 2889 2175 2510;2175 2510 3409;2510 3409 3729;3409 3729 3489;3729 3489 3172;... 3489 3172 4568;3172 4568 4015;4568 4015 3666]'; [pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); %将数据归一化 NodeNum1 =20; % 隐层第一层节点数 NodeNum2=40; % 隐层第二层节点数 TypeNum = 1; % 输出维数 TF1 = 'tansig';

相关文档
最新文档