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

метод конечных элементов на си++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ переписать положительные элементы массива a(n) в массив b.упорядочить массив b по неубыванию http://www.cyberforum.ru/cpp-beginners/thread1053793.html
переписать положительные элементы массива a(n) в массив b.упорядочить массив b по неубыванию
C++ Массивы + финкции Вообщем вот само задание : Даны массивы a(3,4), b(2,5). Найти Z = (Ma+Mb)/(da+db), где Ma ,Mb - среднеарифметические значения массивов A, B. da, db - максимальные отклонения от... http://www.cyberforum.ru/cpp-beginners/thread1053792.html
C++ fstream, перейти на следующую строку
Доброго времени суток! Есть приблизительно следующий код, идет построчное считывание из файла: fstream File; string stroka; File.open("D:\\temp\\sss.txt"); if(File) {
Описание функции RectPS C++
Опишите функцию RectPS в программе: #include <iostream> // ввод/вывод #include <math.h> using namespace std; // будем использовать пространство имен std // Rect структура, которая содержит...
C++ Написать программу перевода целых чисел из шестнадцатеричной системы счисления в десятичную http://www.cyberforum.ru/cpp-beginners/thread1053774.html
Написать программу перевода целых чисел из шестнадцатеричной системы счисления в десятичную. По аналогии с этим примером: Преобразование двоичного числа в десятичное. #include <string.h>...
C++ "Легкие" библиотеки для создание графических элементов Столкнулся с такой проблемой: делаю игру (ну, как игру, простенькую игрушку, в основном в целях изучения API) на SFML. Но мне нужно создать чекбоксы, кнопки и поля ввода в игре, что SFML сделать не... подробнее

Показать сообщение отдельно
buttermas
Сообщений: n/a

метод конечных элементов на си++ - C++

23.12.2013, 20:14. Просмотров 1337. Ответов 2
Метки (Все метки)

Всем привет!нужно написатьт прогу для решения одномерной задачи методом конечных элементов. в чем ошибка?
int _tmain(){
setlocale ( LC_ALL, "rus" );
int i=0,j=0;
double h=0.01,N=100,a[100][100],u[100],fi[100],alf[100],bet[100],xi=-1;
a[0][0]=200.0066667;
a[0][1]=-99.99833333;
fi[0]=(0.009999177558*sin(3.141592654*h*(i+1)));
alf[0]=-a[0][1]/a[0][0];
bet[0]=fi[0]/a[0][0];
for(i=1;i<N-1;++i){
a[i][i]=200.0066667;
a[i][i+1]=-99.99833333;
a[i][i-1]=-99.99833333;
fi[i]=0.;
for(j=1;j<200;++j){
xi+=h;
fi[i]+=(sin(3.14*(h*xi+h*i))*(1-abs(xi)));
}
fi[i]*=h*h;
xi=-1;
if(i==98){
a[i+1][i+1]=100.0033333;
a[i+1][i]=-99.99833333;
fi[99]=0.;
for(j=1;j<100;++j){
xi+=h;
fi[99]+=(sin(3.14*(h*xi+h*i))*(1-abs(xi)));
}
fi[99]*=h*h;
}
if(i==1){
alf[i]=-a[i-1][i]/a[i-1][i-1];
bet[i]=fi[i-1]/a[i-1][i-1];
}
alf[i+1]=-a[i][i+1]/(a[i][i-1]*alf[i]+a[i][i]);
bet[i+1]=(fi[i]-a[i][i+1]*bet[i])/(a[i][i-1]*alf[i]+a[i][i]);
if(i==98){
alf[99]=-a[99][98]/a[99][99];
bet[99]=fi[99]/a[99][99];
u[99]=(fi[99])/(a[99][99]);
i=100;
u[100]=0;
}
}

cout<<" u("<<100*h<<")="<<u[100]<<'\n';
cout<<" u("<<99*h<<")="<<u[99]<<'\n';
for(i=98;i>0;--i){
u[i]=alf[i]*u[i+1]+bet[i];
cout<<" u("<<h*i<<")="<<u[i]<<'\n';
if(i==1){
u[i-1]=0;
}
}
cout<<" u("<<0*h<<")="<<u[0]<<'\n';
getch();
return 0;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru