关于MATLAB里计数器和赋逻辑假的问题
			 
			 
			
		
		
		
			
			小弟最近接到导师一个任务,要把Fratran语言的一个code改成MATLAB的,但由于MATLAB一直不是很擅长,所以有3个问题,希望高手们帮帮忙,在这里先谢谢啦!~!! 
 
1. Matlab有没有类似于count这样的计数函数?比如我要算一个矩阵里非0的个数,用什么函数啊? 
 
2. Fortran有这么一段code,我大概改成了MATLAB的,但有个地方很纠结,如下: 
stop = .false.  (这里在Fortran里.false.是逻辑假的意思) 
........ 
 while ((~stop)&& (nriter < 100)) 
....... 
Vint   = Vmem + Vext; 
err1  = abs((Vext*Dext) + (Vint*Dint)); 
err = sum(err1, err1 ~= 0) / count(err1 ~= 0 );(这里就是第一个问题那句) 
stop = err < tolerance; 
nriter = nriter + 1; 
end 
 
比较长,中间我打省略号了,主要就是这个stop,在MATLAB里如何赋逻辑假给它?然后在循环里再比较这个stop??? 
这个问题困扰我很久了,大家一定要帮帮忙啊,还有看我这个语言还有问题吗?? 
 
3.  我还有一段,是一个time loop,就是随着时间的变化,某几个值都不一样。 
我现在想画出这些值的图,请问能不能画出某个值我指定的某几个时间的图啊?? 
 
第一次来,就问了这么多问题,真是不好意思,但这个东西导师催了很久了,真是谢谢大家啊,我以后一定好好研究研究MATLAB!!!
		 
		
		
		
		
		
		
		
	 |