| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-06-09 
				
				年龄: 43 
				
					帖子: 1
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			解方程组 
		
		
		
		
		
		
		
	dy/dt=a*y-b*y*z+t dz/dt=-b*z+2*t y0=10 z0=10 当0<t<5,b=2,a=2; 5<t<10,b=-1 a=1 请问程序怎么编写,不胜感激。  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-06-20 
				住址: 学校 
				年龄: 38 
				
					帖子: 24
				 
				
				
				声望力: 17 ![]()  | 
	
	
	
		
		
			
			 
			
			disp('请你确定t范围:'); 
		
		
		
		
		
		
		
	t=input('t='); if t>=0&t<=5 [y,z]=dsolve('Dy=2*y-2*y*z+t','Dz=-2*z+2*t','y(0)=10','z(0)=10'); y=simple(y) % 将y化简 z=simple(z) % 将y化简 end if t>=5&t<=10 [y,z]=dsolve('Dy=y+y*z+t','Dz=z+2*t','y(0)=10','z(0)=10'); y=simple(y) % 将y化简 z=simple(z) % 将y化简 end  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-06-20 
				住址: 学校 
				年龄: 38 
				
					帖子: 24
				 
				
				
				声望力: 17 ![]()  | 
	
	
	
		
		
			
			 
			
			结果如下:>> chen001 
		
		
		
		
		
		
		
	请你确定t范围: t=0:2; y = exp(3*t-t^2+21/2*exp(-2*t))*(Int(u*exp(-3*u+u^2-21/2*exp(-2*u)),u = 0 .. t)*exp(21/2)+10)/exp(21/2) z = t-1/2+21/2/exp(t)^2 >> chen001 请你确定t范围: t=5:6; y = exp(-t-t^2+12*exp(t))*(Int(u*exp(u+u^2-12*exp(u)),u = 0 .. t)*exp(12)+10)/exp(12) z = -2*t-2+12*exp(t) 是新手,不知符合你的要求吗?  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-07-17 
				
				年龄: 38 
				
					帖子: 1
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			哈哈,我问下,如果那对时间的一次导变成二次导该怎么解呢?
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#5 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-06-20 
				住址: 学校 
				年龄: 38 
				
					帖子: 24
				 
				
				
				声望力: 17 ![]()  | 
	
	
	
		
		
			
			 
			
			[y,z]=dsolve('D2y=2*y-2*y*z+t','Dz=-2*z+2*t','y(0)=10','z(0)=10'); 
		
		
		
		
		
		
		
	变成D2y就行了,后面的依次类推了,不过初始条件要增加了.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |