24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1609  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

lkbiandou

金虫 (小有名气)

[求助] 请教一个matlab求解非线性方程组的问题

问题是:
T(i,j,1)=初值,就是整个第一页都是一样的值,请问这个该怎么处理?
现在编的程序根本无法运行起来的。各位帮帮忙,帮我看看怎么办。
拜谢各位了!


function myEquations_test
clear all ; clc;
Tin(1:10,1:10,1)=483.15;
x0=Tin(1:10,1:10,1)
T=fsolve(@TxEquations,x0);
function f = TxEquations(T)
global n F G rc dz M  i j k
clc;clear;
m=10; n=10;K=10;
Ramda = 0.45;       % W/(m K)
Kw=1.2;
Tw=483.15;
R=0.08;
x0=0.3959; dx=0.06041;
dz=0.1;
Tin=483.15;
  %反应器入口
  a5=1; a6=1; d33=2; d44=3;
%  T(:,:,;
for k=1:K;
    for j=1:n;
        for i=2:m;
            %k=1,入口位置
            T(i,j,1)=483.15;               
            %初始条件AD段的处理,i=1
            T(2,j,k)=T(1,j,k)-dx*Kw*R/Ramda*(T(1,j,k)-Tw);
            %AB段,j=1的处理
            T(i+1,1,k)=T(i,1,k)+0;
            %CD段,j=n
            T(i+1,n,k)=T(i,n,k)+0;           
            %除边界以外浓度和温度的表达式
            T(i,j,k+1)=T(i,j,k)+dz*(a5*(d33+d44)+a6);         
        end            
    end   
end
T
%--------------------------------------------------------------------------

[ Last edited by lkbiandou on 2013-7-30 at 23:04 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lkbiandou

金虫 (小有名气)

引用回帖:
8楼: Originally posted by csgt0 at 2013-07-31 17:00:17
不知道是不是这样的。主要是矩阵维数超了

clear all ; clc;
T(1:10,1:10,1)=483.15;
m=10; n=10;K=10;
Ramda = 0.45;       % W/(m K)
Kw=1.2;
Tw=483.15;
R=0.08;
x0=0.3959; dx=0.06041;
dz ...

版主,您好。我现在对方程做了些修改。方程代码如下:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m=10; n=10;K=10;
Ramda = 0.45;       % W/(m K)
Kw=1.2;
Tw=483.15;
R=0.08;
x0=0.3959; dx=0.06041; df=pi/6/10;
dz=0.1;
Tin=483.15;
  %反应器入口
  a5=1; a6=1;
  %d33=2; d44=3;
%  T(:,:,;
for k=2:K;
    for j=1:n;
        for i=1:m;
            while i<=1;
                %T(i,j,1)=483.15;
                T(1,j,k+1)=T(1,j,k)+dz*(a5*(1/(x0+i*dx)^2*(T(1,j+1,k)-2*T(1,j,k)+T(1,j-1,k))/df^2+...
                (T(2,j,k)-2*T(1,j,k)+T(1,j,k)+dx*Kw*R/Ramda*(T(1,j,k)-Tw))/dx^2+...
                1/(x0+i*dx)*(T(2,j,k)-T(1,j,k)-dx*Kw*R/Ramda*(T(1,j,k)-Tw)/(2*dx)))+a6);    %i=1的处理
            end
            while j<=1;
                T(i,1,k+1)=T(i,1,k)+dz*(a58(1/(x0+i*dx)^2*(T(i,2,k)-2*T(i,1,k)+T(i,2,k))/df^2+...
                (T(i+1,1,k)-2*T(i,1,k)+T(i-1,1,k))/dx^2+1/(x0+i*dx)*(T(i+1,1,k)-T(i-1,1,k))/(2*dx))+a6);%j=1的处理
            end
            while j>=n;
                T(i,n,k+1)=T(i,n,k)+dz*(a5*(1/(x0+i*dx)^2*(T(i,n-1,k)-2*T(i,n,k)+T(i,n-1,k))/df^2+...
                (T(i+1,n,k)-2*T(i,n,k)+T(i-1,n,k))/dx^2+1/(x0+i*dx)*(T(i+1,n,k)-T(i-1,n,k))/(2*dx))+a6);%j=n的处理
            end
            d33=1/(x0+i*dx)^2*(T(i,j+1,k)-2*T(i,j,k)+T(i,j-1,k))/df^2;
            d44=(T(i+1,j,k)-2*T(i,j,k)+T(i-1,j,k))/dx^2+1/(x0+i*dx)*(T(i+1,j,k)-T(i-1,j,k))/(2*dx);            
            T(i,j,k+1)=T(i,j,k)+dz*(a5*(d33+d44)+a6);         
        end            
    end   
end
f=T;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
就是当i=1的时候,有一个表达式,但是j,k可以随意变化的。
然后就是当j=1或者n的时候,i,k可以随意变化。
k=1的时候是初始条件,就是T(i,j,1)=483.15固定值。
在上述条件之外,T(i,j,k)有一个表达式。
版主,您看,这个方程组怎么解呢,谢谢了!版主帮帮忙了,已经为这个问题花费很久时间了
10楼2013-08-02 14:53:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

感谢参与,应助指数 +1
去掉子函数里的clc;clear;
showmethemoney
2楼2013-07-31 14:45:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lkbiandou

金虫 (小有名气)

引用回帖:
2楼: Originally posted by csgt0 at 2013-07-31 14:45:37
去掉子函数里的clc;clear;

版主,你好。谢谢你的帮助!
可是去掉之后还是出现了错误,能帮我再看看吗?
谢谢您了
3楼2013-07-31 15:18:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

引用回帖:
3楼: Originally posted by lkbiandou at 2013-07-31 15:18:52
版主,你好。谢谢你的帮助!
可是去掉之后还是出现了错误,能帮我再看看吗?
谢谢您了...

function f = TxEquations(T)
的返回的f是哪个?你没有给返回值
showmethemoney
4楼2013-07-31 15:26:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见