matlab中三点定圆,MATLAB三点确定一个圆
1 给定三个不在同一直线上的三个点的坐标,确定圆的轨迹方程
2
3
4 下面是MATLAB中的函数文件
5 function[a,b,c]=ThreePointFitCircle(x,y,flag)
6 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7 %Author By:Wacs5
8 %Date:20090813
9 %Email:wacs5@http://www.doczj.com/doc/09987f58804d2b160b4ec0bd.html
10 %Function:三点确定一个圆
11 %Argument:x,y为三个点的横纵坐标(行向量或列向量)
12 %flag为是否画图表示
13 %返回的是:a,b为圆心。c为半径
14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15 if(nargin<3)%如果有第三个参数,就画图
16 flag=0;
17 end
18
19 A=[x(1)-x(2),y(1)-y(2);x(3)-x(2),y(3)-y(2)];
20 B=[x(1)^2-x(2)^2+y(1)^2-y(2)^2;x(3)^2-x(2)^2+y(3)^2-y(2)^2];
21
22 if det(A)<1e-6
23 error('三点趋于共线');
24 end
25
26 ab=A\B;
27 a=ab(1)/2;
28 b=ab(2)/2;
29
30 c2=(x(1)-a)^2+(y(1)-b)^2;
31 c=sqrt(c2);
32
33 %%以下是作图验证
34 if(flag)
35 seta=0:0.01:2*pi;
36 xx=a+c*cos(seta);%圆上的点的横坐标
37 yy=b+c*sin(seta);%圆上的点的纵坐标
38 plot(xx,yy,x,y,'*',a,b,'.')
39 title('三点拟合一个圆')
40 xlabel('x')
41 ylabel('y')
42 axis equal
43 end
44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
45 %%m文件到此结束
46
47
48 例:
49 x=[1,3,2];
50 y=[1,5,2];
51 [a,b,c]=ThreePointFitCircle(x,y,1);%1为作图
52 disp(['圆的方程为:(x',sprintf('%+f',a),')^2+(y',sprintf('%+f',b),')^2=',...
53 sprintf('%f',c),'^2'])
matlab中三点定圆,MATLAB三点确定一个圆相关推荐
- 在MATLAB中使用数学符号,在matlab中怎么输入特殊符号 function在MATLAB中怎么用
导航:网站首页 > 在matlab中怎么输入特殊符号 function在MATLAB中怎么用 在matlab中怎么输入特殊符号 function在MATLAB中怎么用 相关问题: 匿名网友: 一 ...
- matlab中的timer模块,[转载]Matlab中Timer的使用
Matlab中Timer的使用 鉴于Matlab中缺乏多线程机制,使用Timer无疑是一个很重要的工具,Matlab中Timer是一个Java对象. (1)Timer 的定义 t=timer(); 设 ...
- m 文件 dll matlab 中调用_如何在matlab中调用python程序
现在python很火,很多代码都是python写的,如果你和我一样,习惯了使用matlab,还想在matlab中调用Python的代码,应该怎么办呢?其中一条思路:首先在matlab中调用系统脚本命令 ...
- matlab中m文件是什么,MATLAB中M文件的使用
运行方法: 使用matlab的时候,可以在"Command Window"内直接书写matlab代码,也可以将代码保存到M文件中,然后运行该文件.使用matlab主界面菜单&quo ...
- matlab 如何axis,在matlab中axis是什么意思,matlab中axis的用法
在matlab中axis是什么意思轴在matlab中是什么意思,matlab中的Axis是指在绘图中通常使用axis函数来设置坐标值的范围,在matlab的命令窗口中输入doc轴或help轴即可获得该 ...
- matlab中的abc-dq相坐标变换,MATLAB中的abc-dq相坐标变换
坐标变换总结 姓名: 日期:2011.11.4 坐标变换的总结 一. 由三项坐标系变换到两相旋转坐标系 1. 三相到两相静止坐标系的变换 首先,确定三相电压的相序: 在坐标图上表示三相到两相静止坐标系 ...
- matlab中filter卷积补零,matlab中的卷积——filter,conv之间的区别
filter是做滤波,其实原理跟卷积是想通的,只不过处理结果的方法不同,先看示例程序: x=[1,2,3,4,5]; h=[1,1,1]; y1=conv(h,x) y2=filter(h,1,x) ...
- matlab中转置和裁剪,对Matlab中共轭、转置和共轭装置的区别说明
共轭 转置 共轭转置 The symbols (·)T , (·)∗, and (·)H are,respectively, the transpose, complex conjugate and ...
- matlab中的lower,请问:MATLAB中,有实现Gabor变换的函数吗?
用matlab实现gabor小波对图片的纹理特征提取 matlab图像处理 过程如下:(1)在matlab中,用gaborfilter.m程序实现对三种农作物(小麦.棉花和大豆)蚜虫图片的做gabo ...
- matlab中函数的公式计算,MATLAB怎样定义函数(入门) 有一函数 f(x,y)=x^2+sinxy+2y , 写一程序, 输入自变量的值,输出函数值....
(x,y)=x+y(x>=0&y>=0)f(x,y)=x+y*y(x>= 由热心网友提供的答案1: 对于函数Sa(t)=sin(x)/x,其中x∈[-10π,10π],mat ...
最新文章
- Handlebars.js 模板引擎
- python中os.path.isdir()和os.path.isfile()的正确用法
- mysql8.0其他机器访问_论文导读|基于机器学习的高速缓存预取
- 游戏中的AI及实用算法逻辑
- SAP CRM WebClient UI element id的生成逻辑
- 响应式html5模板代码,响应式多用途HTML5模板
- 【状压DP】最优配对问题(jzoj 3420)
- python中形参*args和**kwargs简述
- 基于原版Hadoop的YDB部署(转)
- 今天吃什么网站源码火遍朋友圈
- 【Spring】模块
- Axure函数与属性速查
- 栈的应用(进制转换)
- Apache Flink 的迁移之路,2 年处理效果提升 5 倍
- view函数_python测试开发django63.基于函数的视图(@api_view())
- Z4使用简评,极影音是最大亮点,但整体依然很拉胯
- 2022年山东省安全员C证考试资料及山东省安全员C证考试试题
- 如何在C加加的面向对象写石头剪刀布游戏
- debug - 用Procmon记录目标程序启动后的操作
- kettle-数据迁移场景