那么我那样写matlab有问题吗
时间: 2024-01-21 16:03:56 浏览: 20
是的,你那样写的 Matlab 代码是有问题的。具体地说,你在定义变量`R1`和`R2`时使用了指数运算符`^`,但是指数运算符的优先级比较低,会先执行后面的减法运算,导致`1.210^-3`和`9.210^-3`这两个值被解释成`1.210`和`-3`、`9.210`和`-3`。这显然不是你的本意,因为你想要表示的是科学计数法,应该使用大写字母`E`或`e`来表示指数。因此,你应该将`R1`和`R2`的定义改成如下形式:
```
R1 = 1.210e-3;
R2 = 9.210e-3;
```
其他的变量也需要类似处理。正确的代码应该是这样的:
```
syms A(t) B(t) C(t) DB(t) wallDA(t) cin P R1 R2 wall;
eqn = cin*DB == P - (B - A)*R1;
cond = wallDA == (B - A)*R2/R1 + (A - C)/R2;
[B(t), A(t)] = dsolve(eqn, cond, 'B(0) = 5', 'A(0) = 0');
```