利用c++编程求解微分方程的问题

如何利用c++编程求解下列微分方程:

(1)dN1/dt=(k1-N1/s1)(1-N1/k2-a*N2/k1)N1
(2)dN2/dt=(k2-N2/s1)(1-N2/k1-b*N1/k2)N2
其中N1(0)=50;
N2(0)=50;
k1,k2,s1,s2均已知;

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
利用c++编程求解微分方程的问题
如何利用c++编程求解下列微分方程: (1)dN1/dt=(k1-N1/s1)(1-N1/k2-a*N2/k1)N1 (2)dN2/dt=(k2-N2/s1)(1-N2/k1-b*N1/k2)N2 其中N1(0)=50; N2(0)=50; k1,k2,s1,s2均已知;
MATLAB求解多元高阶微分方程组
x,y,z为位移,一阶导为速度,二阶导为加速度,m,F,c和两个角度为常数,用MATLAB求解微分方程组,![求程序e](e\1.png)
matlab ode15s 求解微分方程组
本人需要用ODE15s解一个微分方程组,形式如图中圈出来的。看过matlab help文件后还是不知道具体怎么使用,参数怎么设置。有没有大神能举个类似例子让我看一下。(我要解的方程质量矩阵里面不是常数,包含了y) 看图!我要求的方程就是图中的那种形式!大神们能不能用ODE15s解这个方程组,代码给我看一下(这种应该是在解方程时,要添加质量矩阵的,我不会)![图片说明](https://img-ask.csdn.net/upload/201712/30/1514607586_190923.png)
求随机微分方程解的matlab仿真程序
dx=f(x)dt+g(x)dw,其中w 为布朗运动,求随机微分方程解的matlab仿真程序
matlab微分方程组中未知参数求解
x,y,z关于t的微分方程组中存在未知参数,已知x,y,z,t的多组离散数据,能求出方程组中各个参数值么
runge-kutta法求解常微分方程组
x(t)'=(t-1)/0.001 I2(t)'=cos(x) 初值为:x(0)=0 I2(0)=1 这种套的常微分方程如何用runge-kutta法求解,直接套用runge-kutta法求解出来的图像是错的。各位程序界大神们帮帮忙。谢谢大家
请问如何编程求解这样的微分方程组?
![图片说明](https://img-ask.csdn.net/upload/201609/10/1473476791_579814.jpg)
C语言编程,关于方程组求解
要求一个任意大小的方程组(Ax=b,A为任意大小的方阵)采用C/C++求特定方程组(系数矩阵维数大于10*10)
matlab如何用欧拉法求解非线性微分方程组?
跪求如何用matlab编写欧拉法程序求解非线性微分方程组:![图片说明](https://img-ask.csdn.net/upload/201907/27/1564216976_58702.png) 这样编写的程序有问题吗? 附上我的代码: ``` function [t,x1,x2]=Euler(x10,x20,a,b,c,d,h,T) %x10,x20为初值条件,h为步长,T为取值区间 n=round((T(2)-T(1))/h)+1; %计算离散点的个数 t=zeros(n,1); x1=zeros(n,1); x2=zeros(n,1); x1(1)=x10; x2(1)=x20; for i=1:(n-1) %欧拉法求解x1,x2 x1(i+1)=x1(i)+h*f1(t(i),x1(i),x2(i),c,d); x2(i+1)=x2(i)+h*f2(t(i),x1(i),x2(i),a,b); t(i+1)=t(i)+h; end ``` 不胜感激~~
利用以下程序求一阶微分方程组为啥借不出来啊
#include<iostream> #include<iomanip> using namespace std; void RK4( double(*f)( double t, double x, double y ), double(*g)( double t, double x, double y),long double initial[3], long double resu[3], double h) { long double f1,f2,f3,f4,g1,g2,g3,g4,t0,x0,y0,x1,y1; t0=initial[0];x0=initial[1];y0=initial[2]; f1=f(t0,x0,y0); f2=f(t0+h/2, x0+h*f1/2,y0+h*g1/2); f3=f(t0+h/2, x0+h*f2/2,y0+h*g2/2); f4=f(t0+h, x0+h*f3,y0+h*g3); x1=x0+h*(f1+2*f2+2*f3+f4)/6; g1=g(t0,x0,y0); g2=g(t0+h/2,x0+h*f1/2,y0+h*g1/2); g3=g(t0+h/2,x0+h*f2/2,y0+h*g2/2); g4=g(t0+h, x0+h*f3,y0+h*g3); y1=y0+h*(g1+2*g2+2*g3+g4)/6; resu[0]=t0+h;resu[1]=x1;resu[2]=y1; } int main() { double f(double t,double x, double y); double g(double t,double x, double y); long double initial[3],resu[3]; double a,b,H; double t,step; int i; cout<<"输入所求微分方程组的初值t0,x0,y0:"; cin>>initial[0]>>initial[1]>>initial[2]; cout<<"输入所求微分方程组的微分区间[a,b]:"; cin>>a>>b; cout<<"输入所求微分方程组所分解子区间的个数step:"; cin>>step; // cout<<setiosflags(ios::right)<<setiosflags(ios::fixed)<<setprecision(10); H=(b-a)/step; cout<< initial[0]<<setw(18)<<initial[1]<<setw(18)<<initial[2]<<endl; for(i=0;i<step;i++) { RK4(f,g,initial, resu,H); cout<<resu[0]<<setw(20)<<resu[1]<<setw(20)<<resu[2]<<endl; initial[0]=resu[0];initial[1]=resu[1];initial[2]=resu[2]; } return(0); } double f(double t,double x, double y) { double dx; dx=(500-x/10)*(1-x/500-y/500)*x; return(dx); } double g(double t,double x, double y) { double dy; dy=(500-y/10)*(1-y/500-x/500)*y; return(dy); }
MATLAB解二阶微分方程组,等式左边有两个未知数怎么写程序
x(t) r(t) 两个关于t的函数 下面两个方程对t求二阶导,等式右边是我随便给的,原式有点复杂。我看MATLAB解微分方程一般都是第一个式子的形式,第二个式子的左边有两个函数的话,能解吗?能的话,该怎么写程序呢? x ''=2x+r ((x^2+r^2)^0.5 )''=2r+x
如何用matlab解出复杂微分方程组的解析解
![图片说明](https://img-ask.csdn.net/upload/201906/19/1560931903_141323.png)![图片说明](https://img-ask.csdn.net/upload/201906/19/1560932749_243754.png) 方程组如图所示,这只是部分,要求的A(1)、A(2)等的以t为因变量的函数表达式。右侧各个参数的数值均已知。 问题为: 1. 右侧参数会变化,解得的表达式,希望能够变动部分的参数的值,得到对应的A(1)、A(2)等 1. 有接近30个方程,且中间的方程如A(7)的微分包含着A(10)、A(11),将所有方程写在一个dsolve函数里,无法得到结果 1. 如v1-4这类式子,如果写入dsolve中,输出结果与等式数不对应,无法得到结果,能否有不把它们一个个在写方程时就带进去的其他方法 希望能够得到关于求解函数选取等方面的建议,感谢!
求救!!~大神们谁有1stopt1.5以上(1.5不行)的版本 求帮忙拟合一个微分方程组
求救!!~大神们谁有1stopt1.5以上(1.5不行)的版本 求帮忙拟合一个微分方程组 万分感谢 论文出不来结果了
求大佬帮我看一下我的四阶龙格库塔法求解常微分方程组的MATLAB程序对吗
![常微分方程组](https://img-ask.csdn.net/upload/201905/15/1557892716_658772.png) 1. ``` function f=myfun(t,y,beta1,beta2,epsilong1,epsilong2,delta,u1,u2,k,alpha,p) f(1)=-beta1.*epsilong1.*y(1).*(1-u1).*y(3)-beta2.*epsilong2.*y(1).*(1-u1).*delta.*y(2); f(2)=beta1.*epsilong1.*y(1).*(1-u1).*y(3)-beta2.*epsilong2.*y(1).*(1-u1).*delta.*y(2)-k*y(2); f(3)=k.*y(2)-alpha.*y(3)-u2.*y(3); f(4)=p.*alpha.*y(3)+u2.*y(3); f=f( : ); ``` 这是我的函数m文件 2. ``` function [ t, y]=RK4(myfun,tspan,y0,h) t=tspan(1):h:tspan(2); y=zeros(length(y0),length(t)); y(:,1)=y0(:); for n=1:(length(t)-1) k1=feval(myfun,t(n),y(:,n)); k2=feval(myfun,t(n)+h/2,y(:,n)+h/2*k1); k3=feval(myfun,t(n)+h/2,y(:,n)+h/2*k2); k4=feval(myfun,t(n+1),y(:,n)+h*k3); y(:,n+1)=y(:,n)+(h/6).*(k1+2*k2+2*k3+k4); end ``` 这是四阶龙格库塔的程序文件 3. ``` clear; clc; tspan=[0 300]; y0=[1000000 0 1 0]; % 初值 beta1=0.8; beta2=0.5; epsilong1=0.5; epsilong2=0.2; delta=0.5; u1=0.7; u2=0.03; k=0.526; alpha=0.244; p=0.93; [t, y]=RK4(@(t,y)myfun(t,y,beta1,beta2,epsilong1,epsilong2,delta,u1,u2,k,alpha,p),tspan,y0,5); plot(t,y); title('系统方程');xlabel('时间(t)');ylabel('y'); legend('y_1','y_2','y_3','y_4',2); ``` 这是最后的程序,上面附了一些初值,最后得出的结果是这样的, ![图片说明](https://img-ask.csdn.net/upload/201905/15/1557893185_84919.jpg) 这是线性的吗,感觉很懵逼啊,而且y的值怎么会出现负的
如何用matlab求解带约束方程的微分方程组?
类似于如下,x1(0)=1,x2(0)=x3(0)=x4(0)=0 x1'=-3*x1*x2; x2'=8*x3+x4; x3'=7*x4; x4'=-4*x1*x3 x1+x2+x3+x4=1,求程序应该如何编写?
用MATLAB以外的编程求解非线性方程组,求大牛解答
方程组如下图,编写一个可以求解的应用程序,C,C++,java等都可以![图片说明](https://img-ask.csdn.net/upload/201601/10/1452397366_191324.jpg)
C中调用MATLAB函数求解矩阵方程Ax=b
matlab C混合编程,在matlab中编写.m文件实现函数求解矩阵方程。 在C中调用。求指导,第一次提问。
求c语言二分法求方程的根的具体算法
求c语言二分法求方程的根的具体算法===本人初学者,求大侠给出每步算法步骤,谢谢
【MATLAB】常微分方程组的初值问题
1.dx/dt=cos(y),t∈[0,T] dy/dt=sin(x),t∈[0,T] x(0)=0,y(0)=0 2.用梯形公式,显式欧拉,隐式欧拉,改进欧拉求解 3.有注释再好不过 4.可以有偿
求助,MATLAB如何根据x,y的微分方程求x,y的关系曲线
方程组是这样的 y''= -10.01476+0.20811*(0.0587* x'-0.9983* y') x''= -0.20811* (0.0587*y'+0.9983 * x') 都是二阶导和一阶导,在t=0时x为0,y为10600,不想要x,y关于t的曲线。想直接要x,y之间的曲线。 求作图,感激不尽,时间紧迫,我知道方法很重要但是有曲线就更好了,只求一个曲线
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
使用 Docker 部署 Spring Boot 项目
Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下。首先构建一个简单的 S...
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
redis分布式锁,面试官请随便问,我都会
文章有点长并且绕,先来个图片缓冲下! 前言 现在的业务场景越来越复杂,使用的架构也就越来越复杂,分布式、高并发已经是业务要求的常态。像腾讯系的不少服务,还有CDN优化、异地多备份等处理。 说到分布式,就必然涉及到分布式锁的概念,如何保证不同机器不同线程的分布式锁同步呢? 实现要点 互斥性,同一时刻,智能有一个客户端持有锁。 防止死锁发生,如果持有锁的客户端崩溃没有主动释放锁,也要保证锁可以正常释...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Java世界最常用的工具类库
Apache Commons Apache Commons有很多子项目 Google Guava 参考博客
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
为什么要学数据结构?
一、前言 在可视化化程序设计的今天,借助于集成开发环境可以很快地生成程序,程序设计不再是计算机专业人员的专利。很多人认为,只要掌握几种开发工具就可以成为编程高手,其实,这是一种误解。要想成为一个专业的开发人员,至少需要以下三个条件: 1) 能够熟练地选择和设计各种数据结构和算法 2) 至少要能够熟练地掌握一门程序设计语言 3) 熟知所涉及的相关应用领域的知识 其中,后两个条件比较容易实现,而第一个...
Android 9.0 init 启动流程
阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、启动流程概述一、 启动流程概述Android启动流程跟Linux启动类似,大致分为如下五个阶段。1.开机上电,加载固化的ROM。2.加载BootLoader,拉起Android OS。3.加载Uboot,初始外设,引导Kernel启动等。...
相关热词 c#委托 逆变与协变 c#新建一个项目 c#获取dll文件路径 c#子窗体调用主窗体事件 c# 拷贝目录 c# 调用cef 网页填表c#源代码 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天
立即提问