| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-08-06 
				
				年龄: 45 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			y21 = B4/B6; 
		
		
		
		
		
		
		
	if B1==2 %双终端 [m1,n1]=generate_m1n1(B2*B9+B3); if judge_even(B5)==1 %偶数阶情况 [r22k,lamdak,kd1]=residue(n1,m1); %分解y22!!!!!!!!!!!!!!!residue精度有问题 lamdak tt=roots(m1) r22k=real(r22k); r22k gn=1; while gn<B5+1 Tnk(gn)=sqrt(r22k(gn)); gn=gn+1; end if B7==B5 y21 = y21 - i*B8*m1; end [r21k,lamdak,kd2]=residue(y21,m1); % lamdak r21k=real(r21k); r21k gn=1; while gn<B5+1 T1k(gn)=r21k(gn)/Tnk(gn); gn=gn+1; end 上面的程序结果总是出现问题:lamdak(有重根造成的)及r21k总是算出的结果有问题,特别是重根的值计算的不准确,请各位大侠帮忙看看如何解决,generate_m1n1为定义的函数,residue函数精度已提高到0.0000001,  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-08-06 
				
				年龄: 45 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			请大家多帮忙解答一下或提供一个替代程序或函数,先行谢过
		 
		
		
		
		
		
		
		
		
			此帖于 2009-05-07 18:17 被 zhca 编辑。  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |