Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 22
1

Не работают циклы

01.06.2016, 16:31. Показов 1289. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
До переустановки винды была рабочая программа, такое ощущение что после переустановки матлаб игнорирует циклы, все массивы размером 1, но хотя бы j n должны быть размерами 10000 и 50.
Миниатюры
Не работают циклы  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2016, 16:31
Ответы с готовыми решениями:

Циклы работают не в том порядке
код программы function model=kerim_CDP_model(w,t,L,Ns,step) % w - переменная с вейвлетом (1...

Не работают вложенные циклы
Доброго времени суток! Задача такая: есть три целых чичла от 1 до 9 (a, b и c), найти сумму этих...

Как работают циклы?
Мне нужно написать программу, выполняющую следующие действия: 1. Ввести две строки текста с...

Не работают вложенные циклы
Всем доброго времени суток, Сильно не ругайте, только второй день изучаю Python. Вот кусок кода:...

6
Эксперт по математике/физике
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
01.06.2016, 17:05 2
Цитата Сообщение от Miro95 Посмотреть сообщение
после переустановки матлаб игнорирует
Конечно, во всем всегда виноват дядя Билл.
А инициализацию переменной i, тоже дядя Билл будет делать.
При старте MATLAB в i определен корень из минус 1.
И в 11 строке дядя пометил оператор &, там возможно тоже проблема.
А программу выкладывайте не на картинке, набирать для проверки никто не будет (в том числе и я)
0
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 22
01.06.2016, 17:14  [ТС] 3
Я на виндовс не пинаю, но все может быть, i - не переменная а комплексная часть, варнинги роли не играют даже если их исправить на 1i, && результат тот же. И никак не могли б влиять, при любом раскладе фор должен был бы насчитать массивы по 10000 и 50 элементов.
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
clear all;
N=50;
z=[0 2+1i*sqrt(3)/2 4];
plot(z);
hold on;
K=10000;
for j=1:K
    while 1
        x0=rand(1);
        y0=rand(1)*sqrt(3)/2;
        if ((y0<=sqrt(3)*x0) && (y0<=-sqrt(3)*(x0-1)))
            break;
        end;
    end;
    z1=x0+1i*y0;
    for n=1:N
         R=floor(rand(1)*0.9)+1;
        if R<=0.05
           z1=(z1+z(1))/2;    
        elseif R==0.05
           z1=(z1+z(2))/2;  
        else 
           z1=(z1+z(3))/2;
        end;  
    end;
    plot(z1) 
    hold on;
end;
0
Модератор
1700 / 1552 / 520
Регистрация: 13.09.2015
Сообщений: 5,370
01.06.2016, 19:36 4
Цитата Сообщение от Miro95 Посмотреть сообщение
j n должны быть размерами 10000 и 50
j и n - это не массивы, а переменные, которые последовательно принимают значения от 1 до 10000 и от 1 до 50. В конце вычислений они будут иметь предельные значения, т.е. 10000 и 50, и на вашем скрине всё так и есть.
0
Эксперт по математике/физике
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
02.06.2016, 07:13 5
Возможно Вы хотели сделать что-то похожее на это:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
clear all;
N=50;
z=[0 2+1i*sqrt(3)/2 4];
plot(z);
hold on;
K=10000;
for j=1:K
    while 1
        x0(j)=rand(1);
        y0(j)=rand(1)*sqrt(3)/2;
        if ((y0(j)<=sqrt(3)*x0(j)) && (y0(j)<=-sqrt(3)*(x0(j)-1)))
            break;
        end;
    end;
    z1(j)=x0(j)+1i*y0(j);
    for n=1:N
         R=floor(rand(1)*0.9)+1;
        if R<=0.05
           z1(j)=(z1(j)+z(1))/2;    
        elseif R==0.05
           z1(j)=(z1(j)+z(2))/2;  
        else 
           z1(j)=(z1(j)+z(3))/2;
        end;  
    end;
    plot(z1) 
    hold on;
end;
0
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 22
02.06.2016, 17:43  [ТС] 6
нет, результаты должен быть таким:
Миниатюры
Не работают циклы  
0
Эксперт по математике/физике
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
06.06.2016, 11:25 7
Ваш код в сообщении 3.
строка 7 Выполняется обработка цикла, переменная j(не вектор) принимает значения от 1 до К
строка 9 переменная x(не вектор) принимает случайное значение
строка 10 переменная y(не вектор) принимает случайное значение
строка 15 переменная z1(не вектор) вычисляется некоторое значение
строка 16 Выполняется обработка цикла, переменная n(не вектор) принимает значения от 1 до N
строки 19,21,23 переменная z1(не вектор) вычисляется некоторое значение
строка 21 построение графика, но z1 не вектор, а просто число - никакого графика нет
строка 17 floor(rand(1)*0.9) - всегда равно 0, следовательно R всегда равно 1
В условиях всегда выполняется строка 23, в цикле по n никаких случайностей не наблюдается.
Программа работает абсолютно правильно, просто она так написана и такой график она не должна строить.

Все работает так, как написано, без массивов.
Пишите правильно, будет считаться обработка массивов.
0
06.06.2016, 11:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2016, 11:25
Помогаю со студенческими работами здесь

Не работают циклы, функция возвращает неверные значения
Уважаемые коллеги, помогите найти ошибку (сам файл и его изображения прикреплены). Описание...

Постигаю c++ и не могу в здешние циклы, а ещё в тип char кто знает как они работают подскажите
Есть сия код. Массив 7 столбцов на 5 строк (5 доярок(строки), 6 дней(столбцы), и 7 столбец...

Как работают вложенные циклы в "методе пузырька"
Всем доброго времени суток ! Я только недавно начала изучать C# и вот столкнулся с непониманием...

Циклы с условием, циклы с переменной, вложенные циклы
С условием 1. Ввести натуральное число N и вычислить сумму всех чисел фибоначчи меньших N....


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru