我有一个带标量输出的矩阵函数,我想将其绘制为矩阵元素之一的函数。确切的功能并不重要,因此我将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.
我确信这很简单,只有谷歌搜索没有透露的技巧。
答案 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
需要知道函数的名称为 字符串“