Solve equation including parameters dependent on main variable

5 visualizaciones (últimos 30 días)
Dhruv Borda
Dhruv Borda el 21 de En. de 2022
Editada: Yongjian Feng el 21 de En. de 2022
% Temperature
T_C=300;
T_E=linspace(0,300);
tau=T_C./T_E;
% Phase angle
alpha=deg2rad(90);
% Dead-volume ratio
X=0;
% Heat lifted
Q_max=0.085377;
Analysis
% Reduced dead volume
S=(2*X*tau)./(tau+1);
% Heat lifted and Work done
A=sqrt(tau.^2 + k^2 + 2*tau*k*cos(alpha));
B=tau + k + 2*S;
delta=A./B;
theta=(atan((k*sin(alpha))./(tau + k*cos(alpha))));
For range of values of tau, I want to have 'k'. But the problem is there are variables in Q_max equation such as delta and theta which are dependant on k by themselves. What should I do?
ratio=solve('Q_max==(pi*sqrt(1-delta).*delta.*sin(theta))./((1+k).*sqrt(1+delta).*(1+sqrt(1-delta.^2)))','k');

Respuestas (1)

Yongjian Feng
Yongjian Feng el 21 de En. de 2022
Editada: Yongjian Feng el 21 de En. de 2022
  1. k shall be a symbol, once you do this before it is used, then this will take care of the dependency of delta and theta.
syms k;
2. solve takes function and symbol(s), not char array
ratio=solve(Q_max==(pi*sqrt(1-delta).*delta.*sin(theta))./((1+k).*sqrt(1+delta).*(1+sqrt(1-delta.^2))), k);
3. There are some issues of your script, for example, T_E starts with 0, so tau = T_C/T_E is infinity. You might need to clean those up.

Etiquetas

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by