[英]MATLAB: Output of a function returns an expression with variables still unevaluated
例如,我们的系统中有变量TK,我们将其插入以下内容:
T = input(prompt10);
TK = T + 273.15;
H_SO2_298 = 0.033717;
H_SO2_T = H_SO2_298*exp(-3100*((1/TK)-(1/298.15)))
它返回:
(151847868636051*exp(62000/5963 - 3100/TK))/4503599627370496
我们很茫然。 我们一直认为这是数据类的问题,但是尝试用vpa()修改输出,H_SO2_T函数或原始的T提示/ TK修改不起作用(或为此修改double())。
有任何想法吗?
如果我定义
prompt10 = 'Specify a temperature: '
然后,您的代码将计算为double
,就像预期的那样。 您可能实际上没有运行您说的代码。 更确切地说,我猜您在某个时候定义了一个符号变量Tk
,然后再也没有清除它。 请尝试运行以下代码,看看是否能为您提供所需的结果。 如果它给您带来预期的结果,那就是您的问题。 否则,我们需要有关什么是prompt10
更多详细信息。
clear all
prompt10 = 'temperature: ';
T = input(prompt10);
TK = T + 273.15;
H_SO2_298 = 0.033717;
H_SO2_T = H_SO2_298*exp(-3100*((1/TK)-(1/298.15)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.