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
是标量)。你的确切意思是什么?那么你如何定义一个矩阵,其中一个元素是一个变量?不管怎样,我已经找到了解决办法,