| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 
	 | 
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-06-15 
				
				年龄: 42 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			已知方程y=a+b*cos(x-c) 
		
		
		
		
		
		
		
	给定y和x,怎么用matlab拟合出a,b,c啊 本人刚学matlab,还请各位高手帮忙啊:lovely:  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2008-04-02 
				
				年龄: 47 
				
					帖子: 175
				 
				
				
				声望力: 21 ![]()  | 
	
	
	
		
		
			
			 
			
			将cos(x-c)展开,原式变为 
		
		
		
		
		
		
		
	y=a+b*cos(c)*cos(x)+b*sin(c)*sin(x) 假设A=a,B=b*cos(c),C=b*sin(c),Xc=cos(x),Xs=sin(x)那么又有 y=A+B*Xc+C*Xs=[1,Xc,Xs]*[A;B;C]; 由于x,y已知,即y,Xc,Xs已知;对于多个采样,问题又变为 Y=X*[A;B;C];%方程1 其中,Y=[y1;y2;...]是列向量,X=[1,Xc1,Xs1;1,Xc2,Xs2;...]是n行三列矩阵,n是采样个数。 这时,原问题变为求解方程1,待求量为A,B,C。A,B,C的一般表达式为 [A;B;C]=IX*Y; 这里IX是矩阵X的广义逆。在matlab中函数LSCOV(...)用于解决最小二乘广义逆,写法为 [A;B;C]=lscov(X,Y);%基于最小二乘的广义逆,不知合不合LZ要求,其它广义逆函数请查找帮助 求得A,B,C后,即可唯一解出a,b,c  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-05-22 
				
				年龄: 42 
				
					帖子: 1
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			可以按照二楼的试一下
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2007-12-02 
				
				年龄: 44 
				
					帖子: 303
				 
				
				
				声望力: 31 ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
			
			 
			
			不错哦, 2楼的把 最小二乘法拟合,用的挺不错的嘛:redface:
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#5 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-06-15 
				
				年龄: 42 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			厉害,谢谢!!
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
![]()  | 
	
	
		
  | 
	
		 | 
			 
			相似的主题
		 | 
	||||
| 主题 | 主题作者 | 版面 | 回复 | 最后发表 | 
| How MATLAB Represents Pixel Colors | TechnicalArticles | MATLAB技术文章 | 0 | 2008-01-06 16:32 | 
| 【求助】如何求解如下方程? | woshizhuqiqi | MATLAB论坛 | 1 | 2007-12-20 22:00 | 
| 留学美国行李清单 | labfans | MATLAB新闻聚合 | 0 | 2007-11-20 15:15 | 
| 【求助】如何计算离散曲线的曲率半径 | sophiemarceau | MATLAB论坛 | 0 | 2007-08-22 19:40 |