plot(x,y,'rx','MarkerSize',10);
ylabel('Profit in $10,000s');
xlabel('Population of City in 10,000s');
首先解读第一句
x,y分别是要绘图的点数据,x,y分别是列向量
'rx’表示红色的x
‘MarkerSize’,10是每一个x的大小
下面给出官方文档的摘要加解析
plot(x, y, fmt)
1.如果x,y是标量,那么就画出一个点
2.如果x,y都是向量,那么就画出对应的点(x,y)
3.如果x是向量,y是矩阵,则首选是把y分成一个一个列yi,然后画出对应的(x,yi)
4.如果x是矩阵,y是向量,则首选是把x分成一个一个列xi,然后画出对应的(xi,y)
5.如果x,y都是矩阵,则两个矩阵要同型,画出一一对应的点
可以指定多个属性值,属性有"linestyle", “linewidth”, “color”, “marker”, “markersize”, “markeredgecolor”, “markerfacecolor”
这几个属性放在一个字符串里,如’-xr;nihao;’
第一个字符-是划线属性
第二个字符x是描点属性
第三个字符r是颜色属性
最后一个;displayname;是图例标签
linestyle:
'-' 使用实线
'--' 使用虚线
':' 使用虚线,只不过更密集
'-.' 使用点划线
marker:(描点的符号)
'+'
'o'
'*'
'.'
'x'
's' 一个小正方形
'd' 菱形
'^' 正三角形
'v' 倒三角形
'>' 左三角形<|
'<' 右三角形|>
'p' 五角星
'h' 六角星
color:
'k' blacK
'r' Red
'g' Green
'b' Blue
'y' Yellow
'm' Magenta
'c' Cyan
'w' White
xlabel是x轴的标签,这里是城市人口Population of City in 10,000s
ylabel是y轴的标签,这里是利润Profit in $10,000s
hold on; % keep previous plot visible
plot(X(:,2), X*theta, '-')
legend('Training data', 'Linear regression')
hold off % don't overlay any more plots on this figure
hold on 表示在上一张图上继续画
第二句表示根据点(X(:,2), Xtheta)画出直线
legend是画出图示标签,两个参数分别对应上面的参数,X(:,2)是训练数据, Xtheta是线性回归
figure;
surf(theta0_vals, theta1_vals, J_vals)
xlabel('\theta_0'); ylabel('\theta_1');
surf是绘制3-D表面网格
使用阴影矩形绘制表面网格。顶点矩形[X,Y]中的一个通常是’meshgrid’的输出。在x-y平面的二维矩形区域上。 Z确定每个顶点平面上方的高度。
contour(theta0_vals, theta1_vals, J_vals, logspace(-2,