绘制矩阵函数的输出

时间:2013-10-14 10:07:49

标签: matlab

我有一个带标量输出的矩阵函数,我想将其绘制为矩阵元素之一的函数。确切的功能并不重要,因此我将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. 

我确信这很简单,只有谷歌搜索没有透露的技巧。

2 个答案:

答案 0 :(得分:2)

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

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

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

我不确定你要绘制的是什么,所以我不能推荐修复,你必须首先解释一下这个问题。

答案 1 :(得分:1)

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

  

“使用fplot时最常见的错误(以及其他数字   分析函数)忘记将函数的名称放入   引号fplot需要知道函数的名称为   字符串“