2元参数matlab图,二元作用参数 - 仿真模拟 - MATLAB - 小木虫论坛-学术科研互动平台...
我用立方型状态方程P-R方程以及vdW-1混合规则进行气液相平衡计算,但是通过计算得到,无法求出二元相互作用参数,请各位高手及前辈指教。
clc;
clear;
close all;
%%
%êäèëêy¾Y
N = 2; R = 8.314;
Tc1 = 304.12; Tc2 = 774.30;
omga1 = 0.228; omga2 = 0.786;
T1 = 185.10; T2 = 600.8;
Tr1 = T1 / Tc1; Tr2 = T2 / Tc2;
Pc1 = 7.38*10^6; Pc2 = 1.56*10^6;
P=[7.38 8.30 9.12 10.28 11.80 13.20 14.38 15.95].*10^6;
T=328.2;
y1=[0.9952 0.9913 0.9905 0.9887 0.9867 0.9851 0.9834 0.9816];
y2 = 1 - y1;
x1=[0.4365 0.4788 0.5136 0.5507 0.6132 0.6521 0.7006 0.7998];
x2 = 1 - x1;
%%
%¼ÆËã a1 a2 b1 b2 (a1 a2¼ÆËã1«ê½óëÔ-1«ê½ËÆoõ2»ò»Ö£©
k1 = 0.37464 + 1.54226 * omga1 - 0.26992 * omga1^2;
k2 = 0.37464 + 1.54226 * omga2 - 0.26992 * omga2^2;
a1 = 0.45724 * R^2 * Tc1^2 / Pc1 * (1 + k1 * (1 - sqrt(Tr1)))^2;
a2 = 0.45724 * R^2 * Tc2^2 / Pc2 * (1 + k2 * (1 - sqrt(Tr2)))^2;
b1 = 0.0778 * R * Tc1 / Pc1;
b2 = 0.0778 * R * Tc2 / Pc2;
%%
k12=0; %¼ùéèk12
error=1; %¼ùéèÎó2î
StepLength = 2/0.01;
%%
%½¨á¢·½3ì
syms A B Z Vs;
GasEq = Z.^ 3 - (1 - B).* Z.^2 + (A - 3.*B.^2 - 2*B).*Z - (A * B - B.^2 - B.^3);
eq_mid = sym('eq_mid');
%3õê¼»ˉ±äá¿
Vs1_out=zeros(length(P),1);
Vs2_out=zeros(length(P),1);
Z1_out=zeros(length(P),1);
Z2_out=zeros(length(P),1);
ln_fai_l=zeros(length(P),1);
ln_fai_g=zeros(length(P),1);
fai_l=zeros(length(P),1);
fai_g=zeros(length(P),1);
F=zeros(length(1:1:StepLength),1);
fg=zeros(length(1:1:StepLength),1);
fl=zeros(length(1:1:StepLength),1);
k12_record=zeros(length(1:1:StepLength),1);
%%
%Ñ-»·¿aê¼
for I=150:1:150
I
%é趨k12μıä»ˉ
k12 = k12 + 0.01;
k12_record(I) = k12;
%Çóêy×éam bm
am1 = a1 .* y1.^2 + 2 .*sqrt( a1 .* a2 ).* (1 - k12) + a2 .* y2.^2;
bm1 = b1 .* y1 + b2 .* y2;
am2 = a1 .* x1.^2 + 2 .*sqrt( a1 .* a2 ).* (1 - k12) + a2 .* x2.^2;
bm2 = b1 .* x1 + b2 .* x2;
%′úèë·½3ì×é2¢Çó½a
for j=1:1:length(P)
%Çó½aÆøìå·½3ì
eq_mid = subs(GasEq, A, am1(j) * P(j) / (R^2 * T^2));
eq_mid = subs(eq_mid, B, bm1(j) * P(j) / (R * T));
eq_mid = subs(eq_mid, Z, Vs * P(j) / (R * T));
t_mid = subs(vpa(solve(eq_mid, Vs),6));
for t0=1:1:length(t_mid)
% Vs_out(j) = max(subs(vpa(solve(eq_mid, Vs),6))); %Vs¸ÃèçoÎè¡Öμ£¿£¿3ìDòÔYê±Ä¬èÏè¡×î′óÖμ
% Vs_out(j) = min(subs(vpa(solve(eq_mid, Vs),6))); %Vs¸ÃèçoÎè¡Öμ£¿£¿3ìDòÔYê±Ä¬èÏè¡×î′óÖμ
if isreal(t_mid(t0))
Vs1_out(j) = t_mid(t0);
end
end
Z1_out(j) = Vs1_out(j) * P(j) / (R * T);
A1_out = am1(j) * P(j) / (R^2 * T^2);
B1_out = bm1(j) * P(j) / (R * T);
%òoÏà
eq_mid = subs(GasEq, A, am2(j) * P(j) / (R^2 * T^2));
eq_mid = subs(eq_mid, B, bm2(j) * P(j) / (R * T));
eq_mid = subs(eq_mid, Z, Vs * P(j) / (R * T));
t_mid = subs(vpa(solve(eq_mid, Vs),6));
for t0=1:1:length(t_mid)
% Vs_out(j) = max(subs(vpa(solve(eq_mid, Vs),6))); %Vs¸ÃèçoÎè¡Öμ£¿£¿3ìDòÔYê±Ä¬èÏè¡×î′óÖμ
% Vs_out(j) = min(subs(vpa(solve(eq_mid, Vs),6))); %Vs¸ÃèçoÎè¡Öμ£¿£¿3ìDòÔYê±Ä¬èÏè¡×î′óÖμ
if isreal(t_mid(t0))
Vs2_out(j) = t_mid(t0);
end
end
Z2_out(j) = Vs2_out(j) * P(j) / (R * T);
A2_out = am2(j) * P(j) / (R^2 * T^2);
B2_out = bm2(j) * P(j) / (R * T);
%Çó½afai
ln_fai_g(j) = b1 / bm1(j) * (Z1_out(j)-1)-...
log(P(j) *(Vs1_out(j) -bm1(j))/R*T) +...
am1(j)/(2*sqrt(2)*bm1(j)*R*T) *...
( b1/bm1(j)-2/am1(j)*(a1*y1+sqrt(a1*a2)*(1 - k12 )* y2))*...
log((Vs1_out(j) + (1 + sqrt(2)) * bm1(j))/(Vs1_out(j)-(sqrt(2)+1)*bm1(j)));
fai_g(j) = exp(ln_fai_g(j));
ln_fai_l(j) =b1 / bm1(j) * (Z2_out(j)-1)-...
log(P(j) *(Vs2_out(j) -bm1(j))/R*T) +...
am1(j)/(2*sqrt(2)*bm1(j)*R*T) *...
( b1/bm1(j)-2/am1(j)*(a1*x1+sqrt(a1*a2)*(1 - k12 )* x2))*...
log((Vs2_out(j) + (1 + sqrt(2)) * bm1(j))/(Vs2_out(j)-(sqrt(2)+1)*bm1(j)));;
fai_l(j) = exp(ln_fai_l(j));
end
fg = P .* y1 .* fai_g';
fl = P .* x1 .* fai_l';
F(I) = sum(x1 .* fai_l' - y1 .* fai_g');
%èç1ûD¡óúÎó2î¾ííË3öÑ-»·
% if F
% break;
% end
end
plot(k12_record,F,'.')
%%
2元参数matlab图,二元作用参数 - 仿真模拟 - MATLAB - 小木虫论坛-学术科研互动平台...相关推荐
- matlab模糊控制m函数,模糊控制m文件运行出错 - 程序语言 - MATLAB/Mathematica - 小木虫论坛-学术科研互动平台...
Error using parsrule (line 182) Output MF index is too high Error in readfis (line 231) out=parsrule ...
- matlab寻峰代码,寻峰的函数!! - 程序语言 - MATLAB/Mathematica - 小木虫论坛-学术科研互动平台...
我这里的数据是pgm的,我将其处理成多个高斯拟合的形式,现阶段只能将其最大的那个拟合出来,其他的高斯拟合我需要找到其峰值的位置! 我把前边的语句先列举上: function [ OutArr ] = ...
- matlab迭代算法实例sor,SOR迭代 - 程序语言 - MATLAB/Mathematica - 小木虫论坛-学术科研互动平台...
方法一:建立了SOR.m的脚本文件,实现的是SOR迭代,程序语言如下: %SOR迭代 clear; clc; format long; i=1; n=6; H=hilb(n); X=ones(n,1) ...
- matlab 吸波材料,如何计算多层吸波材料的反射率 - 材料 - 小木虫 - 学术 科研 互动社区...
各位大神,小女子最近在做多层吸波材料,可以测得每层材料的电磁参数,然后请同学编了一个计算多层吸波材料反射率的MATLAB程序,但行出来总觉得好像有点问题,有没有哪位可以帮我看一下程序对不对呢? PS: ...
- matlab用最小二乘法确定系数,如何用MATLAB最小二乘法得出回归方程系数? - 程序语言 - 小木虫 - 学术 科研 互动社区...
cooooldog 这个需要dingd用1stOpt再算一次 公式里面x和y的位置交换一下; 我的方法效果不好,我就不做了. cooooldog 结果虽然不好,还是放一个在这里供应急的情况下参考吧&q ...
- matlab中lower,【求助】matlab,这个错误究竟是什么? - 数学 - 小木虫 - 学术 科研 互动社区...
谢谢以上两位,程序改动了一下,以前的问题暂时没有出现,但是出现了下边的问题: 主程序中是这样写的,调用curvefunzscanAbs作为拟合方程,其中NonAbs是拟合参数,transIntUp,p ...
- hermite矩阵matlab,Hermite矩阵的特征值计算问题 - 数学 - 小木虫 - 学术 科研 互动社区...
楼主,首先要知道Hermite矩阵就是实对称矩阵的复数版本.我更愿意用:A^H=A来定义Hermite矩阵,这里A是任何一个n阶的复数矩阵,H表示共轭转置.你的这个问题有三个步骤,但是我不清楚你的意图 ...
- 坎贝尔图 matlab,关于坎贝尔图,我真的不知道自己到底错在哪里 - 机械 - 小木虫 - 学术 科研 互动社区...
wuwei184632 我自己顶一下,小木虫里面不是有好多高手吗,真么没有人来帮忙呢 zml372620 引用回帖: wuwei184632 at 2015-07-23 18:25:34 我自己顶一下 ...
- matlab拟合参数最优,使用matlab最优化方法拟合获得多个动力学参数中的问题 - 计算模拟 - 小木虫 - 学术 科研 互动社区...
各位师兄师姐,麻烦大家帮我看一下这个问题.我现在想用一个模型来描述我的实验现象,模型如图所示. 我通过实验有了x-t的实验数据,如下图所示,我现在想用matlab的fmincon函数求解模型中的ks和 ...
- 用matlab实现机械臂的仿真,基于MATLAB的SCARA机械臂仿真与性能评估
工业机器人以其代替人类单调繁重的体力劳动,便于实现自动化提高生产效率等优点,而被广泛应用于工程机械.汽车零部件.轨道交通.轻工造纸等行业,具有可观的经济效益.到2015年,中国机器人市场将成世界最大规 ...
最新文章
- 程序员的量化交易之路(35)--Lean之DataFeed数据槽3
- 网页的一般布局(标题和脚注100%,内容宽度固定宽度px)
- 现代化权限管理解决方案平台推动商业模式的演进
- 1.9 通过反射获取注解信息
- idea @value提示_IDEA 中springboot 项目使用 注解Autowired 出现红线
- 百度以侵犯商业秘密起诉前高管王劲 索赔5000万 内附王劲离职承诺函
- ImportError: cannot import name 'PILLOW_VERSION'
- net core webAPI NOPI 导出Excel封装
- 3D打印机 G代码解释
- Vuex入门及进阶笔记
- 在VB.NET中生成随机数
- 高性能几何多重网格与 GPU 加速
- springSecurity小试牛刀
- OrientDB入门
- Apple公司联系邮箱收录
- 第8章、下拉列表框Spinner(从零开始学Android)
- 电力系统嵌入式测试平台研究
- 【机械】基于matlab实现直齿圆柱齿轮应力计算附matlab代码
- echart中国地图,多地图案例
- 跨平台Android和IOS百度语音在线识别原生插件