| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 		
			
			 | 
		#1 | 
| 
			
			 普通会员 
			
			
			
			注册日期: 2008-03-20 
				
				年龄: 42 
				
					帖子: 30
				 
				
				
				声望力: 18 ![]()  | 
	
	
	
		
		
			
			 
			
			:biggrin:  
		
		
		
		
		
		
		
	程序: A=1:100; B1=isprime(A) B2=A(isprime(A)) 输出结果: B1= Columns 1 through 15 0 1 1 0 1 0 1 0 0 0 1 0 1 0 0 Columns 16 through 30 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 ............................................................... Columns 91 through 100 0 0 0 0 0 0 1 0 0 0 B2= Columns 1 through 15 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 Columns 16 through 25 53 59 61 67 71 73 79 83 89 97 我的问题是: 既然isprime(A)只能返回0和1两个值,那么A(isprime(A))的返回值要么是A(0),要么是A(1),即B2的值只能是不存在(A(0))或是1(A(1)) matlab里面是怎样分配的命令,才使凡是不为0的地方提取的值都是原来数组中对应位置的值?? 回复为盼,先谢了!  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-03-10 
				
				年龄: 42 
				
					帖子: 7
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			首先向受灾的人们祈祷. 
		
		
		
		
		
		
		
	A=1:100; B1=isprime(A) 这步操作之后,B1的类型是 logica 而不是 double l B2=A(isprime(A))等价于 B2=A(B1);其中的下标是逻辑类型,那么matlab会追踪到原来的指数并显示。 如果增加一步 B1=double(B1); 类型改为double 型。你就会等到你分析出的结果。  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 普通会员 
			
			
			
			注册日期: 2008-03-20 
				
				年龄: 42 
				
					帖子: 30
				 
				
				
				声望力: 18 ![]()  | 
	
	
	
		
		
			
			 
			
			受益匪浅,谢谢了,andye
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
![]()  | 
	
	
| 主题工具 | |
| 显示模式 | |
		
  | 
	
		 | 
			 
			相似的主题
		 | 
	||||
| 主题 | 主题作者 | 版面 | 回复 | 最后发表 | 
| matlab简明教程,有例子 | duanyi | MATLAB论坛 | 1 | 2008-07-23 16:14 | 
| [求助]好象很简单的问题,大家帮我看看嘛,谢谢咯~~ | yitsoh | MATLAB论坛 | 0 | 2008-05-11 17:05 | 
| [求助]如何显示计算结果 | tpwxhfh | MATLAB论坛 | 3 | 2008-05-11 01:08 | 
| 关于三维图中某一平面的控制 | studymore | MATLAB论坛 | 2 | 2008-05-06 20:04 |