A oto i programik który oblicza wartości do zadania 3.
#include <iostream> #include <cmath> //NALEZY ZMIENIC NA ODPOWIEDNIE DO STANOWISKA const double pi=3.141592654; const double C=9.7e-9; const double L=20e-3; const double R=110; const double r=220; const double Rw=0; const double fo=11428.6; //CZESTOTLIWOSC REZONANSOWA int skok=100; //DLA JAKICH CZESTOTLIWOSCI (co ile) LICZONE SA WARTOSCI double Ampl(double f) { double i=R/(R+r+Rw); double j=2*pi*f*L - ( 1/ (2*pi*f*C) ); double k=R+r+Rw; return i/sqrt(1 + pow( j / k ,2)); } using namespace std; int main() { cout.precision(3); for(int i=400; i<=14000 ; i+=skok) { cout<< i <<": "; cout<< Ampl(i)<<endl; } cout.precision(6); cout<<endl<<endl<<"REZONANS: "<< fo <<": "<< Ampl(fo)<<endl; //TO POWINNO BYC MAXIMUM cin.get(); return 0; }
Jesli ktos chce dokladniejsze czestotliwosci (bo ja dalem co 100) to niech zmieni liczbe skok podobnie przyblizanie w cout.precision - ilosc liczb po przecinku ale tych znaczacych (jest to madre narzedzie i nie przybliza tak na chama)
Ostatnio edytowany przez zordon (2007-12-13 19:54:18)
Offline
A to jakby ktoś chciał wydrukować sobie z pliku co powyższy program wypisze:
#include <iostream>
#include <fstream>
#include <cmath>
//NALEZY ZMIENIC NA ODPOWIEDNIE DO STANOWISKA
const double pi=3.141592654;
const double C=9.7e-9;
const double L=20e-3;
const double R=215;
const double r=220;
const double Rw=68;
const double fo=11426.7; //CZESTOTLIWOSC REZONANSOWA
int skok=100; //DLA JAKICH CZESTOTLIWOSCI (co ile) LICZONE SA WARTOSCI
double Ampl(double f)
{
double i=R/(R+r+Rw);
double j=2*pi*f*L - ( 1/ (2*pi*f*C) );
double k=R+r+Rw;
return i/sqrt(1 + pow( j / k ,2));
}
using namespace std;
int main()
{
cout.precision(3);
for(int i=400; i<=14000 ; i+=skok)
{
cout<< i <<": ";
cout<< Ampl(i)<<endl;
}
cout.precision(6);
cout<<endl<<endl<<"REZONANS: "<< fo <<": "<< Ampl(fo)<<endl; //TO POWINNO BYC MAXIMUM
ofstream wyp("wynik.txt", ios::out);
for(int i=400; i<=14000 ; i+=skok)
{
wyp << i <<": ";
wyp << Ampl(i)<<endl;
}
wyp << "REZONANS: " << fo << ": " << Ampl(fo) << endl;
cin.get();
return 0;
}
Offline