画了很长时间搞懂常见的灰色模型,以及如何求解。数值计算是一门强大的学科,尤其是结合计算机计算软件(Python,Matlab)。灰色模型中的微分方程求解,涉及数值积分,梯形公式、辛普森公式,继续是复化梯形公式、复化辛普森公式,龙贝格公式(外推),控制误差
全排列算法
无重复元素:
递归实现:
(1)任取一个元素放在第一个位置,有n种
(2)剩下的n-1个元素,全排列
(3)直到最后一个元素
递归实现:需要消耗大量栈空间
重复:
交换时,如果有交换后效果相同,则重复。方法:排序,
#include<iostream> #include<algorithm> using namespace std; void swap(int *a,int *b){ int c = *a; *a =*b; *b = c; } void unique(int *a,int N,int index){ if(index==N-1){ for(int i = 0;i<N;i++){ cout<<a[i]<<‘ ‘; } cout<<endl; } for(int j = index;j<N;j++){ if(a[j]!=a[j-1]){//去重功能,相同后重复 swap(&a[index],&a[j]);//自身也是 unique(a,N,index+1); swap(&a[index],&a[j]); } } } int main(){ int *b = new int[5]; b[0] = 1; b[1] = 2; b[2] = 5; b[3] = 4; b[4] = 5; sort(b,b+5); unique(b,5,0); }