问题:
在区间[0, 5]上,求解一阶微分方程初值问题:
{dxdt=sin(tx)+tcos(t√x)+t,x(0)=0t∈[0,5]
显示 x(t) 的数值解,再把数值解(节点值 t 和对应的解值
软件环境:VC6.0 + Win7 64位 + matrixVCDLL库文件
1)新建一个工作区:Suchap1b
点击VC6.0工具栏上的【File】–>New –> Workspaces ,在Workspace name 里输入:Suchap1b
2)在工作区Suchap1b下新建一个控制台应用程序:He
【File】–> New –>Win32 Console Application工程,名称为:He –》An Empty Project
3)为工程He添加一个.cpp文件:hello.cpp
【File】 –> New –> C/C++ Source: 输入hello
//hello.cpp的内容
#include "..\..\SuCommon\matrix.h"
#include <math.h>
double fun(double t,double x){
return sin(t*x)+t*cos(sqrt(t)*x)+t;
}
void main(){
matrix A;
A.RK(fun,0,0,5,1E-3);
A.Print( );
A.Save("G:\\myProject\\VC6Project\\SuUnit1\\data\\diff.txt");
A.Plot( );
}
3)为工程He创建一个公共文件夹:SuCommon
右击工程He –》New Folder –》命名为:SuCommon,将matirx.h放到文件夹SuCommon中,如图(1)所示:
4)设置matrixVCDLL.dll、matrix.lib和Plot.exe
4.1)将matirxVCDLL.dll和Plot.exe放到C:\Windows目录下;将matirx.lib放到工程目录He下,然后点击VC6工具栏上的【Projects】–>Add to Projcect –> Files : 选中matrix.lib–》OK,如图(2)、(3)所示:
4.2)与Suchap1b同一个父目录,新建一个data文件夹,在\data里新建一个文件:diff.txt,如图(4)所示:
整个工程的层次,如图(5)所示:
按F7 –> Ctrl +F5,得到如图(6)效果:
本例用到的VC++类库文件下载地址:
http://download.csdn.net/detail/sanqima/9234665
参考书籍: 粟塔山.数值与非数值分析VC++类库.2015.科学出版社