| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 
	 | 
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-09-11 
				
				年龄: 45 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 我想编一个程序计算函数y=a+b/(1+exp(c+d*x))的反函数,并通过输入数组求反函数的值  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2007-12-02 
				
				年龄: 44 
				
					帖子: 303
				 
				
				
				声望力: 31 ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
			
			 
			
			syms a b c d x 
		
		
		
		
		
		
		
	y=finverse(a+b/(1+exp(c+d*x))) % y就是反函数  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2008-11-07 
				住址: 湖南长沙 
				
				
					帖子: 233
				 
				
				
				声望力: 22 ![]()  | 
	
	
	
		
		
			
			 
			
			我觉得还是利用性质计算好些 
		
		
		
		
		
		
		
	先计算出原函数的值 然后计算出它关于y=x的对称点,这样似乎更精确  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2008-11-07 
				住址: 湖南长沙 
				
				
					帖子: 233
				 
				
				
				声望力: 22 ![]()  | 
	
	
	
		
		
			
			 
			
			a=1; 
		
		
		
		
		
		
		
	b=1; c=1; d=1; x(1)=0; y(1)=a+b/(1+exp(x(1))); for n=1:50 x(n+1)=x(n)+0.01; y(n+1)=a+b/(1+exp(x(n+1))); end x1=y; y1=x; subplot(1,2,1); plot(x,y,'o') subplot(1,2,2); plot(x1,y1) 上面是一种固定参数的计算格式  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#5 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-09-11 
				
				年龄: 45 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			非常感谢帮忙
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |