Matlab 用矩阵积绘制指数函数

Matlab 用矩阵积绘制指数函数,matlab,Matlab,我得到了一个函数y,我想画它: beta = [1 2]; x = 0:100; y = exp( beta * [x, 1] ); Beta是一个二维向量,将与二维(转置)向量(x,1)相乘,其中x是介于0和100之间的标量值 我想用它来绘制这个图表 plot( x, y ); 现在我得到了错误 Error using * Inner matrix dimensions must agree. 因为我相信x是某种距离物体 如何绘制此函数?尝试以下方法: beta = [1 2]; x

我得到了一个函数y,我想画它:

beta = [1 2];
x = 0:100;
y = exp( beta * [x, 1] );
Beta是一个二维向量,将与二维(转置)向量(x,1)相乘,其中x是介于0和100之间的标量值

我想用它来绘制这个图表

plot( x, y );
现在我得到了错误

Error using  * 
Inner matrix dimensions must agree.
因为我相信x是某种距离物体


如何绘制此函数?

尝试以下方法:

beta = [1 2];
x = 0:99;
z = ones(1,100);
y = exp( beta * [x;z] );
plot( x, y );

为什么不干脆
y=exp(beta(1)*x+beta(2));绘图(x,y)
?或者,如果您喜欢使用矩阵乘法,则需要复制该
1
并将其连接为
x
下面的第二行:
y=exp(beta*[x;ones(1,numel(x))])
工作正常。非常感谢。我试图将函数扩展到
y=exp(beta(1)*x+beta(2))/(1+exp(beta(1)*x+beta(2))
,但是脚本运行时没有错误,但没有生成图形。由于我还绘制了除数和被除数,所以没有涉及奇怪的值。有什么想法吗?我使用beta=[0.0077 0.0003],这是因为您使用的是矩阵除法,在本例中,矩阵除法给出一个数字,因此绘图是一个点。您可能需要按元素划分,即
/
,而不是
/
。所以:
y=exp(beta(1)*x+beta(2))/(1+exp(beta(1)*x+beta(2))
。你真的应该为自己准备一个基本的Matlab教程,这就解决了问题。我将研究一个Matlab教程。效果很好。非常感谢。现在我想扩展函数,比如
y=exp(beta*[x;z])/(1+exp(beta*[x;z])
,但是脚本运行时没有错误,但没有显示图形。因为我也画了除数和被除数的图表,所以我确信其中没有奇怪的值。请参阅对问题描述的评论。