24小时热门版块排行榜    

查看: 1919  |  回复: 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)
这个公式是把离散点拟合成椭圆的一个公式。有哪位同学能给我讲一下这个公式是怎么来的,我不太理解。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
ww汪红: 金币+10, ★★★很有帮助 2015-12-26 15:58:34
这个方程:P1*X^2 + P2 *X*Y + P3*Y ^2 + P4=1
可以理解是一个中心点在原点的旋转椭圆
5楼2015-12-24 10:27:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

guo_zy_123

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +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
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guo_zy_123

木虫 (正式写手)

【答案】应助回帖

当然你认为是拟合椭圆也行

反正就是看F 和 0的大小关系呗,如果是这个椭圆上的点, F的值会很接近0

通过对这个式子,调整4个系数P,让F每一项都趋近于0 就接近 椭圆了
老古董
3楼2015-12-24 08:47:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

getengqing

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
引用回帖:
2楼: Originally posted by guo_zy_123 at 2015-12-24 08:43:49
这应该不是拟合椭圆的公式吧,

这是个匿名函数啊

matlab中的函数写法
可以有三种方法创建:

  (1)inline函数:
  f=inline('3*x+1','x')

  可以得到:f=
  Inline function :
  f(x)=3 ...

那怎么和上述输入t一样输入呢?
一起交流学习/分享优秀资源
4楼2015-12-24 09:00:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见