| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 
	 | 
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-04-30 
				
				
				
					帖子: 3
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			用matlab编程 
		
		
		
		
		
		
		
	s(n)=a*s(n-1)+x(n); x(n)是方差是1,均值是0的噪声信号。 求s(n). 我知道x(n)可以用randn产生,但是怎样解差分方程求解s(n),用filter的话,参数不能包含符号变量。 求助,各位高人这道题改怎么做?  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2008-11-01 
				
				年龄: 39 
				
					帖子: 406
				 
				
				
				声望力: 27 ![]()  | 
	
	
	
		
		
			
			 
			
			lz 只是说说自己的意见 看到这个方程时 我想到两个方向 一个是时域 一个是Z域的求解
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-04-30 
				
				
				
					帖子: 3
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			谢谢 时域的话,解差分方程的时候,将a设置成符号变量的话,a和s(n-1)相乘,一个是符号变量,一个是double类型,没法相乘啊,我刚刚开始学习,是不是有什么地方没有注意啊?
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2008-11-01 
				
				年龄: 39 
				
					帖子: 406
				 
				
				
				声望力: 27 ![]()  | 
	
	
	
		
		
			
			 
			
			可以参考matlab有关differential equation 的说明
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#5 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-04-30 
				
				
				
					帖子: 3
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			请教silas_xue大侠: 
		
		
		
		
		
		
		
	差分方程是这样做吗? clear; x=randn(1,256); s(1)=0; syms a; for i=2:256 s(i)=a*s(i-1)+x(i); end 出现了这个错误 ??? Conversion to double from sym is not possible.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |