| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 
	 | 
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-09-25 
				
				年龄: 41 
				
					帖子: 2
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			新手刚刚接触matlab.我们测量获得百十个对应x,y,z数据点,要拟合成一个椭球面 
		
		
		
		
		
		
		
	椭球面一般形式:a1x^2+a2y^2+a3z^2+a4xy+a5xz+a6yz+a7x+a8y+a9z+a0=0 来求得椭球面表达式中的这些参数 非常焦急,希望这里的牛人们给个建议!  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2008-05-31 
				
				年龄: 38 
				
					帖子: 104
				 
				
				
				声望力: 20 ![]()  | 
	
	
	
		
		
			
			 
			
			有个非线性拟合返回拟合方程系数的函数: 
		
		
		
		
		
		
		
	lsqcurvefit,自己研究一下。  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2007-06-24 
				
				年龄: 70 
				
					帖子: 188
				 
				
				
				声望力: 22 ![]()  | 
	
	
	
		
		
			
			 
			
			这个问题有一定难度,若将数据置上,可以试试。
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-10-14 
				
				年龄: 45 
				
					帖子: 20
				 
				
				
				声望力: 18 ![]()  | 
	
	
	
		
		
			
			 
			
			貌似可以进行线性拟合! 
		
		
		
			先确定一个因变量如x^2 x^2=-(a2*y^2+a3z^2+a4xy+a5xz+a6yz+a7x+a8y+a9z+a0)/a1 用数据进行线性拟合即可出来,顺便说一下,由于等式为零,a1-a0只能求出个比值来(如a9/a1),不能求出具体值. 基本步骤如图,假设有一百个数据 b中的Ai代表什么应该知道了  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |