画出data数据
data数据
34.62365962451697,78.0246928153624,0
30.28671076822607,43.89499752400101,0
35.84740876993872,72.90219802708364,0
60.18259938620976,86.30855209546826,1
79.0327360507101,75.3443764369103,1
45.08327747668339,56.3163717815305,0
61.10666453684766,96.51142588489624,1
75.02474556738889,46.55401354116538,1
76.09878670226257,87.42056971926803,1
84.43281996120035,43.53339331072109,1
ex2.m文件
%% Initialization(灰色代表注释)
clear ; close all; clc (clear: Clear variables and functions from memory; close: close figure; clc: Clear command window.)
%% Load Data
% The first two columns contains the exam scores and the third column
% contains the label.
data = load('ex2data1.txt');
X = data(:, [1, 2]); y = data(:, 3); (取data的第一列至第二列给X,取data的第三列给y)
%% ==================== Part 1: Plotting ====================
% We start the exercise by first plotting the data to understand the
% the problem we are working with.
fprintf(['Plotting data with + indicating (y = 1) examples and o ' ... (...表示与下一行相连)
'indicating (y = 0) examples.
']);
plotData(X, y); (调用函数plotData(X,y),参见下面的plotData.m)
% Put some labels
hold on; (保持住现有的plot和所有的坐标属性,包括颜色和线条的style)
% Labels and Legend
xlabel('Exam 1 score') (给x轴加上label)
ylabel('Exam 2 score') (给y轴加上label)
% Specified in plot order
legend('Admitted', 'Not admitted') (给两种不同的点的标记加说明)
hold off; (hold 关闭)
fprintf('
Program paused. Press enter to continue.
');
pause; (暂停运行,等待用户响应pause causes a procedure to stop and wait for the user to strike any key before continue)
plotData.m文件
function plotData(X, y) (在文件的开头应写上新定义的function,文件的名称(plotData.m)中的plotData应与function的名称一至)
%PLOTDATA Plots the data points X and y into a new figure
% PLOTDATA(x,y) plots the data points with + for the positive examples
% and o for the negative examples. X is assumed to be a Mx2 matrix.
% Create New Figure
figure; hold on; (figure:创建一个figure 窗口)
% ====================== YOUR CODE HERE ======================
% Instructions: Plot the positive and negative examples on a
% 2D plot, using the option 'k+' for the positive
% examples and 'ko' for the negative examples.
%
% Find indices of positive and negative example
pos = find(y==1); neg = find(y==0); (返回所有y==1的点的线性序列(linear indices (如上述data则返回(4,5,7,8,9,10)))
%plot example
plot(X(pos,1), X(pos,2), 'k+', 'LineWidth', 2, 'MarkerSize', 7); (将相应序列对应的X矩阵的元素画出(如第4行的第一列的值做为x轴的值,第4行的第二列的值做为y轴的值); k+表示线的颜色为黑色(black),形状为+; MarkerSize 表示+形状的大小 )
plot(X(neg,1), X(neg,2), 'ko', 'MarkerFaceColor', 'y', 'MarkerSize', 7); (MarkerFaceColor: 表示填充在o里面的颜色为黄色)
% =========================================================================
hold off;
end (表示plotData(X, y)函数的结束)