for循环批处理报错。

7 visualizaciones (últimos 30 días)
qcptrnp
qcptrnp el 19 de Mayo de 2023
Respondida: qjncqre el 19 de Mayo de 2023
%全混流简化模型
clc
close all
syms PA CB CA
global QG0 QL0 kox CB0 PA0 PN20 R_const T_react kla ping HA H0 S0 PMout kga fA0
% 基本参
%设备操作参数
                H0=7;                    %塔高 m
                S0=13.8;                    %塔截面积
                PMout=3.0*10^5;                 %出塔压力 pa
                QL0=500/3600 ;                % 液体进料 m3/s
                QG0=15000/3600;             % 气体进料 m3/s
                fA0=0.21;                    %氧的摩尔分率
%传质反应参数
                CB0=270;                  %氢化完成液氢蒽醌集合物浓度,mol/m3
                PA0=63600;                %进塔气体氧分压,pa
                PN20=234000;              %进塔气体氮分压,pa
                R_const=8.314;            % J mol-1 K-1
                T_react=325.15;          % 温度 K
                HA=10901;               % A亨利系数  [  Pa / (mol m^-3) ]  
                kox=0.003;              %  反应速率常数
                [kla,ping]=data_in();          % 液膜体积传质系数  %气含率
                kga=10000;
               
%数据循环
PA_OUT=[];
CB_OUT=[];
     for i=1:length(kla)
         disp(['第',num2str(i),'组数据']);
         kla1=kla(i);ping1=ping(i);
         %求算模型
          CAi=(PA./HA)-(kox*CA*CB./kga);
          Fgin=(QG0*PA0)./(R_const*T_react);
          fAL=PA./PMout;
          eq1=Fgin*(fA0-fAL)-kla*S0*H0*(CAi-CA);
          eq2=kla1*S0*H0*(CAi-CA)-QL0*CA-S0*H0*(1-ping1)*kox*CA*CB;
          eq3=QL0*(CB0-CB)-kox*CA*CB*S0*H0*(1-ping1);
         [solPA,solCB,solCA]=vpasolve([eq1,eq2,eq3],[PA,CB,CA]);
         %提取结果
         location=find(solCB>0 & solCB<CB0,1);
         PAresult=solPA(location);CBresult=solCB(location);
         PA_OUT(i)=PAresult;CB_OUT(i)=CBresult;
     end
%导入数据
function [kla,ping]=data_in()
datx=[...
232.5079405        0.930992059
127.0856798        0.92927273
82.64127058        0.926739051
59.11168368        0.923244639
44.89962367        0.918578474
35.53721368        0.912445406
28.97470917        0.904441822
24.15242078        0.894031775
20.47246829        0.880541248
];
  kla=datx(:,1);
  ping=datx(:,2);
end
报错信息
第1组数据
错误使用 sym/cat>checkDimensions (第 68 行)
CAT arguments dimensions not consistent.
出错 sym/cat>catMany (第 33 行)
[resz, ranges] = checkDimensions(sz,dim);
出错 sym/cat (第 25 行)
ySym = catMany(dim, args);
出错 sym/horzcat (第 19 行)
ySym = cat(2,args{:});
出错 mixflowfun (第 40 行)
[solPA,solCB,solCA]=vpasolve([eq1,eq2,eq3],[PA,CB,CA]);

Respuesta aceptada

qjncqre
qjncqre el 19 de Mayo de 2023
仅供参考
%全混流简化模型
clc
close all
syms PA CB CA
global QG0 QL0 kox CB0 PA0 PN20 R_const T_react kla ping HA H0 S0 PMout kga fA0
% 基本参
%设备操作参数
H0=7;                    %塔高 m
S0=13.8;                    %塔截面积
PMout=3.0*10^5;                 %出塔压力 pa
QL0=500/3600 ;                % 液体进料 m3/s
QG0=15000/3600;             % 气体进料 m3/s
fA0=0.21;                    %氧的摩尔分率
%传质反应参数
CB0=270;                  %氢化完成液氢蒽醌集合物浓度,mol/m3
PA0=63600;                %进塔气体氧分压,pa
PN20=234000;              %进塔气体氮分压,pa
R_const=8.314;            % J mol-1 K-1
T_react=325.15;          % 温度 K
HA=10901;               % A亨利系数  [  Pa / (mol m^-3) ]
kox=0.003;              %  反应速率常数
[kla,ping]=data_in();          % 液膜体积传质系数  %气含率
kga=10000;
%数据循环
PA_OUT=[];
CB_OUT=[];
for i=1:length(kla)
    disp(['第',num2str(i),'组数据']);
    kla1=kla(i);ping1=ping(i);
    %求算模型
    CAi=(PA./HA)-(kox*CA*CB./kga);
    Fgin=(QG0*PA0)./(R_const*T_react);
    fAL=PA./PMout;
    eq1=Fgin*(fA0-fAL)-kla1*S0*H0*(CAi-CA);
    eq2=kla1*S0*H0*(CAi-CA)-QL0*CA-S0*H0*(1-ping1)*kox*CA*CB;
    eq3=QL0*(CB0-CB)-kox*CA*CB*S0*H0*(1-ping1);
    [solPA,solCB,solCA]=vpasolve([eq1,eq2,eq3],[PA,CB,CA]);
    %提取结果
    location=find(solCB>0 & solCB<CB0,1);
    PAresult=solPA(location);CBresult=solCB(location);
    PA_OUT(i)=PAresult;CB_OUT(i)=CBresult;
end
%导入数据
function [kla,ping]=data_in()
datx=[...
    232.5079405        0.930992059
    127.0856798        0.92927273
    82.64127058        0.926739051
    59.11168368        0.923244639
    44.89962367        0.918578474
    35.53721368        0.912445406
    28.97470917        0.904441822
    24.15242078        0.894031775
    20.47246829        0.880541248
    ];
kla=datx(:,1);
ping=datx(:,2);
end

Más respuestas (0)

Categorías

Más información sobre MATLABMobile 基础知识 en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!