24小时热门版块排行榜    

查看: 496  |  回复: 0

zwb565055403

新虫 (小有名气)

[交流] 编程为什么结果出来不对啊

编程为什么结果出来不对啊

我写的程序如下(虽然能运行出来,结果却不对 大家帮我看下程序是否有问题):
% Example 1
clear;clc
%%%%%%%%%%%%%%%%%%%% 方程里的参数设置 %%%%%%%%%%%%%%%%%%%%%%%%%%%%
alpha=0.5;
beta=0.5;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
L=1;   %区间x的长度[0,1]
Mx=L/0.0025;  %区间x的等分的份数
h=L/Mx;  %区间x的划分小区间长度
x=[0:Mx]*h;  % x的点值
%上面给出了x的点值,结合t点的点值和函数 u(x,t)的值就可以画出 曲面u(x,t),三维数组
N=1000;   %时间t的等分份数
tau=0.0025; % 时间t的划分小区间长度
t=[0:N]*tau;  %时间t的点值 0点和1点 101个
  %%%%%%%%%%%%%%%%%%%%%%%%%%% 系数矩阵里面的常数定义 r R(i) %%%%%%%%%%%%%%%%%%
   R=(tau^alpha)*(gamma(2-alpha))/(h*h); % r常数
   %计算 r(j)
for j=1:Mx-1
  r(j)=beta*R/j;  % 变数 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;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%非齐次项f(x,t)=2\sqrt(t/pi) sin(pi x)-pi t ((cos pi x)/(2x)-pi sin(pi x))
for k=1:size(t,2)       %size(a,2)指行向量元素个数
F(k, =2*(t(k)^(1/2)/pi^(1/2)).*sin(pi*x) + pi*t(k).*(pi*sin(pi.*x) - cos(pi*x)./(2*x));
%第k行向量 时间不变而空间位置变化
end
F=F(2:end-1,2:end-1);
F=F';
%去掉第一行和最后一行 去掉第一列和最后一列 对应 t=0 x=0
%%%%%%%%%%%%%%%%%%下面用递推关系式得到关于 u 的数表 %%%%%%%%%%%%%%%%%%%%%%%%%%%
u(:,1)=inv(D)*((tau^alpha)*gamma(2-alpha)*F(:,1));            
% D*u1=u0+ tau^alpha)F1   例一中 u0=0 即初值函数为0函数
%定义 w(k)=(1+k)^(1-alpha)-k^(1-alpha);d(k)=w(k)-w(k+1)
for k=1:N
    w(k)=(1+k)^(1-tau)-k^(1-tau);
end
for k=1:N-1
d(k)=w(k)-w(k+1);      %系数 d(k)
end
d;
%%%%%%%%%%%%%%%%%%%%%%%%%% 单独算出 u2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
u(:,2)=inv(D)*((1-w(1))*u(:,1)+(tau^alpha)*gamma(2-alpha)*F(:,1));
%%%%%求和 \sum d(k)*u^(n-k) 列和 sum(A(:,a:b);2)
for n=2:N-2
    for k=1:n-1
        s(:,k)=d(n-k)*u(:,k);
    end
   u(:,n+1)=inv(D)*((tau^alpha)*gamma(2-alpha)*F(:,n+1)+(1-w(1))*u(:,n)+sum(s(:,1:n-1),2));
% u0=0
end
h=x(2:end-1);
g=t(2:end-1);
[h,g]=meshgrid(h,g);%生成网格
mesh(h,g,u');%画出曲面图
xlabel('x')  %添加坐标轴
ylabel('t')
zlabel('u(x,t)')
for k=1:N-1
for j=1:Mx-1
    plot3(x(j),t(k),u(j,k))
e(j,k)=u(j,k)-t(k)*sin(pi*x(j));  %误差函数
end
end
e=max(max(abs(e)))      %最大误差
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 学员J46msc 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 2027广东省杰青 +3 奶牛小黑 2026-08-15 8/400 2026-08-18 11:47 by gltch
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +4 Tide man 2026-08-14 5/250 2026-08-18 11:35 by Tide man
[论文投稿] 投稿咨询 +4 wwm09 2026-08-17 5/250 2026-08-18 11:25 by 無關想念
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +43 医学老男孩 2026-08-13 97/4850 2026-08-18 11:07 by 医学老男孩
[基金申请] 时间戳变了,能看出什么问题? +5 基诺咪客 2026-08-17 6/300 2026-08-18 11:06 by hunter无悔
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[基金申请] filecode=后面第一个是大写字母 +8 wangze12014 2026-08-14 10/500 2026-08-17 17:05 by xter9665
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +12 Ldrop2023 2026-08-13 15/750 2026-08-17 15:02 by 小豌豆_发芽
[基金申请] 今天系统多次维护,明天很可能放榜! +8 zju2000 2026-08-16 9/450 2026-08-17 12:20 by lmz0216
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 26/1300 2026-08-16 12:35 by 启萌科技
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
信息提示
请填处理意见