我想用matlab实现下面一个很简单的功能,怎么写代码比较简单?
比如我现在已知一个向量[0,0, ..., 0, A1,A2,....,An],A1是第一个不为零的数(A2,...,An可能为零),我想得到的新的向量是[A1,A2,...,An],请问怎么写这段代码比较简单,我用了一个for循环找A1的位置,有没有现有的函数实现类似功能呢?谢谢
比如我现在已知一个向量[0,0, ..., 0, A1,A2,....,An],A1是第一个不为零的数(A2,...,An可能为零),我想得到的新的向量是[A1,A2,...,An],请问怎么写这段代码比较简单,我用了一个for循环找A1的位置,有没有现有的函数实现类似功能呢?谢谢
答案:比如说你那个向量是A
B=A(find(A,1):end)
即可。
但是我估计和直接用while循环效率差不多,可能直接用循环还会快一点也说不定,for循环因为还要加一个判断语句效率估计不行。