Построение суммы ряда - PullRequest
       48

Построение суммы ряда

0 голосов
/ 11 ноября 2018

Я использую этот код, и я не знаю, что нужно для решения моей проблемы:

    syms x k t
    for t=0:10
    num=((-1)^k)/k
    t1=sin(8*3.1415*k*t)
    S1=symsum((num*t1),k,1,2);
    x=0.5-((1/3.1415)*S1);
    end
 Plot(x)

На оси x я показываю время, а на оси y - функцию в течение четырех периодов.

Когда я пытаюсь запустить код, я получаю следующую ошибку:

Неопределенная функция 'symsum' для входных аргументов типа 'double'.

Может быть, я не могу использовать symsum с моим типом аргумента, но есть ли другая функция, которую я могу использовать? Сумма тоже не сработала:

Ошибка при использовании суммы. Аргумент Dimension должен быть положительным целочисленным скаляром в пределах диапазона индексации.

1 Ответ

0 голосов
/ 11 ноября 2018

Поскольку вы хотите построить x(t), вам нужно использовать plot(t,x), где t и x - векторы.

Вместо использования for t=0:10, просто позвольте t=0:10 и вычислите соответствующее x.

Кроме того, символическая переменная просто k.

syms k 
t=0:10;
num=((-1)^k)/k;
t1=sin(8*3.1415*k*t);
S1=symsum((num*t1),k,1,2); 
x=0.5-((1/3.1415)*S1); 

plot(t,x) 

Следует отметить, что если вы разрешите t=0:10, то sin(8*k*pi*t) всегда будет 0, поскольку t является вектором целого числа от 0 до 10. Результат x(t) будет 5:

Выводится при t=0:10: enter image description here

Как видите, значение x(t) очень близко друг к другу. Теоретически их должно быть 5. Но есть числовое приближение, которое приводит к небольшой ошибке.

Возможно, вы хотите не целое число t. Вот вывод, когда t=0:0.1:10 enter image description here

...