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

Нужно найти сумму массивов

30.05.2020, 12:48. Показов 3982. Ответов 7

Author24 — интернет-сервис помощи студентам
Здравстуйте! Такая ситуация, что нужно найти сумму массивов, но почему-то выдаёт не сумму, а конечное значение параметра b. Может кто-либо помочь с данной проблемой?
Вот скрины подпрограммы
Миниатюры
Нужно найти сумму массивов   Нужно найти сумму массивов   Нужно найти сумму массивов  

0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.05.2020, 12:48
Ответы с готовыми решениями:

В каждом из массивов найти сумму квадратов и сумму кубов положительных элементов
В каждом из массивов Т(7) и F(4) найти сумму квадратов и сумму кубов положительных элементов.

В каждом из массивов найти сумму квадратов и сумму кубов положительных элементов
В каждом из массивов Т(7) и F(4) найти сумму квадратов и сумму кубов положительных элементов. ...

Подпрограммы: найти общую сумму положительных и общую сумму отрицательных элементов трех массивов
Для массивов Q(15),D(8) и Z(3) найти общую сумму положительных элементов и общую сумму...

Найти поэлементную сумму двух массивов
Даны два массива одного размера. Получить третий массив, каждый элемент которого равен: а) сумме...

7
6832 / 4892 / 2066
Регистрация: 02.02.2014
Сообщений: 13,052
30.05.2020, 13:10 2
TitaniumZ, вы всерьез думаете, что программы можно анализировать по картинкам?
0
0 / 0 / 0
Регистрация: 14.09.2019
Сообщений: 8
30.05.2020, 20:02  [ТС] 3
Вот код
Кликните здесь для просмотра всего текста
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
function[F,G]=tgtopl4(v)
            if v >= 0 then
            if v < 5 then
            F = 294.528 + -31.506 * v;
            G = 0.85;
        end
        end
        if v>= 5 then
            if v < 10 then
            F = 198.025 - 12.202 * v
            G = 0.747 + 0.02 * v
        end
        end
        if v >= 10 then
            if v < 15 then
            F = -8.199 + 874.424 / v
            G = 0.91 + 3.947 * 10 ^ -3 * v
        end
        end
        if v >= 15 then
            if v < 16.1 then
            F = -8.199 + 874.424 / v
            G = 0.97 + 0 * v
        end
        end
        if v >= 16.1 then
            if v < 20 then
            F = -8.199 + 874.424 / v
            G = 0.929 + 2.564 * 10 ^ -3 * v
        end
        end
        if v >= 20 then
            if v < 21 then
            F = -8.199 + 874.424 / v
            G = 1.18 - 0.01 * v
        end
        end
        if v >= 21 then
            if v < 21.5 then
            F = -8.199 + 874.424 / v
            G = 0.97 + 0 * v
        end
        end
        if v >= 21.5 then
            if v < 22.9 then
            F = -8.199 + 874.424 / v
            G = 1.124 + -7.143 * 10 ^ -3 * v
        end
        end
        if v >= 22.9 then
            if v < 23 then
            F = -8.199 + 874.424 / v
            G = 0.96 + -1.421 * 10 ^ -12 * v
        end
        end
        if v >= 23 then
            if v < 29 then
            F = -8.199 + 874.424 / v
            G = 1.19 + -10 * 10 ^ -3 * v
        end
        end
        if v >= 29 then
            if v <= 30 then
            F = -8.199 + 874.424 / v
            G = 1.19 + -0.01 * v
        end
    end
endfunction
//[a,b]=tgtopl4(10)
v=[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,29,30]
for i=1:30
 [a(i),b(i)]=tgtopl4(v)
end
a
b
 
z=sum(b(i))
z
0
6832 / 4892 / 2066
Регистрация: 02.02.2014
Сообщений: 13,052
30.05.2020, 22:40 4
Лучший ответ Сообщение было отмечено TitaniumZ как решение

Решение

Matlab M
1
2
3
for i=1:30
[a(i),b(i)]=tgtopl4(v(i))
end
рекомендация: можно частично укоротить код двойными условиями
Matlab M
1
2
3
4
5
6
7
8
9
10
11
//    if v >= 0 then
//        if v < 5 then
//            F = 294.528 + -31.506 * v;
//            G = 0.85;
//        end
//    end
    
    if 0 <= v && v < 5 then
        F = 294.528 + -31.506 * v;
        G = 0.85;
    end
1
0 / 0 / 0
Регистрация: 14.09.2019
Сообщений: 8
31.05.2020, 08:11  [ТС] 5
Krasme, Спасибо за рекомендацию,но не знаете как решить проблему с суммой массивов?
Matlab M
1
2
3
4
for i=1:30
[a(i),b(i)]=tgtopl4(v)
end
z=sum(b(i))
значение "z" получается не суммой, а конечным значением "b". Знаете как это можно исправить?
Заранее спасибо.
0
6832 / 4892 / 2066
Регистрация: 02.02.2014
Сообщений: 13,052
31.05.2020, 10:19 6
Лучший ответ Сообщение было отмечено TitaniumZ как решение

Решение

пропустила вставить вчера последнюю строку))
Matlab M
1
2
3
4
5
for i=1:30
[a(i),b(i)]=tgtopl4(v(i))
end
a',b'
z=sum(b)
1
0 / 0 / 0
Регистрация: 14.09.2019
Сообщений: 8
31.05.2020, 11:20  [ТС] 7
Krasme, Спасибо Вам большое. Премного благодарен!

Добавлено через 4 минуты
Krasme, есть ещё один вопрос, если мне понадобится рассчитать для показателя скорости v=[10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30], то строка:
for i=1:30
будет выглядеть
for i=1:20
?
или как-то по-другому
0
6832 / 4892 / 2066
Регистрация: 02.02.2014
Сообщений: 13,052
31.05.2020, 12:51 8
Лучший ответ Сообщение было отмечено TitaniumZ как решение

Решение

чтобы каждый раз не подсчитывать число элементов вектора, можно использовать функцию длины вектора
Matlab M
1
for i=1:length(v)
Добавлено через 1 час 28 минут
еще одна рекомендация: обязательно на первой строке кода вставлять
Matlab M
1
clc; clear;
пример причины: при изменении размера массива v c 30 до 21 элементов массивы a, b сохраняют свои прежние значения длиной в 30 элементов, далее некорректно считается сумма sum(b) - 21 новых и 9 старых значений.

Добавлено через 1 минуту
clc - очистка командного окна
clear - очистка от всех переменных
1
31.05.2020, 12:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2020, 12:51
Помогаю со студенческими работами здесь

Найти сумму и количество целочисленный массивов
Найти сумму и количество целочисленный массивов Помогите найти ощипку #include &lt;iostream&gt;...

Найти сумму произведений элементов массивов
Помогите пожалуйста!!!! Есть два массива А = B = , , ] Нужно найти третий массив C элементы...

Найти сумму минимальных элементов массивов А и В
Найти сумму минимальных элементов массивов А и В, которые формируются по правилам: ai =...

Найти сумму произведений двух массивов
сюда не реально задание переписать фото задания -

Найти сумму всех элементов массивов
Найти сумму всех элементов массивов.

Найти сумму трех одномерных массивов
Сумма трех одномерных массивов Помогите пожалуйста, нужно написать программу


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

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