1.cpp
#include <iostream>
#include "matlib.h"
#include <cmath>
#include "function.h"
using namespace std;
void main(){
initM(MATCOM_VERSION);
cout<<"*********************TTM方法生翼形网格*********************"<
int IM,JM,NUM;
double omega,dx,dy;
cout<<"请输入ξ方向网格节点数IM";
cin>>IM;
cout<<"请输入η方向网格节点数IN";
cin>>JM;
cout<<"迭代方法: 1.点Gauss-Siedel迭代 2.线Gauss-Siedel迭代";
cout<<" 3.超松弛点Gauss-Siedel迭代 ";
cin>>NUM;
if (NUM==3)
{
cout<<"松弛因子:1<ω<2";
cin>>omega;
}
Mm time;
tic();
dx=2.0/(IM-1);
dy=2.0/(JM-1);
////////////////////////////////////////////////////////////////////////
/* 绘制初始网格 */
/////////////////////////////////////////////////////////////////////////
//绘制翼形;
Mm x,y;
x=colon(0,0.01,1);
y=zeros(1,x.size());
for (int i=1;i<=x.size(2);i++){
y.r(1,i)=valueAtX(x.r(1,i));
}
plot((CL(x),y,TM("-b"),x,-y,TM("-b")));
hold(TM("on"));
/////////////////////////////////////////////////////////////////////////
//绘制初始网格
double dsita;
dx=1.0/((IM+1)/2-1);
dsita=2.0*3.1415926/(IM-1);
x=zeros(IM,JM);
y=zeros(IM,JM);
for (i=1;i<=IM;i++)
{
double x0,y0,sita;