MATLAB中向量运算的奇怪行为

Jav*_*ser 1 matlab plot operations vector

我有一个公式

F = (-k.^(3/2) .* sqrt(4 .* c .* x + k) + 2 .* x .* k .* c + k.^2) / (2 .* c)
Run Code Online (Sandbox Code Playgroud)

并且我试图将f映射到c的一系列值,对于常数x和k值,如下所示:

x = 0.01;
c = 10000:10000:100000;
k = 100000;
F = (-k.^(3/2) .* sqrt(4 .* c .* x + k) + 2 .* x .* k .* c + k.^2) / (2 .* c)
Run Code Online (Sandbox Code Playgroud)

在这一点上,我假设matlab会给我一个与c相同大小的向量,但它只是打印:

F =

   47.1563
Run Code Online (Sandbox Code Playgroud)

针对常数c和x的k值范围绘制F可以正常工作,但上述情况并非如此.

有人可以帮我解释一下吗?

MeM*_*ndI 6

使用元素分区./,类似于.*

F = (-k.^(3/2) .* sqrt(4 .* c .* x + k) + 2 .* x .* k .* c + k.^2) ./ (2 .* c)
Run Code Online (Sandbox Code Playgroud)

/用于右矩阵划分:A/B相当于mrdivide(A,B),其解决了(线性)方程系统x*B = A对于x,而./仅仅是元素方式分裂.