图形化编程实现改进的欧拉格式和龙格库塔格式。这里有个C语言的,想改写成C#。

问题描述

图形化编程实现改进的欧拉格式和龙格库塔格式。这里有个C语言的,想改写成C#。

1)改进欧拉法求解常微分方程的初值问题
#include
float func(float x,float y)
{ return(y-x);
}

float euler(float x0,float xn,float y0,int N)
{ float x,y,yp,yc,h;
int i;
x=x0;
y=y0;
h=(xn-x0)/(float)N;

for(i=1;i<=N;i++)

{ yp=y+h*func(x,y);
x=x0+i*h;
yc=y+h*func(x,yp);
y=(yp+yc)/2.0;
}
return(y);
}
main()
{ float x0,xn,y0,e;
int n;

printf("ninput n:n ");

scanf("%d",&n);
printf("input x0,xn:n ");

scanf("%f,%f",&x0,&xn);
printf("input y0:n ");

scanf("%f",&y0);
e=euler(x0,xn,y0,n);
printf("y(%f)=%6.4f",y0,e);
}

input n:
20
input x0,xn:
1,6
input y0:
2
y(2.000000)=7.0000Press any key to continue
(2)四阶龙格—库塔法
#include
float func(float x,float y)
{ return(x-y);
}

float runge_kutta(float x0,float xn,float y0,int N)
{ float x,y,y1,y2,h,xh;
float d1,d2,d3,d4;
int i;
x=x0;
y=y0;
h=(xn-x0)/(float)N;

for(i=1;i<=N;i++)

{ xh=x+h/2;
d1=func(x,y);
d2=func(xh,y+h*d1/2.0);
d3=func(xh,y+h*d2/2.0);
d4=func(xh,y+h*d3);
y=y+h*(d1+2*d2+2*d3+d4)/6.0;
x=x0+i*h; }
return(y);
}
main()
{ float x0,xn,y0,e;
int N;
printf("ninput n:n ");

scanf("%d",&N);
printf("input x0,xn:n ");

scanf("%f,%f",&x0,&xn);
printf("input y0:n ");

scanf("%f",&y0);
e=runge_kutta(x0,xn,y0,N);
printf("y(%f)=%8.6f",y0,e);
}

input n:
10
input x0,xn:
1,2
input y0:
5
y(5.000000)=2.833863Press any key to continue

解决方案

把代码硬粘过去,然后哪里有错改哪里,C,PHP,Java基本都能这么干

解决方案二:

如果 C 语言的实现中没有用到特殊的 C 函数,如图形图像之类的函数,转换成 C# 应该问题不大。
可惜偶不会C#啊!

时间: 2024-09-08 18:27:20

图形化编程实现改进的欧拉格式和龙格库塔格式。这里有个C语言的,想改写成C#。的相关文章

初学c语言图形化编程问个很简单的问题

问题描述 初学c语言图形化编程问个很简单的问题 写37行代码就为了画个围棋棋盘值不值?有更简洁的算法吗? #include<graphics.h> #include<conio.h> #define LEN 30 // 每格间的距离 int main() { int x, y; initgraph(660, 660); // 背景上色 setcolor(BROWN); for(y = 0; y < 660; y++) line(0, y, 660, y); // 绘制边框 s

解析Java图形化编程中的文本框和文本区_java

在图形界面中,文本框和文本区是用于信息输入输出的组件.文本框 文本框(JTextField)是界面中用于输入和输出一行文本的框.JTextField类用来建立文本框.与文本框相关的接口是ActionListener. 文本框处理程序的基本内容有以下几个方面: 声明一个文本框名. 建立一个文本框对象. 将文本框对象加入到某个容器. 对需要控制的文本框对象注册监视器,监听文本框的输入结束(即输入回车键)事件. 一个处理文本框事件的方法,完成对截获事件进行判断和处理. JTextField类的主要构造

详解Java图形化编程中的鼠标事件设计_java

