虽然说中学没有参加过信息学竞赛,但相对来说,我接触编程算是比较早的。和我同龄的人,若小学参加过计算机竞赛,大概还对PC-logo有点印象,这算是我对编程的最初体验,这里就不叙述。到了初中,便按着规定学习了一点Pascal,在家里也自己写过一点极其简单的程序。高中会考也需要学习Visual

Basic,但学的十分浅显,并无什么收获。

C语言是大学的必修课,于是在军训期间,我就买来《C++

Primer》自学C++(比较任性,学校会教的我就不想学)。事实证明,提前学C++对C语言课程非常有帮助。如果比较有天赋,一个星期每天花2个小时学点C++基础,则大学的C语言课几乎不需要听。(说得好像大学有谁在听课似的!)

下面进入正题:

解一个偏微分方程

声明:我没有学过数值计算方法,一下所讲的方法纯属娱乐,不严谨和错误的地方,还请大神指出。

学过数学物理方程的人,肯定都遇到过一个最基本的方程:

一般来说,这种方程都是用本征函数法来解,需要求傅里叶级数。然而在某些特殊的情况下,这个方程的解却可以目测。

既然可以目测,那就更可以编一个程序求解它。首先把x轴等间距分割一下,用一个数组表示不同x对应的u,再用一个数组储存速度v。

我想你已经知道我的程序会怎么写了。

废话不说,贴代码:

#include "stdafx.h"

#include <

se-mark="1">iostream>

#include <

se-mark="1">fstream>

using namespace

std;

int

TimeProceed(double** XandV,int

intervalNumber,double para,double

timeInterval,int

iterTime,fstream&writeTxt)

{

///Vertex

is fixed!!

for(int

i=1;i<

se-mark="1">iterTime;i++)

{

for(int

j=1;j

{

XandV[(2*i)%4][j]

=

XandV[(2*i-2)%4][j]+para*((XandV[(2*i-1)%4][j+1]-XandV[(2*i-1)%4][j])-(XandV[(2*i-1)%4][j]-XandV[(2*i-1)%4][j-1]));

XandV[(2*i+1)%4][j]=XandV[(2*i-1)%4][j]+(double)1/2*timeInterval*(XandV[(2*i)%4][j]+XandV[(2*i-2)%4][j]);

writeTxt<

}

//

XandV[(2*i+1)%4][0]

= XandV[(2*i+1)%4][intervalNumber-1] = 0;

//

writeTxt<

}

return

0;

}

int

main()

{

int

intervalNumber,iterTime;

double

para,timeInterval;

///set

parameters

intervalNumber=99;iterTime

= 100;

para

= 1;timeInterval = 0.1;

///

double

**XandV = new double* [4];

XandV[0]=

new double[intervalNumber];

XandV[1]=

new double[intervalNumber];

XandV[2]=

new double[intervalNumber];

XandV[3]=

new double[intervalNumber];

Boundary

Condition Initialize

for(int

i=0;i<

se-mark="1">intervalNumber;i++)

{

XandV[0][i]

= 0;

if(i<=65)

{

XandV[1][i]

= (double)i/20;

}

if(i>65)

{

XandV[1][i]

= (double)66/20 - (double)(i-65)/10;

}

}

fstream

writeTxt;

writeTxt.open("Solution.txt",ios::out);

TimeProceed(XandV,intervalNumber,para,timeInterval,iterTime,writeTxt);

return

0;

}

程序看起来毫无漏洞。。

但是运算结果却有点问题:

本应该是直线,怎么抖成了这个样子?

有兴趣的可以更改程序参数试试

未完待续。

用c++语言编写的小程序,利用C++编写一些有趣的小程序相关推荐

  1. 小王利用计算机设计了一个计算程序,小王利用计算机设计了一个计算程序,输入和输出的数据如下表:那么,当输入数据是8时,输出的数据是[]A.B.C.D.-七年级数学...

    题文 小王利用计算机设计了一个计算程序,输入和输出的数据如下表: 那么,当输入数据是8时,输出的数据是 [     ] A. B. C. D. 题型:单选题  难度:中档 答案 C 据专家权威分析,试 ...

  2. C语言--不使用库函数,利用指针编写一个计算字符串长度的程序

    题目:编写一个函数计算一个字符串的长度,输入输出在主函数中完成 以下两个例程仅供参考: #include <stdio.h> int Strlen(char *str)//不使用库函数,利 ...

  3. 向串口助手发送数据c语言程序,利用DSP2812编写直流电机PID调速程序(C语言)

    ==57) { Scia_VarRx=9; } kb=Scia_VarRx[0]*1000; hd=Scia_VarRx[1]*100; de=Scia_VarRx[2]*10; un=Scia_Va ...

  4. python有趣小程序-小码王分享python一些有趣的小程序

    现在有很多女性朋友都在抱怨,程序员不懂浪漫,觉得很无味,谈恋爱都没有任何的激情,特别的单调,在这里南京小码王少儿编程培训机构老师,可要为这些叫屈了,现在还在学习编程,以后说不定会是一个非常浪漫的人哦! ...

  5. python有趣小程序-Python全栈开发-有趣的小程序

    进度条的打印 import sys,time for i in range(20): sys.stdout.write('$') #stdout是标准输出的意思,在一般电脑上,stdout的标准输出指 ...

  6. 小程序利用canvas实现波浪动态图,原生canvas的部分限制

    小程序利用canvas实现波浪动态图 小程序的canvas与该动态图的问题 首先上效果图片 下面直接上代码 小程序的canvas与该动态图的问题 小程序的canvas与html的canvas实现是完全 ...

  7. 猜歌名小程序有哪些?这3个小程序分享给你!

    音乐猜歌你喜欢吗?那么你们了解过哪些音乐猜歌小程序呢?下面是小编带来的3个猜歌名小程序,我们一起来玩吧! 1.挑战猜歌王 全民都在玩儿的猜歌小程序,听音乐我是歌手,嘻哈,中国风,怀旧,pop,快来跟好 ...

  8. 用C语言用指针怎么算通用定积分,C语言:利用指针编写程序,用梯形法计算给定的定积分实例...

    题目要求 利用指针编写程序,用梯形法计算下列公式中的定积分: 参考代码 首先说明一下指针的用处:因为所传递的参数均为数字,并不需要使用指针提高效率,故这里使用指针指向函数. 请注意calc()函数中的 ...

  9. 指针法算中点坐标c语言,C语言:利用指针编写程序,用梯形法计算给定的定积分实例...

    题目要求 利用指针编写程序,用梯形法计算下列公式中的定积分: 参考代码 首先说明一下指针的用处:因为所传递的参数均为数字,并不需要使用指针提高效率,故这里使用指针指向函数. 请注意calc()函数中的 ...

