1234567891011121314151617181920212223242526272829 |
- // 输入: L0:函数值, 行向量
- // x0:自变量x的值,行向量
- // 输出: Num:零点数目
- // Pos:零点位置
- // 功能: 根据函数值计算零点
- // 编写: 李兆亭,2019 / 11 / 04
- #include "GPM.h"
- int Sum_ZeroPoints(vec* L0, vec* x0, int* Num, mat* Pos) {
- int max_row_len = (size(*Pos))(0);
- int row_len = (size(*L0))(0);
- *Num = 0;
- int i = 0;
- while (i < row_len - 1) {
- if ( (*L0)(i)*(*L0)(i + 1) <= 0 ) {
- (*Pos)(*Num, 0) = (*x0)(i);
- (*Pos)(*Num, 1) = (*x0)(i + 1);
- i = i + 1;
- *Num = *Num + 1;
- }
- else {
- i = i + 1;
- }
- }
- return 1;
- }
|