发布时间:2024-01-13 13:37来源:www.sf1369.com作者:宇宇
你如果能用C语言编辑大型的程序的话,那你就是强人了,C语言这个软件好像计算过程都要自己设计,对我来说我是不会,好好 你要是好的话 以后可以向你学习一下C语言
建议你用3个软件 数学建模
MATLAB 做大型的数据计算 绘图
lingo 做规划的问题,优越性很好
R软件 对统计以及概率 绘图等都很强,特别是统计方面
楼主你好,参加数学建模其实有一定编程基础就可以了。在数学建模比赛里用到的编程工具很多,例如LINGO,MATLAB,SPSS,SAS,C,C++等等,但是如果你有编程基础的话,学习这些语言的速度会很快。而且VB虽然不常用,不过也是可以用的到的编程语言。所以楼主不必太担心。
看是哪种建模了,我知道的有M文件编程,这主要是通过相应函数编程的,还有simulink仿真,界面直观。至于你说的函数及主要单词的用法,这是一个很复杂的工程,要看你i偏向哪个方向,还有,一点悬赏分不给就想让别人告诉你函数的用法(个人觉得你这方面应该还没接触吧),我觉得不现实。。。
//Cbus.h
#include<fstream>
#include<vector>
using namespace std;
extern int Station[3958];
struct Cost
{
int bus;
int station;
int cost;
int time;
};
struct SmallCost
{
int cost;
int time;
};
struct DotLine
{
int station;
vector<int>bus;
};
extern vector<DotLine> Bus_train;
ostream &operator<<(ostream &fcout,Cost &cost);
class Bus
{
public:
int m_num;
int m_cost;
int m_station[150];
int m_flag;
Bus();
int isexist(int p);
void rdouble(istream &fcin);
void rsingle(istream &fcin);
int getother(int p);
void Result(int p1,int p2,vector<Cost> &Rt,vector<Cost> &Rc,SmallCost &ti,SmallCost &co );
};
class Result
{
public:
Bus m_bus[520];
void subway(int p1,int p2,vector<Cost> &Rt,vector<Cost> &Rc,
SmallCost &ti,SmallCost &co);
int getmaxs();
Result();
void getResult(int p1,int p2,vector<Cost> &Rt,vector<Cost> &Rc,
SmallCost &ti,SmallCost &co);
void getResult1(int p1,int p2,vector<int> line1,vector<int> line2,
vector<Cost> &Rt,vector<Cost> &Rc,SmallCost &ti,SmallCost &co);
void getResult2(int p1,int p2,vector<int> line1,vector<int> line2,
vector<Cost> &Rt,vector<Cost> &Rc,SmallCost &ti,SmallCost &co);
vector<DotLine> getDotline(const Bus &b);
};
vector<int> hash_cross(const Bus &b1,const Bus &b2);
vector<int> hash_cross(const Bus &b);
//bus.cpp
#include<iostream>
#includeCbus.h
#include<math.h>
using namespace std;
extern vector<DotLine> Bus_train;
Bus::Bus()
{
this->m_num=0;
this->m_cost=0;
this->m_flag=0;
}
void Bus::rdouble(istream &fcin)
{
int i=1;
while(fcin>>m_station[i])
{
if(1==m_station[i])
break;
m_station[i]=m_station[i]-10000;
i++;
}
m_station[0]=i-1;
i++;
while(fcin>>m_station[i])
{
if(0==m_station[i])
break;
m_station[i]=m_station[i]-10000;
i++;
}
m_station[m_station[0]+1]=i-m_station[0]-2;
}
void Bus::rsingle(istream &fcin)
{
int i=1;
if(m_flag!=2)
{
m_station[1]=m_flag-10000;
m_flag=1;
i++;
}
while(fcin>>m_station[i])
{
if(0==m_station[i])
break;
m_station[i]=m_station[i]-10000;
i++;
}
m_station[0]=i-1;
}
int Bus::isexist(int p)
{
int i=0;
if(0==this->m_flag)
{
for(i=1;i<=this->m_station[0];i++)
{
if(p==m_station[i])
return i;
}
int temp=i+m_station[i];
i++;
for(i;i<=temp;i++)
{
if(p==m_station[i])
return i;
}
}
else
{
for(i=1;i<=this->m_station[0];i++)
if(p==m_station[i])
return i;
}
return 0;
}
int Bus::getother(int p)
{
if(p>m_station[0])
return 0;
for(int i=m_station[0]+1;i<m_station[0]+m_station[m_station[0]+1]+2;i++)
if(m_station[i]==m_station[p])
{
return i;
}
return 0;
}