最新文章

  1. echarts - 使用echarts过程中遇到的问题(pending...)
  2. jaxb list集合对象_JAXB –表示空集合和空集合
  3. VBoxManage: error: Nonexistent host networking interface, name 'vboxnet0' (VERR_INTERNAL_ERROR)
  4. python send 案例_python之pexpect实现自动交互的例子
  5. php短网址案例,php生成短网址原理与实例
  6. 基于JAVA+SpringBoot+Mybatis+MYSQL的家电销售管理系统
  7. 如何清空_回收站删除的文件怎么恢复?回收站清空如何恢复?
  8. Typora 上传图片的自定义命令实现
  9. 构建企业级DNS系统(五)bind9日志记录
  10. 机器人编程常用语言汇总(WeDo/EV3/Arduino/Scratch)
  11. wps表格 做折线图
  12. 计算机c盘空间满了应该怎么办,电脑C盘空间不足怎么办?1秒教你彻底释放C盘,拥有新机般的体验...
  13. js逆向学习路线指南
  14. Linux 吊炸天的总结
  15. hp linux 禁用u盘启动,BIOS关闭Secure Boot(安全启动)方法大全(联想,华硕,DELL,HP等品牌)...
  16. 无线列表html,无线web 开发经验(2)—— HTML
  17. TSINGSEE青犀视频再度荣获腾讯云+社区2022年度优秀作者!
  18. 2021数学建模C题
  19. jeecgboot使用例子
  20. 三菱a系列motion软体_三菱M70第四轴参数设定一览表

热门文章

  1. blob开头的文件无法下载怎么办
  2. 第4-8课:方块消除游戏
  3. 台式计算机驱动程序未被安装,计算机图形驱动程序安装失败的原因及其解决方法...
  4. 海淘转运攻略之2017年黑色星期五海淘转运公司对比推荐
  5. 英语社交可以这样说吗?He's fat. 课本说可以!
  6. Python3.7中,Django配置MySql数据库
  7. 你是部门经理,老板对你说公司要裁员,你该怎么办?
  8. 动物识别系统代码python_动物识别 python 人工智能实验
  9. 【工具DIY】DIY一个高精度电阻箱
  10. 这4种照片千万不能保存在手机相册里,必须重视,避免损失