Как написать это уравнение, которое запускает разделы? - PullRequest
0 голосов
/ 02 июля 2019

Я не знаю, куда идти с этим.Я думаю, что у меня есть правильные вещи, но я не понимаю.

https://imgur.com/a/V6gdDdr

Это продолжает работать цикл вечно, и я не знаю почему.

n=9; 
r =0; 
p = 0;
syms x 

v=1.7;

while abs(v-r) > 10^(-5)

    n=n+1;
    r = 0;
    a = 0;
    b= 1/n;

    for i = 1:n

    r = r + exp(((i+1)+exp(i))/2)*(b-a)
    end


    ['done']
end

Выход должен быть 85. Но я получаю, как пара тысяч.Я попытался изменить уравнение в цикле for, но я не знаю, почему оно дает мне символические ошибки.

1 Ответ

0 голосов
/ 02 июля 2019

Несколько проблем с размещенным кодом:

  1. Скобки смещены в выражении r = r + ...

  2. Вместоexp (i) и exp (i + 1), вы должны использовать exp (b i) и exp (b (i + 1)), чтобы учесть данный интервал.

  3. Ваше значение «v», которое должно быть точным ответом, должно равняться e-1, то есть 1.71828.Использование приблизительного 1.7 будет очень проблематичным, если вы попытаетесь приблизиться к точному решению с точностью до 5 десятичных знаков.

  4. Ваш цикл for должен перейти от 0 до n-1, этокак вы не складываете значения за пределами вашего интегрального диапазона.

n=9; 
r =0; 
p = 0;
v=e-1;

while abs(v-r) > 10^(-5)

    n=n+1;
    r = 0;
    a = 0;
    b= 1/n;

    for i = 0:n-1
      r = r + ((exp(b*(i+1))+exp(b*i))/2)*(b-a);
    end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...