如何绘制a(以0.01的增量从0-1变化)vs x(2)(使用for循环和fsolve来找到基于a的包含x(s) sol的非线性方程的解
4次浏览(最近30天)
显示旧的注释
V = 1000;Q = 50;Ca0 = 1;k = 1;
一个= 0:1:0.1
f = @ (x) [Q * Ca0-Q * x (1) - k * x (1) ^ 2 * (* V);Q * x (1) x (2) - k - Q * * x (2) ^ 2 * (1 a) * V];
fsolve (f [0.5, 0.5])
结束
情节(a, x (2))
0评论
答案(1)
艾伦·史蒂文斯
2021年9月16日
第一个方程是x(1)的简单二次方程;第二个方程是x(2)的二次方程,它依赖于x(1),所以,假设你只对正根感兴趣,它们可以按以下方式求解:
V = 1000;Q = 50;Ca0 = 1;k = 1;
A = 0:0.01:1;
X1 = 0(1,数字(a));
X2 = 0(1,数字(a));
为i = 1:元素个数(a)
假设x1和x2都是正值
如果A (i) == 0
A = k*V;
x1(i) = Ca0;
x2(i) = (-Q +√(Q^2 + 4*A*Q*x1(i)))/(2*A);
elseifA (i) == 1
A = k*V;
x1(i) = (-Q +√(Q^2 + 4*A*Q*Ca0))/(2*A);
X2 (i) = x1(i);
其他的
A1 = k*a(i)*V;
A2 = k*(1-a(i))*V;
x1(i) = (-Q +√(Q^2 + 4*A1*Q*Ca0))/(2*A1);
x2(i) = (-Q +√(Q^2 + 4*A2*Q*x1(i)))/(2*A2);
结束
结束
次要情节(2,1,1)
情节(x1)、网格
包含(“一个”), ylabel (x1的)
次要情节(2,1,2)
情节(x2)、网格
包含(“一个”), ylabel (“x2”)
这两个方程可以表示为:
% k*a*V*x1^2 + Q*x1 - Q*Ca0 = 0
% k*(1-a)*V*x2^2 + Q*x2 - Q*x1 = 0