如何绘制此Octave \ Matlab函数输出?

时间:2019-05-12 16:11:48

标签: matlab math octave matlab-figure linear-algebra

我每个人, 我在Octave \ MatLab中是个新手,我有以下疑问。我有这段代码为参数z计算S型函数:

function g = sigmoid(z)
%SIGMOID Compute sigmoid function
%   g = SIGMOID(z) computes the sigmoid of z.

% You need to return the following variables correctly 
g = zeros(size(z));

% ====================== YOUR CODE HERE ======================
% Instructions: Compute the sigmoid of each value of z (z can be a matrix,
%               vector or scalar).

g = 1 ./ (1 + exp(-z));

% =============================================================

end

z可以是标量,向量或矩阵。

例如,执行以下操作:

>> X = [1 2; 0 5]
X =

   1   2
   0   5

>> g = 1 ./ (1 + exp(-X));
>> g
g =

   0.73106   0.88080
   0.50000   0.99331

给定具有两个特征X1和X2的矩阵X(第2列),我该如何绘制该函数?输出是三维函数吗?

1 个答案:

答案 0 :(得分:0)

输出不是3D函数,因为您有一个输入X,一个输出g是2D。

您可以按列显示,将每列显示为同一图上的单独函数:

plot(X, g)

等效于:

figure
hold on
for i = 1:size(X,2)
    plot(X(:,i), g(:,i))
end
hold off

您可以按行显示,将其显示为同一图上的单独功能:

plot(X', g')

等效于:

figure
hold on
for i = 1:size(X,1)
    plot(X(i,:), g(i,:))
end
hold off

您可以将其显示为数组

plot(X(:), g(:))