http://www.cnblogs.com/tiandsp/p/3995876.html
nargin
clear all;close all;clc;
p=rand(3,2); %(x,y)
cen1=(p(1,:)+p(2,:))/2; %三角形一条边中点
cen2=(p(2,:)+p(3,:))/2; %另一条边中点
k1=-1/((p(1,2)-p(2,2))/(p(1,1)-p(2,1))); %一条边垂直平分线
b1=cen1(2)-k1*cen1(1);
k2=-1/((p(2,2)-p(3,2))/(p(2,1)-p(3,1))); %另一条边垂直平分线
b2=cen2(2)-k2*cen2(1);
x0=-(b1-b2)/(k1-k2); %求两直线交点
y0=-(-b2*k1+b1*k2)/(k1-k2);
r=sqrt((y0-p(1,2))^2+(x0-p(1,1))^2);
hold on;
plot(p(:,1),p(:,2));
p=circshift(p,1);
plot(p(:,1),p(:,2));
theta=0:0.01:2*pi;
x=x0+r*cos(theta);
y=y0+r*sin(theta);
plot(x,y,'-',x0,y0,'.');
axis equal
http://bbs.youkuaiyun.com/topics/10322015
x1=0,y1=0,x2=0,y2=1,x3=1,y3=0;
a=x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2);
b=(x1^2+y1^2-x2^2-y2^2)/2;
c=(x1^2+y1^2-x3^2-y3^2)/2;
d=b*(y1-y3)-c*(y1-y2);
e=c*(x1-x2)-b*(x1-x3);
如果a等于0,则说明给定的三点共线(我们知道共线的三点无法确定一个圆)
如果a不等于0,则圆心坐标为(d/a,e/a),r=sqrt((d/a-x1)^2+(e/a-y1)^2))
set(gca,'yminorgrid','on');
set(gca,'ygrid','on');
grid on;//开启网格模式
grid off;//关闭网格模式
grid minor;
hold on 是当前轴及图形保持而不被刷新,准备接受此后将绘制
hold off 使当前轴及图形不在具备被刷新的性质
hold on 和holdoff,是相对使用的
前者的意思是,你在当前图的轴(坐标系)中画了一幅图,再画另一幅图时,原来的图还在,与新图共存,都看得到
后者表达的是,你在当前图的轴(坐标系)中画了一幅图,此时,状态是holdoff,则再画另一幅图时,原来的图就看不到了,在轴上绘制的是新图,原图被替换了
前者的意思是,你在当前图的轴(坐标系)中画了一幅图,再画另一幅图时,原来的图还在,与新图共存,都看得到
后者表达的是,你在当前图的轴(坐标系)中画了一幅图,此时,状态是holdoff,则再画另一幅图时,原来的图就看不到了,在轴上绘制的是新图,原图被替换了
varargout:在matlab中定义m函数时通过varargout我们可以得到可变个数个返回值。
nargout:在matlab中定义一个函数时, 在函数体内部, nargout指出了输出参数的个数.
nargin:在matlab中定义一个函数时, 在函数体内部, nargin是用来判断输入变量个数的函数。
num2str :把数值转换成字符串, 转换后可以使用fprintf或disp函数进行输出。
str = num2str(A)
str = num2str(A, precision)
zeros:zeros功能是返回一个m×n×p×...的double类零矩阵。
ones:产生m×n的全1 矩阵。如果调用方式为ones(n),则表示产生n×n的方阵。
rand、randn、magic、eye(单位矩阵)
990

被折叠的 条评论
为什么被折叠?



