声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2714|回复: 13

[其他相关] 求解扩散方程

[复制链接]
发表于 2010-10-9 09:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
求解扩散方程

所求方程

所求方程
回复
分享到:

使用道具 举报

 楼主| 发表于 2010-10-9 10:03 | 显示全部楼层
不明白,方程
发表于 2010-10-12 19:57 | 显示全部楼层
 楼主| 发表于 2010-10-13 17:24 | 显示全部楼层
哈哈,我现在已经解出来了,不过,我现在又有新麻烦了
 楼主| 发表于 2010-10-13 17:26 | 显示全部楼层
回复 风花雪月 的帖子

%计算每个三角单元
L = cell(600,1);
%b = zeros(600,1);
%c = zeros(600,1);
a = double(zeros(331,331));
for i = 1:1:600
    m = B(i,1);
    n = B(i,2);
    l = B(i,3);
    b(m) = (A(B(i,2),2)-A(B(i,3),2))*3/pi;
    b(n) = (A(B(i,3),2)-A(B(i,1),2))*3/pi;
    b(l) = (A(B(i,1),2)-A(B(i,2),2))*3/pi;
    c(m) = (A(B(i,1),1)-A(B(i,3),1))*3/pi;
    c(n) = (A(B(i,1),1)-A(B(i,3),1))*3/pi;
    c(l) = (A(B(i,2),1)-A(B(i,1),1))*3/pi;
    L(m,1) = {(A(B(i,2),1)*A(B(i,3),2)-A(B(i,3),1)*A(B(i,2),2)+(A(B(i,2),2)-A(B(i,3),2))*x+(A(B(i,1),1)-A(B(i,3),1))*y)*3/pi};
    L(n,1) = {(A(B(i,3),1)*A(B(i,2),2)-A(B(i,1),1)*A(B(i,3),2)+(A(B(i,3),2))-A(B(i,1),2)*x+(A(B(i,1),1)-A(B(i,3),1))*y)*3/pi};
    L(l,1) = {(A(B(i,1),1)*A(B(i,2),2)-A(B(i,2),1)*A(B(i,1),2)+(A(B(i,1),2))-A(B(i,2),2)*x+(A(B(i,2),1)-A(B(i,1),1))*y)*3/pi};
   %三角形计算9次
    for j = 1:1:3
        M = B(i,j);
        for k = 1:1:3
            N = B(i,k);
            %二重积分计算
            syms x y;
            I = int(L{M,1}.*L{N,1},y,0,1-x);
            P = int(I,x,0,1);
            P = eval(P);%类型转换
            %计算刚度矩阵
           a(M,N) = a(M,N)+((b(M).*b(N)+c(M).*c(N)));
        end
    end
end

评分

1

查看全部评分

 楼主| 发表于 2010-10-13 17:27 | 显示全部楼层
a(M,N) = a(M,N)+((b(M).*b(N)+c(M).*c(N)));
这一行总是说,维数不匹配
发表于 2010-10-14 08:03 | 显示全部楼层
回复 saintpmj 的帖子

b和c都是一维数组,不适合在已经有了索引M和N的情况下用.*吧。
或者你的意思是(?):
a(M,N) = a(M,N)+((b(M)*b(N)+c(M)*c(N)));
发表于 2010-10-15 16:48 | 显示全部楼层
saintpmj 发表于 2010-10-13 17:27
a(M,N) = a(M,N)+((b(M).*b(N)+c(M).*c(N)));
这一行总是说,维数不匹配

代码不全,比如缺少B,无法运行
单纯从代码上看没有看出这里有什么问题
发表于 2010-10-15 17:22 | 显示全部楼层
回复 风花雪月 的帖子

%b = zeros(600,1);
%c = zeros(600,1);
这个注释是不是在说明B?
发表于 2010-10-18 08:40 | 显示全部楼层
Rainyboy 发表于 2010-10-15 17:22
回复 风花雪月 的帖子

%b = zeros(600,1);

不是的,B肯定是另有来源的
b、c应该是坐标,而B应该是节点编号列表
发表于 2010-10-20 14:41 | 显示全部楼层
你这个方程是你自己写成积分形式的还是得到的时候就是这个形式,如果有pde形式,可以写出来嘛?
 楼主| 发表于 2010-10-21 19:32 | 显示全部楼层
回复 smtmobly 的帖子

我是在arridge他的论文上看到的,我要解这个方程。
 楼主| 发表于 2010-10-21 19:34 | 显示全部楼层
我当时,是把P当成一个数值加到a(m,n)里的,其实,后来,我才知道,P 是一个一维数组,不能当成数值直接与数相加
 楼主| 发表于 2010-10-21 19:35 | 显示全部楼层
有谁做过关于光学层析成像方面的论文呀。或者实验,我求解出的总有负值,有负值是不正确的。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 11:47 , Processed in 0.071203 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表