| 查看: 1920 | 回复: 11 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
ww汪红新虫 (小有名气)
|
[求助]
F=@(p,x)p(1)*x(:,1).^2+p(2)*x(:,1).*x(:,2)+p(3)*x(:,2).^2+p(4) 已有3人参与
|
||
|
F=@(p,x)p(1)*x(:,1).^2+p(2)*x(:,1).*x(:,2)+p(3)*x(:,2).^2+p(4) 这个公式是把离散点拟合成椭圆的一个公式。有哪位同学能给我讲一下这个公式是怎么来的,我不太理解。 |
» 猜你喜欢
全日制(定向)博士
已经有5人回复
假如你的研究生提出不合理要求
已经有10人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
实验室接单子
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求大神解释~~F=@(p,x)p(1)*x(:,1).^2+p(2)*x(:,1).*x(:,2)+p(3)*x(:,2).^2+p(4);
已经有6人回复
??? Attempted to access C(2); index out of bounds because numel(C)=1.
已经有3人回复
1stopt进行复杂动力学ode多参数拟合 求助@dingd
已经有2人回复
matlab
已经有5人回复
注册化工工程师2011年案例
已经有43人回复
大家帮忙看一个matlab的小程序,看看哪里出错了
已经有5人回复
matlab问题
已经有1人回复
matlab问题
已经有7人回复
matlab程序出错调试
已经有7人回复
一个MATLAB程序,运行不出来
已经有1人回复
matlab程序问题,总是出错,麻烦大家看看问题在那里?
已经有6人回复
利用Matlab进行热力学一致性检验-面积法
已经有4人回复
好玩的matlab的3D心形代码(已全部验证)
已经有4人回复
一个HF方法计算H2键长的matlab代码(一百多行)
已经有2人回复
【求助】安装vasp出错 make: *** [fftmpi_map.o] 错误 1【已解决】
已经有6人回复
【资源】Runge-Kutta解ODE的一些程序及应用(from MathWorks)
已经有3人回复
【求助】求高手帮看一下程序(泡点温度计算)
已经有2人回复
【分享】关于Boltzmann 的计算代码(MATLAB)
已经有9人回复
guo_zy_123
木虫 (正式写手)
- 应助: 32 (小学生)
- 金币: 4141
- 红花: 11
- 帖子: 442
- 在线: 197.5小时
- 虫号: 2601957
- 注册: 2013-08-17
- 性别: MM
- 专业: 动力学与控制
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
xzhdty: 金币+10, 代楼主发放金币 2015-12-24 20:41:09
ww汪红: 金币+40, ★★★★★最佳答案 2015-12-26 15:58:23
xzhdty: 金币+10, 代楼主发放金币 2015-12-24 20:41:09
ww汪红: 金币+40, ★★★★★最佳答案 2015-12-26 15:58:23
|
%给你个更加详细椭圆函数的拟合 %复制到matlab运行 %记得给金币 %记得给金币 %记得给金币(重要的事情说三遍) clear; clc; close all; % 设出圆锥曲线方程 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); % 离散数据点 x=[1.7729 1.9228 1.7338 1.9072 2.0539 1.6137 2.0656 1.6412 1.8611 1.48765 1.9005 1.4971 2.0732 1.6546 1.8338 1.9405 1.9375 1.5104 1.6878 1.5177 1.7031 1.5097 1.9577 1.5201 1.9872 1.5437 2.0341 1.5805 2.0723 1.6546 2.0681 1.8284 2.0557 1.8483 2.0491 1.5651 ]; p0=[1 1 1 1 1 1]; warning off % 拟合系数,最小二乘方法 p=nlinfit(x,zeros(size(x,1),1),F,p0); 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]),[-1+xmin,1+xmax,-1+ymin,1+ymax]); title('曲线拟合'); legend('样本点','拟合曲线') |

8楼2015-12-24 10:37:07
guo_zy_123
木虫 (正式写手)
- 应助: 32 (小学生)
- 金币: 4141
- 红花: 11
- 帖子: 442
- 在线: 197.5小时
- 虫号: 2601957
- 注册: 2013-08-17
- 性别: MM
- 专业: 动力学与控制
【答案】应助回帖
感谢参与,应助指数 +1
|
这应该不是拟合椭圆的公式吧, 这是个匿名函数啊 matlab中的函数写法 可以有三种方法创建: (1)inline函数: f=inline('3*x+1','x') 可以得到:f= Inline function : f(x)=3*x+1 输入t=0:3; f(t) ans = 1 4 7 10 (2)匿名函数: f=@(x)3*x+1 可以得到:f= @(x)3*x+1 输入t=0:3; f(t) ans = 1 4 7 10 (3)创建M-函数 新建m文件,输入: function f=equation(x) f=3*x+1; 保存m文件到工作文件夹; 调用: 输入t=0:3; f=equation(t) ans = 1 4 7 10 你这个属于第二种,是个匿名函数 输入p和x就能出对应函数值,不过x的格式是个椭圆 p 输入4个系数 x的第一列是当作X,x的第二列当作Y 方程就是 P1*X^2 + P2 *X*Y + P3*Y ^2 + P4 这个函数描述的是 这个东西 |

2楼2015-12-24 08:43:49
guo_zy_123
木虫 (正式写手)
- 应助: 32 (小学生)
- 金币: 4141
- 红花: 11
- 帖子: 442
- 在线: 197.5小时
- 虫号: 2601957
- 注册: 2013-08-17
- 性别: MM
- 专业: 动力学与控制

3楼2015-12-24 08:47:06
getengqing
木虫 (正式写手)
- 应助: 104 (高中生)
- 金币: 3759.8
- 散金: 30
- 红花: 5
- 帖子: 592
- 在线: 110.5小时
- 虫号: 2986702
- 注册: 2014-02-23
- 性别: GG
- 专业: 自然语言理解与机器翻译

4楼2015-12-24 09:00:25












回复此楼