Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 29.03.2019
Сообщений: 14

Как избавиться от бесконечного цикла в матлаб?

18.10.2021, 11:44. Показов 2517. Ответов 4

Author24 — интернет-сервис помощи студентам
условие задачи: найти сумму ряда S(m)=1+1/(2*sqrt(2)) +...+1/(m*sqrt(m)) для такого m, что 1/(m*sqrt(m)) не превышает заданное число. Протестировать программу для числа 0.05

тоесть я вызываю s=tas2(0.05)
в выводе получаю 1
а если я введу s=task2(2)
получаеться бесконечный цикл

Мое решение:
Matlab M Скопировано
1
2
3
4
5
6
function s=task2(m)
s=1;
while (m>(1/(m*sqrt(m))))
s=s+1/(m*sqrt(m));
endwhile
endfunction
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.10.2021, 11:44
Ответы с готовыми решениями:

Подскажите пожалуйста как избавиться от бесконечного цикла?
Код элемент функции int value = 1, grade = 1; double mean, total = 0; cout << "При окончание ввода оценок введите...

Избавиться от бесконечного цикла while, который проверяет, появились ли данные на порту
Здравствуйте, решил перевести прогу сервера на чистый с++ до этого был фрейм ворк QT. Ситуация следующая нужно избавится от бесконечного...

Рекурсивный обход дерева папок и файлов - избавиться от бесконечного цикла
Добрый день! Стоит задача рекурсивно обойти и сохранить имена папок и файлов в виде вектора. Моя рекурсивная функция работает не...

4
1298 / 927 / 449
Регистрация: 21.10.2012
Сообщений: 2,604
18.10.2021, 13:18
Цитата Сообщение от Человек разум Посмотреть сообщение
не превышает заданное число
под этим числом подразумевается, скорее всего, какой-то порог (точность), что-то вроде 1е-8, например, а не ваше число m.
0
5454 / 2814 / 565
Регистрация: 07.11.2019
Сообщений: 4,627
18.10.2021, 18:53
Matlab M Скопировано
1
2
3
4
eps=0.05
m=ceil(eps^(-2/3))
x=(1:m)
S=sum(1./(x.*sqrt(x)))
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
18.10.2021, 19:18
Както-так:
Задаете m=...
Задаете точность, обычно ее называют эпсилон, eps=0.05
Задаете эталон с чем сверять max= 1/(m*sqrt(m))+eps

Пишите функцию while которая рекурсивно вычисляет сумму ряда и проверяет что новая сумма ряда<max.
Потом находят ошибку eror=max- найденная сумма ряда

В конце проги обычно выводят входные и выходные данные типа:
Задано m=
Задана точность eps=

Пройдено итераций=
Сумма ряда=
Ошибка eror=
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5207 / 2924 / 1509
Регистрация: 14.12.2018
Сообщений: 5,264
Записей в блоге: 1
19.10.2021, 14:52
Цитата Сообщение от Человек разум Посмотреть сообщение
условие задачи: найти сумму ряда S(m)=1+1/(2*sqrt(2)) +...+1/(m*sqrt(m)) для такого m, что 1/(m*sqrt(m)) не превышает заданное число. Протестировать программу для числа 0.05
Matlab M Скопировано
1
2
3
4
5
6
7
8
9
10
11
clc;  clear all; close all;
s=task2(0.05)
 
function s = task2(eps)
    s=1; t=1; m=1;
    while (t>eps)
        m=m+1;
        t=1/(m*sqrt(m));
        s=s+t;
    end
end
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.10.2021, 14:52
Помогаю со студенческими работами здесь

Уважаемые программисты, как избавиться от бесконечного ветвления switch и if в игре?
Можно ли выражения вроде &quot; y=Assets.mobs.pointOfRespMobWolfPosY;&quot; , и им подобные, записать в массив какой то, строковый или вроде этого-...

Как избавиться от цикла?
Всем добрый вечер. Есть рабочая программа с циклом (фрагмент программы): rez=zeros(max(digits),1); for i=1:length(digits) ...

Как выйти из бесконечного цикла?
Есть вот такая специфическая форма записи бесконечного цикла: for /L %%a in (0,0,0) do goto :nxt :nxt pause Мне нужно перейти...

Как избавиться от вечного цикла в коде?
using System; namespace Laba2_without_parse { class rabota { static void Main(string args) { ...

Старый борланд: как выйти из бесконечного цикла по нажатию заданной клавиши?
Короче нужно сделать прогу которая считает сколько отрицательных,положительных,равных 0 ввел пользователь. Реализовал.Пользователь вводит...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
TypeScript: Интерфейсы vs Типы
run.dev 11.04.2025
Современная разработка на JavaScript сталкивается с множеством проблем при масштабировании проектов. Типизация кода стала хорошим инструментом, помогающим избежать ошибок во время выполнения,. . .
Управление топиками и разделами Kafka
Javaican 11.04.2025
Apache Kafka — распределенная платформа потоковой передачи данных, которая стала стандартом для построения высоконагруженных систем обмена сообщениями. В современной архитектуре микросервисов,. . .
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
Агрегаты и сущности в DDD микросервисах
Javaican 10.04.2025
Разработка современных программных систем часто приводит на распутье: монолит или микросервисы? Даже при выборе микросервисной архитектуры многие команды сталкиваются с проблемой правильного. . .
Многопоточность в C#: Task и параллельное программирование
UnmanagedCoder 10.04.2025
Современные процессоры уже давно перестали наращивать тактовую частоту в пользу увеличения количества ядер. Это создало интересную ситуацию: разработчики, привыкшие к последовательному. . .
Линейное решение нелинейной задачи будет иметь приблизительный результат вычисления для метода обработки данных из double buffering.
Hrethgir 10.04.2025
Вообще изначально я пренебрёг квадратурой числа, но потом понял, что для вычисления приблизительного значения - сгодится, формулу можно будет корректировать по ходу. Это потому что прямое соотношение. . .
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер