PDA

查看完整版本 : [MATLAB基础] 关于MATLAB里计数器和赋逻辑假的问题


cy211312
2010-08-04, 00:00
小弟最近接到导师一个任务,要把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!!!

cy211312
2010-08-05, 18:49
高手们帮帮忙啊,谢谢了