Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- #include <iomanip>
- using namespace std;
- /*
- double f(double x,double y,double z){
- return (z*y+x);
- }
- double g(double x,double y,double z){
- return (z*x+y);
- }
- void rungeKuta2equacoes(double x0,double y0,double z0, double h,double lim,double &yn,double &zn){
- double xn=x0;
- yn=y0;
- zn=z0;
- int n=(lim-x0)/h;
- do{
- x0=xn;
- y0=yn;
- z0=zn;
- double d1= h*f(x0,y0,z0);
- double k1= h*g(x0,y0,z0);
- double d2= h*f(x0 + (h/2),yn + d1/2,z0 + (k1/2));
- double k2= h*g(x0+(h/2),y0+(d1/2),zn + (k1/2));
- double d3= h*f(x0+(h/2),yn+(d2/2),zn + (k2/2));
- double k3= h*g(x0+(h/2),y0+(d2/2),z0+(k2/2));
- double d4= h*f(x0+h,yn+d3,z0+k3);
- double k4= h*g(x0+h,y0+d3,z0+k3);
- xn = x0+h;
- yn = y0+(d1/6)+(d2/3)+(d3/3)+(d4/6);
- zn = z0+(k1/6)+(k2/3)+(k3/3)+(k4/6);
- n--;
- }while(n>=0);
- cout << "Syn-> " << yn << endl;
- cout << "Szn-> " << zn << endl;
- }
- /*
- int main(){
- double syn;
- double s1yn;
- double s2yn;
- double szn;
- double s1zn;
- double s2zn;
- cout << "S" << endl;
- rungeKuta2equacoes(0,1,1,0.1,0.5,syn,szn);
- cout << endl << "S`:" << endl;
- rungeKuta2equacoes(0,1,1,(0.1/2),0.5,s1yn,s1zn);
- cout << endl << "S``:" << endl;
- rungeKuta2equacoes(0,1,1,(0.1/4),0.5,s2yn,s2zn);
- cout << endl << "Qcyn-> " << (s1yn-syn)/(s2yn-s1yn) << endl;
- cout << "Qczn-> " << (s1zn-szn)/(s2zn-s1zn) << endl;
- cout << "Eyn-> " << (s2yn-syn)/15 << endl;
- cout << "Ezn-> " << (s2zn-szn)/15 << endl;
- return 0;
- }
- /**/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement