Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-04-15
年龄: 39
帖子: 27
声望力: 18 ![]() |
![]()
已知函数x=exp(q/tan(B))*cos(q-qa)+pa*sin(q-qa+B);
y=exp(q/tan(B))*sin(q-qa)-pa*cos(q-qa+B); 其中只有q是变量,且q=[1.3,1.5];B,qa,pa都是常量; 现在要把x,y拟合为以下的函数形式: x=exp(q/tan(B+tB))*cos(q+tq); y=exp(q/tan(B+tB))*sin(q+tq); 怎么求出tB和tq呢? 如果用 p = curvefit(‘Fun’p0,xdata,ydata)这个,具体要怎么写. 我的x,y都是隐函数. |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-04-02
年龄: 47
帖子: 175
声望力: 21 ![]() |
![]()
1,由q=[1.3,1.5]获得x,y的离散序列
2,由x=exp(q/tan(B+tB))*cos(q+tq);y=exp(q/tan(B+tB))*sin(q+tq);得到 atan(y/x)=q+tq%线性拟合截距 ln(x^2+y^2)=q/tan(B+tB)%线性拟合斜率 不知道可不可以,呵呵 |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2008-04-15
年龄: 39
帖子: 27
声望力: 18 ![]() |
![]()
1,由q=[1.3,1.5]获得x,y的离散序列
2,由x=exp(q/tan(B+tB))*cos(q+tq);y=exp(q/tan(B+tB))*sin(q+tq);得到 atan(y/x)=q+tq%线性拟合截距 ln(x^2+y^2)=q/tan(B+tB)%线性拟合斜率 你的意思是这样吗? 令x1=q; y1=atan(y/x)+ln(x^2+y^2)=q+tq+2q/tan(B+tB)=(1+2/tan(B+tB))*x+tq p=polyfit(x1y11); 求出来的p(1)=1+2/tan(B+tB) p(2)=tq |
![]() |
![]() |
![]() |
#4 |
高级会员
注册日期: 2008-04-02
年龄: 47
帖子: 175
声望力: 21 ![]() |
![]()
right
:smile: |
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2008-04-15
年龄: 39
帖子: 27
声望力: 18 ![]() |
![]()
这样求出来误差很大,2条曲线差很多呀。好像是累积了很多误差
|
![]() |
![]() |
![]() |
#6 |
普通会员
注册日期: 2008-04-04
年龄: 38
帖子: 46
声望力: 20 ![]() ![]() |
![]()
使用lsqcurvefit进行最小二乘拟合
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
【求助】超越方程组的fsolve解法 | 小妮妮 | MATLAB论坛 | 3 | 2008-09-21 20:11 |
急求小波分解程序 | sameni123 | MATLAB论坛 | 0 | 2008-05-25 08:02 |
【求助】如何求解如下方程? | woshizhuqiqi | MATLAB论坛 | 1 | 2007-12-20 22:00 |
留学美国行李清单 | labfans | MATLAB新闻聚合 | 0 | 2007-11-20 15:15 |
【求助】如何计算离散曲线的曲率半径 | sophiemarceau | MATLAB论坛 | 0 | 2007-08-22 19:40 |