我正在尝试使用MATLAB符号数学工具箱来求解简单的方程,但我没有收到预期/期望的结果。
我使用的是Windows 10,这是在命令窗口中输入ver
的输出:
MATLAB Version: 9.6.0.1335978 (R2019a) Update 8
MATLAB License Number: STUDENT
Operating System: Microsoft Windows 10 Pro Version 10.0 (Build 19041)
Java Version: Java 1.8.0_181-b13 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
-----------------------------------------------------------------------------------------------------
MATLAB Version 9.6 (R2019a)
Simulink Version 9.3 (R2019a)
Control System Toolbox Version 10.6 (R2019a)
Curve Fitting Toolbox Version 3.5.9 (R2019a)
DSP System Toolbox Version 9.8 (R2019a)
Data Acquisition Toolbox Version 4.0 (R2019a)
Image Processing Toolbox Version 10.4 (R2019a)
Instrument Control Toolbox Version 4.0 (R2019a)
Optimization Toolbox Version 8.3 (R2019a)
Parallel Computing Toolbox Version 7.0 (R2019a)
Signal Processing Toolbox Version 8.2 (R2019a)
Simulink Control Design Version 5.3 (R2019a)
Statistics and Machine Learning Toolbox Version 11.5 (R2019a)
Symbolic Math Toolbox Version 8.3 (R2019a)
根据应用程序内文档,solve
函数应遵循以下语法:
syms x
eqn = sin(x) == 1;
solx = solve(eqn, x)
预期的输出是:
solx =
pi/2
然而,当我运行相同的命令时,我会收到:
>> syms x
>> eqn = sin(x) == 1;
>> solx = solve(eqn, x)
solx =
x
我尝试了许多更简单的方程,得到了相同的结果(接收符号而不是数值(。我做错了什么?提前谢谢。
如注释中所述,当发出solve
命令时,您的MATLAB安装似乎没有使用...toolboxsymbolicsymbolicsolve.m
中的函数;相反,使用了maple
工具箱提供的一个不相关的函数,导致了一些混乱。这个问题可以通过重新排序MATLAB搜索路径来解决:
p=path();
path(p,'C:Program FilesMATLABR2019atoolboxmaple');