Форум программистов, компьютерный форум CyberForum.ru

Построить график - C++

Восстановить пароль Регистрация
 
РАСУЛл
2 / 2 / 0
Регистрация: 06.11.2011
Сообщений: 68
25.05.2012, 23:48     Построить график #1
В моей работе мне было дано уравнение http://www.cyberforum.ru/cgi-bin/latex.cgi?U=Ri+L\frac{di}{dt}+\frac{1}{c}\int idt нужно было его решить в результате которого я получил i=(U-R*i[k-1]-(i[k1]*t)/c)/L .Где R=1 kOm, L=100мГн, С=0,5мкф. разработать программу расчета переходного тока i при подаче единичного ступенчатого воздействия на вход.
у меня не получается создать график да и в программе есть ошибки. Помогите исправить...

#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>
#include <graphics.h>
#include <stdlib.h>
#define h 10
float c=0.2;
int R=100;
int n;
float U=2.71;
float fi(float t)
{return (U-R*i[k-1]-(i[k-1]*t)/c)/L;}
FILE *fp;
void main()
{
int j,k;
float t,i;
float *napr = new float[j];//dinami4eskiy massiv
float *time = new float[k]; //dinami4eskiy massiv
clrscr();
cout << "Vvedite vrem9 v sekyndax...";
cin>>n;
fp=fopen("rasul.txt","w"); //vvod elementov massiva v file
fprintf(fp,"\t time[k] \t napr[j] \n");//postroenie ix vr9d
for(t=10;t<=n;t+=h) //vvod lementov
{
i= (U-R*i[k-1]-(i[k-1]*t)/c)/L;
napr[j] =i;
time[k] =t;
fprintf(fp,"\t%f\t%f\n",time[k],napr[j]);
cout<<"\n"<<time[k]<<"\t"<<napr[j];
}
cout<<"\n"<<"time"<<"\t"<<"napr9}I{enie";
fclose (fp);
cout<<"\n"<<"\n\t po}I{alyista na}I{mite knopky dl9 vbIvoda graphika...";
getch();
int gdriver = DETECT, gmode, errorcode;
// int xmax, ymax;
// initialize graphics and local variables
initgraph(&gdriver, &gmode, "");
// read result of initialization
errorcode = graphresult();
// an error occurred
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
int xmax =600;
int ymax =300;
setcolor(2);
int xyn=20;
line(xyn, ymax-xyn, xmax-xyn, ymax-xyn);//oy
line(xmax-xyn-10, ymax-xyn-10, xmax-xyn, ymax-xyn); //strelki
line(xmax-xyn-10, ymax-xyn+10, xmax-xyn, ymax-xyn);
line(xyn, ymax-xyn, xyn, xyn); //ox
line(xyn+10, xyn+10, xyn, xyn);
line(xyn-10, xyn+10, xyn, xyn);//strelki
setcolor(1);
outtextxy(xyn+20, xyn,"i(t)");
outtextxy(xmax-xyn-10, ymax-xyn+20, "t");
float t2=n;
float kt=t2/(xmax-xyn), ki=(fi(t2)-fi(0))/(ymax-xyn);
moveto(xyn,ymax-xyn+0.1/ki);
for(t=h; t<=t2;t+=h)
{
setcolor(4);
lineto(xyn+t/kt, ymax-xyn-fi(t)/(2*ki));
}
setcolor(8);
outtextxy(xmax-40, ymax-45, "vrem9");
for(j=0;j<=ki;j++)
{
line(xyn+10,napr[j],xyn-10,napr[j]);
moveto(xyn,ymax-xyn-napr[j]);
cout<<napr[j];
}
for(k=0;k<=kt;k++)
{
line(time[k]+xyn,ymax-10,time[k]+xyn,ymax-xyn-10);
moveto(xyn+time[k],ymax-xyn);
cout<<time[k];
}
// clean up

getch();
closegraph();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2012, 23:48     Построить график
Посмотрите здесь:

C++ Построить график
Построить график C++
Построить график функции y=|3x^2+|x|-3| C++
Построить график в С++ C++
Построить график C++
C++ Построить график
C++ Построить график в С++
Построить график функции C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 04:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru