| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-05-26 
				住址: 西南交大 
				年龄: 35 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			本人刚接触matlab不久,菜鸟级的,希望各位帮下,谢谢了 
		
		
		
		
		
		
			已知某非线性方程组如下: ff(1)=(3-5*x(1))*x(1)+1-2*x(2)=0 for k=2:9 ff(k)=(3-5*x(k))*x(k)+1-x(k-1)-2*x(k+1)=0 end ff(10)=(3-5*x(10))*x(10)+1-x(9)=0 试求该方程组的解。 
				__________________ 
		
		
		
		
	本着虚心的心,向各位前辈学习,我会像蜗牛一样一步一步往上爬,在最高点乘着叶片往前.......[  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 普通会员 
			
			
			
			注册日期: 2008-08-17 
				
				年龄: 43 
				
					帖子: 77
				 
				
				
				声望力: 19 ![]()  | 
	
	
	
		
		
			
			 
			
			方程求解应该用mathematica,给出数值解方法,算出来1024组解(想算符号解的话把最开头第一个N去掉,估计电脑死机了也算不出来) 
		
		
		
		
		
		
		
	NSolve[Flatten[{Table[(3 - 5 Subscript[x, i]) Subscript[x, i] + 1 - Subscript[x, i - 1] - 2 Subscript[x, i + 1] == 0, {i, 2, 9}], (3 - 5 Subscript[x, 1]) Subscript[x, 1] + 1 - 2 Subscript[x, 2] == 0, (3 - 5 Subscript[x, 10]) Subscript[x, 10] + 1 - Subscript[x, 9] == 0}], Table[Subscript[x, i], {i, 10}]]  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-05-26 
				住址: 西南交大 
				年龄: 35 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			谢谢了,非常感谢,我试试
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	本着虚心的心,向各位前辈学习,我会像蜗牛一样一步一步往上爬,在最高点乘着叶片往前.......[  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-05-26 
				住址: 西南交大 
				年龄: 35 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			我老师说一定要MATLAB做,各位帮帮忙
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	本着虚心的心,向各位前辈学习,我会像蜗牛一样一步一步往上爬,在最高点乘着叶片往前.......[  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#5 | 
| 
			
			 普通会员 
			
			
			
			注册日期: 2008-08-17 
				
				年龄: 43 
				
					帖子: 77
				 
				
				
				声望力: 19 ![]()  | 
	
	
	
		
		
			
			 
			
			只能解带初值的问题了,先创建函数: 
		
		
		
		
		
		
		
	%创建sol函数 function y=sol(a) y(1)=(3-5*a(1))*a(1)+1-2*a(2); for k=2:9 y(k)=(3-5*a(k))*a(k)+1-a(k-1)-2*a(k+1); end y(10)=(3-5*a(10))*a(10)+1-a(9); %保存下来,到matlab能识别的路径下 在主程序中调用: x=fsolve('sol',zeros(1,10)) 其中zeros(1,10)表示初值全为0,也可以换成你想要的初值,比如 换成ones(1,10), [1,2,3,……]自己按需要写吧。  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#6 | 
| 
			
			 普通会员 
			
			
			
			注册日期: 2008-08-17 
				
				年龄: 43 
				
					帖子: 77
				 
				
				
				声望力: 19 ![]()  | 
	
	
	
		
		
			
			 
			
			注意,这里只是给一个解,可不是所有解。 
		
		
		
		
		
		
		
		
			再者,fsolve在初始值为实数的时候求不出虚数解,你可以试一下 此帖于 2009-05-30 11:56 被 zsy312 编辑。  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#7 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-05-26 
				住址: 西南交大 
				年龄: 35 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			朋友,谢谢了,我试试
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	本着虚心的心,向各位前辈学习,我会像蜗牛一样一步一步往上爬,在最高点乘着叶片往前.......[  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#8 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-05-17 
				
				年龄: 39 
				
					帖子: 2
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |