Matlab 矩阵函数的绘图输出

Matlab 矩阵函数的绘图输出,matlab,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

我有一个带有标量输出的矩阵函数,我想把它画成矩阵元素之一的函数。确切的函数并不重要,因此我将使用
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. 
我相信这很简单,谷歌没有透露其中的一个窍门

x=linspace(0,1000,1001);
plot(det([x,0;0,1]))
这是一个问题:
[x,0;0,1]

因为
x
有1001个元素,所以您的顶行(即
[x,0]
)是1002个元素,而您的底行只有2个元素。您正试图垂直连接它们,即
[;]
运算符。这仅在两行的列数相同时才有效

我不确定你到底想画什么,所以我不能推荐一个解决方案,你必须先更好地解释这个问题

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

因为
x
有1001个元素,所以您的顶行(即
[x,0]
)是1002个元素,而您的底行只有2个元素。您正试图垂直连接它们,即
[;]
运算符。这仅在两行的列数相同时才有效

我不确定你到底想画什么,所以我不能推荐一个解决方案,你必须先更好地解释这个问题

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

因为
x
有1001个元素,所以您的顶行(即
[x,0]
)是1002个元素,而您的底行只有2个元素。您正试图垂直连接它们,即
[;]
运算符。这仅在两行的列数相同时才有效

我不确定你到底想画什么,所以我不能推荐一个解决方案,你必须先更好地解释这个问题

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

因为
x
有1001个元素,所以您的顶行(即
[x,0]
)是1002个元素,而您的底行只有2个元素。您正试图垂直连接它们,即
[;]
运算符。这仅在两行的列数相同时才有效

我不确定你到底想画什么,所以我不能推荐一个解决方案,你必须先更好地解释这个问题。

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

“使用
fplot
(以及其他数字 分析函数)忘记在 如果引号是
fplot
,则需要知道函数的名称 “字符串”

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

“使用
fplot
(以及其他数字 分析函数)忘记在 如果引号是
fplot
,则需要知道函数的名称 “字符串”

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

“使用
fplot
(以及其他数字 分析函数)忘记在 如果引号是
fplot
,则需要知道函数的名称 “字符串”

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

“使用
fplot
(以及其他数字 分析函数)忘记在 如果引号是
fplot
,则需要知道函数的名称 “字符串”



谢谢Dan,我正试图用
m=[x,0;0,1]
绘制
det(m)
x
的对比图。我并不特别想要一个包含所有x值的数组,但这似乎就是matlab为绘图构建数据的方式。我的实际函数要复杂得多,但当
det
演示我的问题时,这是一种显示/询问的简单方式。@ChrisH但正如我在解决方案中所解释的,
M=[x,0;0,1]
在Matlab中没有意义(除非
x
是标量)。你的确切意思是什么?那么你如何定义一个矩阵,其中一个元素是一个变量?无论如何,我找到了一个解决方案,我认为这是一个新手的错误。@ChrisH喜欢这样,但是
x
不能是向量,因为它会导致维度不匹配。例如,如果您定义了
x=1
,而不是
linspace
,则不会出现该错误。我不想将其定义为向量,我想将其用作绘图的自变量。我遇到的困难是,似乎只有这样做才能将其创建为向量(在fplot的情况下是隐式的)。如果我不想计算x和plot的许多值,那就很容易了。谢谢Dan,我正试图用
m=[x,0;0,1]
来绘制
det(m)
x
。我并不特别想要一个包含所有x值的数组,但这似乎就是matlab为绘图构建数据的方式。我的实际函数要复杂得多,但当
det
演示我的问题时,这是一种显示/询问的简单方式。@ChrisH但正如我在解决方案中所解释的,
M=[x,0;0,1]
在Matlab中没有意义(除非
x
是标量)。你的确切意思是什么?那么你如何定义一个矩阵,其中一个元素是一个变量?不管怎样,我已经找到了解决办法,