0

我有一个带有标量输出的矩阵函数,我想将其绘制为矩阵元素之一的函数。确切的功能并不重要,所以我将使用det我的示例:

>> fplot(det([x 0;0,1]),[0,1000])
Error using vertcat
CAT arguments dimensions are not consistent.

或者:

>> x=linspace(0,1000,1001);
>> plot(det([x,0;0,1]))
Error using vertcat
CAT arguments dimensions are not consistent. 

我敢肯定这很简单,而且只有一个谷歌搜索没有揭示的技巧。

4

2 回答 2

2
x=linspace(0,1000,1001);
plot(det([x,0;0,1]))

这是个问题:[x,0;0,1]

因为x有 1001 个元素,所以你的顶行(即[x,0])是 1002 个元素,而你的底行只有 2 个元素。而且您正在尝试垂直连接它们,即[;]运算符。这仅适用于两行具有相同列数的情况。

我不确定您要绘制的确切内容,因此我无法推荐修复方法,您必须先更好地解释该问题。

于 2013-10-14T12:04:11.240 回答
1

这是可能的(正如我所知道的那样)使用fplot. 但是命令必须是fplot('det([x,0;0,1])',[0,1000])(注意引号)。事实上,我古老的(matlab 5)纸质手册说:

fplot“使用(以及其他数值分析函数)最常见的错误是忘记将函数名放在引号中,即fplot需要知道函数名作为字符串”

于 2013-10-14T12:24:51.437 回答