声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2034|回复: 11

[计算数学] 请高手指点迷津:帮忙求解一个方程,急急急

[复制链接]
发表于 2009-12-24 17:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
各位高手你们好,想向大家请教一个数学问题,我不是学数学的,但是在求解问题中遇到这样的一个问题,还请高手能指点迷津,我要解这样的一个方程:y1=k1(x1+a1*x2-a2*x3); 其中y1,x1,x2,x3是随着a1,a2变化而变化的量,现在我已经测出y1,x1,x2,x3随着a1,a2变化的一组数据,现在我需要求出参数k1,但是我觉得k1并不是一个常数,我觉得k1应该是关于a1,a2的一个函数,但是我不知道用什么方法求出k1,还请各位高手指教,多谢了,其中y1,x1,x2,x3,a1,a2的数据如下:
y1x1x2x3a1a2
129133.992827.99629.66660.20.4
128133.992827.996210.00210.20.8
131133.992836.99619.66660.40.4
129133.992836.996110.00210.40.8
133133.992842.32999.66660.60.4
130133.992842.329910.00210.60.8
132133.992845.99789.66660.80.4
131133.992845.997810.00210.80.8
135133.9928509.666610.4
132133.99285010.002110.8
152156.050427.99629.66660.20.4
151156.050427.996210.00210.20.8
153156.050436.99619.66660.40.4
153156.050436.996110.00210.40.8
154156.050442.32999.66660.60.4
152156.050442.329910.00210.60.8
154156.050445.99789.66660.80.4
154156.050445.997810.00210.80.8
155156.0504509.666610.4
155156.05045010.002110.8
回复
分享到:

使用道具 举报

发表于 2009-12-26 00:45 | 显示全部楼层
???
y1=aaa(:,1); x1=aaa(:,2); x2=aaa(:,3); x3=aaa(:,4); a1=aaa(:,5); a2=aaa(:,6);
kk=y1./(x1+a1.*x2-a2.*x3); aa=[a1,a2,ones(size(a1))]; sol=aa\kk; kkk=aa*sol;
plot3(a1,a2,kk,'o',a1,a2,kkk,'rx')
发表于 2009-12-26 09:53 | 显示全部楼层
他只希望得到一个数,好往论文或报告上放,是否懂大概他不想知道
发表于 2009-12-26 11:29 | 显示全部楼层

回复 板凳 VibrationMaster 的帖子

唉, 不管那里, 这种现象好像愈来愈严重!?
希望大家能尽可能不要如此!
 楼主| 发表于 2009-12-29 16:13 | 显示全部楼层

不是的,冤枉我了

大家误解了,我不是想得到一个数,只是想要一个思路,因为再做下去我不知道如何下手了,我想大家能提醒一下用什么方法可以解决这个方法
 楼主| 发表于 2009-12-29 16:20 | 显示全部楼层
