首页 > 其他分享 >RK

RK

时间:2023-04-17 19:08:43浏览次数:24  
标签:xn dbl 3.0 printf 1.0 RK

//IEulerRK.cpp--Improved Euler and Runge-Kutta(4)
//qiu changweifen fangcheng shuzhijie
#include < stdio.h > 
#include < math.h > 
#define FMT "%-15.7g"
typedef double dbl;
//prototypes
dbl fxy(dbl x, dbl y);
dbl f(dbl x);
void RK(dbl x0, dbl y0, dbl b, dbl h);
int main() {
    printf("\nRunge-Kutta:\nh=0.1:\n");
    RK(0.0, 1.0 / 3.0, 1.0, 0.1);
    printf("\nh=0.025:\n");
    RK(0.0, 1.0 / 3.0, 1.0, 0.025);
    printf("\nh=0.01:\n");
    RK(0.0, 1.0 / 3.0, 1.0, 0.01);
    return 0;
}
dbl fxy(dbl x, dbl y) {
    return ( - 50 * y + 50 * x * x + 2 * x);
}
dbl f(dbl x) {
    return (exp( - 50 * x) / 3.0 + x * x);
}
void RK(dbl x0, dbl y0, dbl b, dbl h) {
    dbl k1,
    k2,
    k3,
    k4;
    dbl xn,
    yn;
    printf("xn             yn             y(xn)          \n");
    xn = x0;
    yn = y0;
    while (xn <= b - 1e-7) {
        k1 = fxy(xn, yn);
        k2 = fxy(xn + h / 2.0, yn + k1 * h / 2.0);
        k3 = fxy(xn + h / 2.0, yn + k2 * h / 2.0);
        k4 = fxy(xn + h, yn + k3 * h);
        yn = yn + (k1 + 2 * k2 + 2 * k3 + k4) * h / 6;
        xn += h;
        printf(FMT, xn);
        printf(FMT, yn);
        printf(FMT, f(xn));
        printf("\n");
    }
}

标签:xn,dbl,3.0,printf,1.0,RK
From: https://blog.51cto.com/u_16076050/6195954

相关文章

  • IEulerRK
    //IEulerRK.cpp--ImprovedEulerandRunge-Kutta(4)//qiuchangweifenfangchengshuzhijie#include<stdio.h>#include<stdlib.h>#include<math.h>#defineFMT"%-9.5g"typedefdoubledbl;//prototypesdblfxy(dblx,dbly);......
  • linux操作系统之fork
    fork流程图参考Linux内核进程创建fork源码解析关于Linux下fork()函数机制?......
  • freemarker模版注入
    把一些没公开的学习笔记陆续公开,就当备份了漏洞挖掘时freemarker模版注入位置一般出现在模板编辑处freemarker通用payload<#assigntest="freemarker.template.utility.Execute"?new()>${test("open/Applications/Calculator.app")}漏洞原理是使用了freemarker内置函数?new......
  • markdown
    在Markdown下写公式时,如何让几行公式左对齐,而不是默认的居中对齐?最近遇到类似问题,好一阵倒腾终于解决.特此留痕,以襄缘助.可用\begin{array}{l}+\hspace{100cm}的组合进行左对齐.math\begin{array}{l}\text(文本内容)\hspace{100cm}\\(或公式\\)文本(或公式)\\............
  • 不同版本的Spring Framework有哪些主要功能?
    官方地址:https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Versions SpringFramework版本 JDKJavaEE/JakartaEESpringBoot支持新特性eof6.x6.0.xJDK 17-21JakartaEE9-10Springboot3.x What'sNewinSpring......
  • NetworkX
    find_cyclevssimple_cyclesinnetworkxfind_cycleandsimple_cyclesaretwofunctionsprovidedbythenetworkxlibraryinPythonforfindingcyclesinagraph.find_cycleisafunctionthatfindsacycleinadirectedgraph.Itreturnsalistofnodes......
  • network 路由器和交换机的区别
    目录network路由器和交换机的区别如果在公司内部搭建一个网络,应该使用路由器还是交换机?network路由器和交换机的区别路由器和交换机是网络中两个不同的设备,它们的功能和作用有所不同,主要区别如下:工作层次不同:交换机主要工作在OSI模型的第二层,即数据链路层,它通过MAC地址来转......
  • PySpark学习
    学习基于AmitNandi的SparkforPythonDevelopers 1.1 wordcountexample  Chapter5  StreamingLiveDatawithSpark 目的:“investigatevariousimplementationsusinglivesourcesofdatasuchasTCPsocketstotheTwitterfirehoseandputinpl......
  • Markfile
    Makefile为Go项目编写Makefile发布于2020/07/26,更新于2020/07/2619:55:02|Golang|总阅读量:14368次借助Makefile我们在编译过程中不再需要每次手动输入编译的命令和编译的参数,可以极大简化项目编译过程。make介绍make是一个构建自动化工具,会在当前目录下寻找Makefile或m......
  • cnblogs raw markdown article auto crawler All In One
    cnblogsrawmarkdownarticleautocrawlerAllInOneurl获取rawmarkdownfile,类似GitHub/gistnext自动化翻页selenium???crontab定时任务自动化的备份cnblogs发表的原始文章资源,方便后续的blog批量迁移#!/usr/bin/envbash#coding:utf8#✅$(可执......