运行此matlab代码后为什么我无法查看该图?

时间:2015-08-12 11:54:53

标签: matlab

fprintf('Plotting Data ...\n')
data = load('ex1data1.txt');
x = data(:, 1); y = data(:, 2);
m = length(y); % number of training examples

% Plot Data
% Note: You have to complete the code in plotData.m
plotData(x, y);
fprintf('Program paused. Press enter to continue.\n');
pause;

这是函数plotData的matlab代码:

function plotData(x, y)
  plotData (x,y,'rx', 'MarkerSize', 10);
  ylabel ('Profit in $10,000s');
  xlabel('Population of city in 10,000');
  figure;
end

运行上面的代码后,它给出了以下错误:

  

plotData(第16行)plotData(x,y,'rx','MarkerSize',10)中的错误;

     

ex1(第49行)中的错误plotData(x,y);

1 个答案:

答案 0 :(得分:3)

您正在调用函数plotData中的函数plotData,这在这里没有意义。

您想要的是按以下方式拨打plot

plot(x,y,'rx', 'MarkerSize', 10);

在函数内部。

因此将plotData更改为:

function plotData(x, y)

figure %// Note that figure is called before the plot
plot(x,y,'rx', 'MarkerSize', 10);
ylabel ('Profit in $10,000s');
xlabel('Population of city in 10,000');

end

请注意,我在实际生成情节之前添加了对figure的调用,这对我来说更有意义。