ChaChing你好,你写得我看不太懂,你能告诉我用什么方法解决吗?我可以搜一个关于这个方法的介绍,学习一下,我并不是想要一个答案然后放到论文里,我是想让大家给我一个思路,大家误解我了:'( :'(
发表于 2009-12-29 16:42 | 显示全部楼层
最小二乘方误差(least square)或曲线拟合(curve fit)!
名称或许不太相同
 楼主| 发表于 2009-12-29 20:56 | 显示全部楼层
嗯,好的,我查查相关资料,谢谢你啦
发表于 2009-12-29 21:16 | 显示全部楼层

回复 8楼 happypp 的帖子

早上忘了说, 其实LZ的数据怪怪的!?
方程k1=y/(x1+a1*x2-a2*x3)中, 相同a1/a2其k1并不相同?
也许k1不仅是关于a1,a2的一个函数!?

[ 本帖最后由 ChaChing 于 2009-12-29 21:18 编辑 ]
发表于 2009-12-30 08:22 | 显示全部楼层
XX=[
129 133.9928 27.9962 9.6666 0.2 0.4;...
128 133.9928 27.9962 10.0021 0.2 0.8;...
131 133.9928 36.9961 9.6666 0.4 0.4;...
129 133.9928 36.9961 10.0021 0.4 0.8;...
133 133.9928 42.3299 9.6666 0.6 0.4;...
130 133.9928 42.3299 10.0021 0.6 0.8;...
132 133.9928 45.9978 9.6666 0.8 0.4;...
131 133.9928 45.9978 10.0021 0.8 0.8;...
135 133.9928 50 9.6666 1 0.4;...
132 133.9928 50 10.0021 1 0.8;...
152 156.0504 27.9962 9.6666 0.2 0.4;...
151 156.0504 27.9962 10.0021 0.2 0.8;...
153 156.0504 36.9961 9.6666 0.4 0.4;...
153 156.0504 36.9961 10.0021 0.4 0.8;...
154 156.0504 42.3299 9.6666 0.6 0.4;...
152 156.0504 42.3299 10.0021 0.6 0.8;...
154 156.0504 45.9978 9.6666 0.8 0.4;...
154 156.0504 45.9978 10.0021 0.8 0.8;...
155 156.0504 50 9.6666 1 0.4;...
155 156.0504 50 10.0021 1 0.8 ]; %各列分别代表y1 x1 x2 x3 a1 a2

% 先计算出各批的k1
K1=(XX(:,2)+XX(:,5).*XX(:,3)-XX(:,6).*XX(:,4))./XX(:,1);% 计算k1=y1/(x1+a1*a2-a2*x3);

%非参数法考察k1与a1与a2的关系--通过画图观察
scater3(XX(:,5),XX(:,6),K1);
%用鼠标或转动上述图形,可以发现:1;图形聚集在两条线附近。这是因为你的a2只有两个变化值
%为了更有把握一些,画下面图图形

scatter(XX(:,5),K1);%这幅图验证k1随a1线性变化

scatter(XX(:,6),K1);%仅有两列看不出变化规律,应该补更多的数据
%但是作为最简单的假定,我们假定K1是随a2线性变化的。

%根据上面的非参数考察结果,我们的参数化模型建立为
% k1=c1*a1+c2*a2+c3
% 下面来计算c1,c2,c3
% 采用最小二乘法计算

AM=[XX(:,5),XX(:,6),ones([size(XX,1),1])]; %组集数据矩阵

%最小二乘
CV=(AM'*AM)^(-1)*(AM'*K1); %解出系数向量了

%c1=CV(1)=0.3511; 表明k1随a1变化显著
%c2=CV92)=-0.0450;表明k1几乎不随a2变化;特别是只有两个变化值。除非有特别理由,应该认为k1不随a2变化;若坚持认为,则应加数据
%c3=0.9814,静态偏移量

%再检查一下拟合效果
scatter3(XX(:,5),XX(:,6),K1);
%用于计算拟合结果的a1,a2值;
[a1V,a2V] = meshgrid(min(XX(:,5))-0.2:0.1:max(XX(:,5))+0.2,min(XX(:,6))-0.2:0.1:max(XX(:,6))+0.2);
KVF=a1V*CV(1)+a2V*CV(2)+CV(3);%拟合结果
hold on
mesh(a1V,a2V,KVF); %旋转图形,看看数据在拟合面的聚集程度;结果蛮好的

%结束语
%1. k1随a1线性变化
%2. 现有的数据不足以支持k1随a2的变化关系。需要补充更多的数据
%3. 删除a2的关系,自己重新计算,比较一下
%4. 严格地应该用统计检验。自学一下吧,估计短期之内也不容易掌握
%5. 答辩时候不要忘记致谢我

评分

1

查看全部评分

 楼主| 发表于 2009-12-30 08:49 | 显示全部楼层
嗯,谢谢了,受益匪浅,我再做做试试,可能我建立的模型有问题,我再做做看,多谢你的指教:@)
发表于 2009-12-30 23:36 | 显示全部楼层
两个小笔误!
1.K1=XX(:,1)./(XX(:,2)+XX(:,5).*XX(:,3)-XX(:,6).*XX(:,4));% 计算k1=y1/(x1+a1*a2-a2*x3);
2.scatter3(XX(:,5),XX(:,6),K1);
所以算出的CV与我2F的sol不同! sol =[-0.2592;0.0347;0.9995]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-13 13:01 , Processed in 0.079772 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表