MATLAB:函数的输出返回一个表达式,其中的变量仍未被评估

时间:2018-04-25 21:42:47

标签: matlab

例如,我们的系统中有变量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

我们不知所措。我们一直认为它是数据类的一个问题,但尝试修改输出,H_SO2_T函数或原始T提示/ TK修改与vpa()不起作用(或double()就此而言)。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果我定义

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)))