鼠标事件的事件源往往与容器相关,当鼠标进入容器.离开容器,或者在容器中单击鼠标.拖动鼠标时都会发生鼠标事件.java语言为处理鼠标事件提供两个接口:MouseListener,MouseMotionListener接口.MouseListener接口 MouseListener接口能处理5种鼠标事件:按下鼠标,释放鼠标,点击鼠标.鼠标进入.鼠标退出.相应的方法有: (1) getX():鼠标的X坐标 (2) getY():鼠标的Y坐标 (3) getModifiers():获取鼠标的左键或右键.

Java图形化编程中的键盘事件设计简介_java

键盘事件的事件源一般丐组件相关,当一个组件处于激活状态时,按下.释放或敲击键盘上的某个键时就会发生键盘事件.键盘事件的接口是KeyListener,注册键盘事件监视器的方法是addKeyListener(监视器).实现KeyListener接口有3个: keyPressed(KeyEvent e):键盘上某个键被按下: keyReleased(KeyEvent e):键盘上某个键被按下,又释放: keyTyped(KeyEvent e):keyPressed和keyReleased两个方法的组合

Java里面有没有类似于VB那样的图形化编程软件

问题描述 请问JAVA里面有没有像VB那样用鼠标一拖动一个Button或者一个label就出来了的软件?急求一个基于JAVA的图形界面编写软件 解决方案 解决方案二:MyEclipse装个插件就可以了,不过也只能对Swing进行开发.解决方案三:没用过,我用swing的时候,都是手写代码,我现在不习惯可视化开发,没有写代码有意思解决方案四:NetBeans6.8这个工具比较好做,就是比较站内存解决方案五:请问具体什么插件呢?解决方案六:eclipse使用盗版的wbpro进行swt开发解决方案七:

在Python中封装GObject模块进行图形化程序编程的教程_python

Python 是用于编码图形界面的极佳语言.由于可以迅速地编写工作代码并且不需要费时的编译周期, 所以可以立即使界面启动和运行起来,并且不久便可使用这些界面. 将这一点与 Python 易于链接本机库的能力结合起来,就可以形成一个出色的环境. gnome-python 是为 Python 封装 GNOME 及其相关库的软件包. 这使您能够用 Python 编写外观与核心 GNOME 应用程序完全相同的应用程序,而所花的时间只是用 C 编写该应用程序所花的一部分. 然而,不用 C 进行编程会有一个

一个更图形化的例子

这个程序不会太令人紧张,所以让我们试着增加一些有趣的图形组件.   //: Applet2.java // Easy graphics import java.awt.*; import java.applet.*; public class Applet2 extends Applet { public void paint(Graphics g) { g.drawString("Second applet", 10, 15); g.draw3DRect(0, 0, 100, 20,

利用QT写一个极简单的图形化Python闹钟程序_python

今天我们讲一下用Python写的GUI小程序.一个小闹钟(只是屏幕提示,没有声音哦) 让我们先介绍这个闹钟如何奇葩. 需要通过命令行启动. 没有标题栏. 没菜单. 甚至没有关闭按钮. 没有运行界面. 看到这里想必大家要问了,何必去做一个这样弱爆了的程序呢.显然,教育意义大于其实际用处. 像其他的模块一样,QT界面包是需要加载的. 我们用到了命令行输入,所以,sys模块也是必须的. 用到了时间,但是我们不需要使用time模块,我们用QT提供的QTime模块. 让我们先写import 语句部分.  

《Arduino开发实战指南:LabVIEW卷》——第3章 LabVIEW图形化编程语言

第3章 LabVIEW图形化编程语言 本章主要对LabVIEW图形化编程语言进行介绍.介绍LabVIEW的编程环境.LabVIEW的数据流编程方法.LabVIEW的常用工具及调试工具.LabVIEW的数据类型及运算.LabVIEW的程序结构.图形显示以及数据文件存储.通过本章的介绍,使读者对LabVIEW编程语言有一定的了解,能够进行基本的LabVIEW程序编写.LabVIEW(Laboratory Virtual Instrumentation Engineering Workbench,实验