使用VC++类库进行数值分析

245 篇文章 8 订阅
52 篇文章 2 订阅

  问题:
  在区间[0, 5]上,求解一阶微分方程初值问题:

{dxdt=sin(tx)+tcos(tx)+t,x(0)=0t[0,5]

  显示 x(t) 的数值解,再把数值解(节点值 t 和对应的解值x(t))保存到文件diff.txt中,并绘制出 x(t) 在[0, 5]的曲线。
  软件环境: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)所示:
  

这里写图片描述
图(1) 新建一个公共文件夹:SuCommon,用来存放matirx.h

  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)所示:
  
这里写图片描述
将matrixVCDLL.dll和Plot.exe放到C:\Windows目录里

这里写图片描述
图(2)将matrixVCDLL.lib放到工程He目录下,然后点击工具栏上的【Projects】–>Add to Projcect –> Files : 选中matrix.lib

  4.2)与Suchap1b同一个父目录,新建一个data文件夹,在\data里新建一个文件:diff.txt,如图(4)所示:
  
这里写图片描述
图(4) 新建文件夹: data 与 文件: diff.txt

  整个工程的层次,如图(5)所示:
  
这里写图片描述
图(5) 工作区间:Suchap1b,工程名:He,公共文件夹:SuCommon,引用的两个文件:matrix.h和matrixVCDLL.lib

  按F7 –> Ctrl +F5,得到如图(6)效果:
  
这里写图片描述
图(6) 写字板用来显示t - x(t)值,Plot.exe用来绘图

  本例用到的VC++类库文件下载地址:
   http://download.csdn.net/detail/sanqima/9234665

参考书籍: 粟塔山.数值与非数值分析VC++类库.2015.科学出版社

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sanqima

一键三连,多多益善

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值