[已解决] 函数或变量 'T' 无法识别

[复制链接]
ericqjc 发表于 2022-2-14 05:23:05
本帖最后由 ericqjc 于 2022-2-14 05:23 编辑

      想用matlab求解非线性五元一次方程组。但是总是报错:函数或变量 'T' 无法识别。matlab里,如果变量里有一组变量矩阵和一个变量,应该如何去定义?另外这个方程组是不是不能用solve来解,得使用fsolve来解?如果是使用fsolve来解的话,应该变成什么样子?感谢大佬的帮助!      附我的代码和截图




屏幕截图 2022-02-13 211005.png

equation.m

305 Bytes, 下载次数: 1

最佳答案


TouAkira 发表于 2022-2-14 07:02:23
①请直接发布代码/报错信息的文本、以附件给出必要数据,请不要用粘贴截图的方式(这会同时浪费提问者和回答者的时间)提问。
新手发帖请先仔细看发帖提示和置顶帖子,尤其是《 你知道如何正确提问么? 》、《 为什么你的帖子没人回 》这些帖子

②syms T才是定义符号变量T
③请去阅读论坛《 MATLAB最基础教程 》《 论坛常见问题归纳 》等帖子,或者入门书籍如《 邢树军译版的matlab教程 》,里面全有介绍和讲解
④向量中的对应元素计算时,所有乘、除、幂运算都改成对应的点运算:
*乘法改为点乘 .*
/除法改为点除 ./
^幂次改为点幂 .^
原理请去看帮助文档里面的《 MATLAB 运算符和特殊字符 》与《 数组与矩阵运算
⑤请回去检查你的方程组,既然用到了变量T,一般容易理解为温度变量,而T作为温度(开氏温度都是正数)时,你的原始方程组很大可能就无解。因为你的 Ki = (1/5)*exp(Ai-Bi./T.*Ci) 结果Ci都是负数,导致exp的幂数值始终不小于Ai,这直接导致对Ki加权求和为1的约束不可能成立。
回复此楼

1 条回复


TouAkira 发表于 2022-2-14 07:02:23
①请直接发布代码/报错信息的文本、以附件给出必要数据,请不要用粘贴截图的方式(这会同时浪费提问者和回答者的时间)提问。
新手发帖请先仔细看发帖提示和置顶帖子,尤其是《 你知道如何正确提问么? 》、《 为什么你的帖子没人回 》这些帖子

②syms T才是定义符号变量T
③请去阅读论坛《 MATLAB最基础教程 》《 论坛常见问题归纳 》等帖子,或者入门书籍如《 邢树军译版的matlab教程 》,里面全有介绍和讲解
④向量中的对应元素计算时,所有乘、除、幂运算都改成对应的点运算:
*乘法改为点乘 .*
/除法改为点除 ./
^幂次改为点幂 .^
原理请去看帮助文档里面的《 MATLAB 运算符和特殊字符 》与《 数组与矩阵运算
⑤请回去检查你的方程组,既然用到了变量T,一般容易理解为温度变量,而T作为温度(开氏温度都是正数)时,你的原始方程组很大可能就无解。因为你的 Ki = (1/5)*exp(Ai-Bi./T.*Ci) 结果Ci都是负数,导致exp的幂数值始终不小于Ai,这直接导致对Ki加权求和为1的约束不可能成立。
回复此楼
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表