繁体   English   中英

MATLAB:函数的输出返回一个表达式,该表达式的变量仍未求值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM