Частичная сумма ряда Matlab

интернет компьютеры математика Информатика

500 баллов тому, кто сделает это http://s45.radikal.ru/i107/0905/7c/9e5208f47dfd.jpg
в Matlab'е.
Я сейчас на первом курсе в универе. И частичную сумму ряда мы будет проходить только в следующем году.
А по информатике дали такое задание. Книги по частичной сумме ряда не помогли.. Не понимаю я ничего...
Если кто хорошо знает программу Matlab - напишите пожалуйста как это реализовать.

В худшем случае хотя бы на паскале напишите. Я как-нибудь перепишу под матлаб.


Примечание:
Предугадывая первые ответы - от всяких школьников, которым заняться нечем как обсирать нормальных людей с нормальными важными вопросами - сообщаю им - не можете ответить на вопрос - не отвечайте. Ваше мнение обо мне и о вопросе меня не интересует. Важна только конкретная помощь по вопросу. Остальных просьба не тратить своё и чужое время на бесполезные бредни. Хотите поспамить - сотни форумов по всему интернету для вас. Чаты тоже для вас. Отправляйтесь туда и пишите там что угодно.

Примечание:
Почти переделал под матлаб. Если правильно заработает - в пределах недели 500 баллов уйдут заслужившему их юзеру.
А он тут один... Спасибо за то, что откликнулись на просьбу.
Ответы:
На паскале примерно так (я не проверял):
const double pi = 3.1415926535897932384626433832795;
var x, eps, s, si: double;
   n: integer;
begin
 readln(x);
 readln(eps);
 if (x < -pi) or (x > pi) then begin
   writeln('Invalid interval');
   halt;
 end;
 n := -1;
 s := 0;
 repeat
   inc(n);    
   if (n = 0) then
     si := 1
   else
     si := - si * sqr(x) / (2 * n) / (2 * n - 1)
   s := s + si;
 until abs(si) < eps;
 writeln('s(x) = ', s);
 writeln('k = ', n);
 writeln('f(x) = ', cos(x));
 writeln('|s(x) - f(x)| = ', abs(cos(x) - s));
end.
И про частичную сумму ряда. Это всего лишь сумма первых нескольких элементов последовательности.
То есть в твоем случае у тебя есть последовательность:
1, -x^2 / 2, x^4 / 24, ... (-1)^n * x^(2n) / (2n)!
Если ты подставишь x, который дается твоей программе на входе, то вместо функциональной последовательности, ты получишь числовую.
И тебе нужно просто считать сумму первых членов последовательности, и делать это до тех пор, пока очередной член последовательности не станет по модулю меньше значения погрешности, которую также дали на вход твоей программе. Складывая как можно больше членов этой последовательности, ты заметишь, что сумма всё ближе стремится к cos(x).
Вот и всё. Знать теорию рядов (или еще что-то сложное) здесь в принципе не нужно.
Вроде бы Артемка все правильно написал. Ошибок не видно, должна делать то, что нужно.
Задача решена в корне неверно, т.к. в условии сказано что степенной ряд должен сходится не к числу cos(x) где х конкретное значение к фукции, т.е на каждом шаге иттерации необходимо вычислять разность функций S(x) и f(x) и суммировать ошибки, а потом сравнивать с порогом е.


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.