用matlab画同心圆,求同心圆的同心度
hi
椭圆的最小二乘拟合
只需要将X换成你的边界坐标即可
x = [59 136
58 137
57 137
56 137
55 138
54 139
53 140
52 141
51 142
51 143
51 144
50 145
50 146
50 147
50 148
49 149
49 150
49 151
49 152
49 153
50 154
50 155
50 156
50 157
51 158
51 159
51 160
52 161
52 162
53 163
54 164
54 165
55 166
56 167
57 168
58 169
59 170
60 171
61 171
62 172
63 172
64 172
65 173
66 173
67 173
68 173
69 173
70 173
71 173
72 173
73 172
74 172
75 172
76 171
77 171
78 170
79 169
79 168
80 167
80 166
80 165
81 164
81 163
81 162
81 161
81 160
81 159
81 158
81 157
81 156
81 155
81 154
81 153
80 152
80 151
80 150
79 149
79 148
79 147
78 146
78 145
77 144
76 143
75 142
74 141
73 140
72 139
71 138
70 138
69 137
68 137
67 137
66 136
65 136
64 136
63 136
62 136
61 136
60 136];
% p0=[1 1 1 1 1 1];
p0=[0.005 0.005 0.005 0.005 0.005 0.005];
warning off
F=@(p,x)p(1)*x(:,1).^2+p(2)*x(:,1).*x(:,2)+p(3)*x(:,2).^2+p(4)*x(:,1)+p(5)*x(:,2)+p(6);
% 拟合系数,最小二乘方法
p=nlinfit(x,zeros(size(x,1),1),F,p0);
p(1)
p(2)
p(3)
p(4)
p(5)
p(6)
A=p(1)/p(6);
B=p(2)/p(6);
C=p(3)/p(6);
D=p(4)/p(6);
E=p(5)/p(6);
%%椭圆中心
X_center = (B*E-2*C*D)/(4*A*C - B^2);
Y_center = (B*D-2*A*E)/(4*A*C - B^2);
fprintf(' X_center=%g, Y_center=%g\n',X_center,Y_center);
%%长短轴
a= 2*sqrt((2*A*(X_center^2)+2*C*(Y_center^2)+2*B*X_center*Y_center-2)/(A+C+sqrt(((A-C)^2+B^2))));
b= 2*sqrt((2*A*(X_center^2)+2*C*(Y_center^2)+2*B*X_center*Y_center-2)/(A+C-sqrt(((A-C)^2+B^2))));
%%长轴倾角
q=0.5 * atan(B/(A-C));
fprintf(' q=%g\n',q);
fprintf(' a=%g, b=%g\n',a,b);
plot(x(:,1),x(:,2),'ro');
hold on;
xmin=min(x(:,1));
xmax=max(x(:,1));
ymin=min(x(:,2));
ymax=max(x(:,2));
% 作图
ezplot(@(x,y)F(p,[x,y]),[xmin,xmax,ymin,ymax]);
title('曲线拟合');
%legend('样本点','拟合曲线')
用matlab画同心圆,求同心圆的同心度相关推荐
- 用matlab画(求)没有原函数的不定积分图像(定积分值)
用matlab画(求)没有原函数的不定积分图像(定积分值) 问题描述 求定积分值 画原函数图像 具体实例 结论 问题描述 一般情况,用matlab的int函数可以很方便求解一个不定积分或者定积分值,并 ...
- 用HTML+CSS画出一个同心圆
参加web前端校招的同学们经常会遇到这样的面试题:用HTML+CSS画出一个同心圆. 例如: 这道题主要考验的是基础盒模型布局能力和倒圆角属性的巧用. 1.html代码 [html] view pla ...
- python绘制彩色同心圆_少儿编程之画十个彩色同心圆
少儿编程之画十个彩色同心圆 上节课我们学习了,彩色圆环的画法.那这一节课只要对上节课进行适当修改一下,就可以变成了画同心圆的程序了. 一.首先,我们修改一下角色,打开scratch软件后删除默认的角色 ...
- python画同心圆程序_python turtle画4个同心圆方法!
在python中如何使用循环结构画四个相切的圆 from turtle import * r=20 x,y=0,0 for i in range(4): if i==2: penup() goto(x ...
- python turtle循环,python实现画循环圆 python turtle画4个同心圆方法
在python中如何使用循环结构画四个相切的圆 利用循环绘制复杂图形 python题? 循环画圆,圆的圆心在同一个圆上,同时用不同的渐进颜色 要用到三角函数算圆心 python怎么实现画圆功能 pyt ...
- matlab求圆台模型,使用Matlab画出圆台圆锥圆柱
<使用Matlab画出圆台圆锥圆柱>由会员分享,可在线阅读,更多相关<使用Matlab画出圆台圆锥圆柱(5页珍藏版)>请在人人文库网上搜索. 1.用Matlab画圆柱圆台圆锥自 ...
- matlab 画狗头彩蛋,我用matlab画制动力分配曲线,求程序代码
matlab画函数曲线 c = 3.00e8;h = 6.63e-34;k = 1.38e-23;lambda = (1:10:5000).*1e-9; figure(1)subplot(2,1,1) ...
- matlab画波动图像,【基于Matlab的波动方程的可视化实现最终版材料】
基于Matlab的波动方程的可视化实现(最终版) <基于Matlab的波动方程的可视化实现.doc>由会员分享,可免费在线阅读全文,更多与<基于Matlab的波动方程的可视化实现(最 ...
- matlab泰勒图,matlab画泰勒图
急 在matlab中写个用泰勒级数计算arctan(x)的方程 clear;clc;x=1;s=0;y=atan(x);fori=1:1e6n=2*i-1;s=s+(-(-1)^i)*(x^n)/n; ...
最新文章
- ResizeObserver - 元素resize监听API
- 《PHP求职宝典》--Web设计页面笔记
- 哪些钱借了可以不还?
- c#异常类的闰年判断
- html5中event获取data和class
- delphi 获取计算机,Delphi中用GetTickCount获取计算机运行时间
- Unity中更改鼠标光标样式
- 复合函数求导经典例题_导数--复合函数的导数练习题
- 20120902 07
- 计算股票收盘价的月日均值 matplotlib绘图
- 老公老婆之间的道歉。。。有点幽默有点感动
- 自然语言处理之维特比(Viterbi)算法
- 微信公众账号怎么快速增加粉丝
- 【前端必知】胶水(框架) Stencil.js
- 从Windows用scp往linux里传输文件
- js字段名下划线命名转驼峰,驼峰转下划线
- 利用 Global mapper制作地图瓦片
- CAD转换的时候,怎么快速在图纸转换成高质量的JPG格式?
- 网络共享计算机权限访问,共享电脑没有访问权限_共享电脑无访问权限
- React兼容IE8