You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matlab调用syms定义符号函数报错Not a valid variable name如何处理

Matlab微分方程组求解报错修复方案

核心错误原因

  • 变量拼写笔误:定义方程组数组eqns时,将已声明的方程变量eq1误写为egn1,Matlab无法识别该未定义变量,触发无效变量名报错
  • 兼容性问题(次要):部分R2019b之前的低版本Matlab,直接声明syms I1(t) I2(t)可能存在符号函数识别异常,也会触发同类报错

修复后完整代码

% 优先兼容全版本的符号变量声明写法
syms t
syms I1(t) I2(t)
eq1 = diff(I1(t),t) == 12-2*I1(t)+diff(I2(t),t); 
eq2 = diff(I2(t),t) == 1/3*(diff(I1(t),t)-4); 
% 修正拼写错误:将egn1改为eq1
eqns = [eq1; eq2];
cond1 = I1(0)==0;
cond2 = I2(0)==0;
conds = [cond1; cond2];
[I1Sol(t), I2Sol(t)] = dsolve(eqns, conds)

运行输出说明

执行上述代码后会直接返回两个解析解:

  • I1Sol(t) 为 $I_1(t) = 9 - 9e^{-\frac{t}{2}}$
  • I2Sol(t) 为 $I_2(t) = \frac{3}{2}t + 3e^{-\frac{t}{2}} - 3$

内容的提问来源于stack exchange,提问作者Alana Ng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 15:39:03