24小时热门版块排行榜    

查看: 1627  |  回复: 17

涡振怎么振?

金虫 (小有名气)

引用回帖:
10楼: Originally posted by 月只蓝 at 2015-08-07 16:49:18
y'是一个已知的数 还是在你给出的数据中 的一列数?...

一列数,速度时程
云总会开,月终会明。
11楼2015-08-07 16:49:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

引用回帖:
10楼: Originally posted by 月只蓝 at 2015-08-07 16:49:18
y'是一个已知的数 还是在你给出的数据中 的一列数?...

你给出的数据.txt中的四列数各对应的变量是什么?y和y'在其中吗?
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
12楼2015-08-07 16:51:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

涡振怎么振?

金虫 (小有名气)

时间、位移时程y、速度时程y'、力的时程,最后拟合的就是力的时程。

不好意思,txt有一个错误,所有的时间应该减10,即应该从0开始。
云总会开,月终会明。
13楼2015-08-07 16:55:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

涡振怎么振?

金虫 (小有名气)

引用回帖:
12楼: Originally posted by 月只蓝 at 2015-08-07 16:51:30
你给出的数据.txt中的四列数各对应的变量是什么?y和y'在其中吗?...

时间、位移时程y、速度时程y'、力的时程,最后拟合的就是力的时程。

不好意思,txt有一个错误,所有的时间应该减10,即应该从0开始。
云总会开,月终会明。
14楼2015-08-07 16:55:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

涡振怎么振?

金虫 (小有名气)

引用回帖:
14楼: Originally posted by 涡振怎么振? at 2015-08-07 16:55:54
时间、位移时程y、速度时程y'、力的时程,最后拟合的就是力的时程。

不好意思,txt有一个错误,所有的时间应该减10,即应该从0开始。...

现在直接在matlab里面拟合,得到的误差很大。程序和结果附下。

matlab程序:
function F = myfuncxy(a, data);
t = data(1,;
y = data(2,;
v = data(3,;
F=733.4274675*((a(1)/9.1)*(v-a(5).*v.^3./82.81))+((a(2)/0.175)*y)+((a(3)/1.925)*y.*v)+((a(4)/0.02975)*y.^2)+(a(6)*sin(a(7)*t+a(8)));

——————————————————————————————————————
clc
clear all
close all

data1 = textread('C:\Documents and Settings\Administrator\桌面\txy数据.txt');
zdata1 = textread('C:\Documents and Settings\Administrator\桌面\z数据.txt');
tdata1 = data1(:,1);
ydata1 = data1(:,2);
vdata1 = data1(:,3);
zdata1 = zdata1(:,1);
tdata = tdata1';
ydata = ydata1';
vdata = vdata1';
zdata = zdata1';
data = [tdata; ydata; vdata];

a0= [1; 1; 100; 1; 100; 0.1; 10; 1]; % 设定初值
[a, resnorm] = lsqcurvefit(@myfuncxy,a0,data,zdata)

F_new=733.4274675*((a(1)/9.1)*(vdata-a(5).*vdata.^3./82.81))+((a(2)/0.175)*ydata)+((a(3)/1.925)*ydata.*vdata)+((a(4)/0.02975)*ydata.^2)+(a(6)*sin(a(7)*tdata+a(8)));
plot(tdata,zdata,'+r',tdata,F_new,'b');
求助关于非线性最小二乘法进行参数识别
拟合结果.jpg

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : z数据.txt
  • 2015-08-08 17:31:39, 329.81 K
  • 附件 2 : txy数据.txt
  • 2015-08-08 17:31:50, 1.07 M
云总会开,月终会明。
15楼2015-08-08 17:32:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

涡振怎么振?

金虫 (小有名气)

得到的结果是
a= [154.3314; 233.2816; 1703.63416; 114.1059; 111475.5747; 1.1772; 14.676; 3.9779]
resnorm = 6.1243e+006

误差太大了,是什么原因呢?

@jerkwin
云总会开,月终会明。
16楼2015-08-08 17:33:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

涡振怎么振?

金虫 (小有名气)

红色线是试验结果,蓝色线是拟合结果
云总会开,月终会明。
17楼2015-08-08 17:34:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jerkwin

专家顾问 (正式写手)


ben_ladeng: 金币+1, 辛苦了 2015-08-11 08:15:51
引用回帖:
16楼: Originally posted by 涡振怎么振? at 2015-08-08 17:33:27
得到的结果是
a=
resnorm = 6.1243e+006

误差太大了,是什么原因呢?

jerkwin

你的方程和数据不匹配, 数据在零点时取负值, 而方程在零点为零值
检查你的方程
或者你的拟合没有收敛
18楼2015-08-08 22:12:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 涡振怎么振? 的主题更新
信息提示
请填处理意见