| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-10-09 
				
				年龄: 38 
				
					帖子: 26
				 
				
				
				声望力: 18 ![]()  | 
	
	
	
		
		
			
			 
			
			题目如下: 
		
		
		
		
		
		
		
	设计一个函数文件,要求输入一个方阵,该函数能统计出方阵中大于0,等于0和小于0的元素的个数。 程序如下: function [a]=num(b) b=rand(i,j) syms n for i=0:n j=i k=0 %k为等于0元素的个数 l=0 %l为大于0元素的个数 m=0 %m为小于0元素的个数 for h=0:i s=0:j if b(h,s)==0 k=k+1; else if b(h,s)>0 l=l+1; else b(h,s)<0 m=m+1; end end k end l end m 运行时出现这样的提示: ??? Unable to find subsindex function for class sym. Error in ==> C:\MATLAB6p5\work\num.m On line 11 ==> if b(h,s)==0 这是怎么回事呀?  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2008-09-14 
				
				年龄: 43 
				
					帖子: 351
				 
				
				
				声望力: 25 ![]()  | 
	
	
	
		
		
			
			 
			
			你这个程序估计自己都不知道要干什么?syms要实现什么目的?b=rand 又是怎么回事?ij怎么来的?
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	qq604443022  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2008-05-31 
				
				年龄: 38 
				
					帖子: 104
				 
				
				
				声望力: 20 ![]()  | 
	
	
	
		
		
			
			 
			
			其实这个函数几句话就能搞定: 
		
		
		
		
		
		
		
	function n=num(b) n=ones(3,1); n(1)=length(find(b>0)); n(2)=length(find(b=0)); n(3)=length(find(b<0)); 既然你用matlab编程,就应该用matlab的思想来思考。  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2008-10-21 
				
				年龄: 40 
				
					帖子: 198
				 
				
				
				声望力: 23 ![]() ![]()  | 
	
	
	
		
		
			
			 
			
			三楼说的没有错!!! 
		
		
		
		
		
		
			要充分发挥MATLAB的简洁性!! 
				__________________ 
		
		
		
		
	matlab太高深了!!!!!!!:ft:  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |