-17 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 412
1

Записать в массив значения выражения, если кроме значений переменных в нём присутствует дифференциал

10.10.2022, 09:11. Показов 619. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Подскажите как записать в массив значения выражения если кроме значений переменных, в нём присутствует дифференциал. Смотри пример
Миниатюры
Записать в массив значения выражения, если кроме значений переменных в нём присутствует дифференциал  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.10.2022, 09:11
Ответы с готовыми решениями:

Найти значения выражения для вводимых с клавиатуры значений переменных
Найти значения выражения для вводимых с клавиатуры значений переменных A, B, C. Вывести результат...

Найти значения выражения для вводимых с клавиатуры значений переменных A, B, C
А еще с одной задачкой не поможете? Найти значения выражения для вводимых с клавиатуры значений...

Вычислить значение выражения d=(a+d)*b+c если значения переменных заданы в разных системах счисления
Решил выложить свои лабораторные работы за первый курс, первый семестр (01.09.2019-10.01.2020)...

Если значения переменных не равны то присвоить каждой сумму их значений, иначе присвоить переменным нулевые значения
uses crt; var x: integer; f1,f2: text; begin clrscr; assign(f1,'ishod.txt'); ...

19
5241 / 3569 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
10.10.2022, 13:08 2
Как вариант - рассчитывать производные приблизительно из предыдущих значений:

https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{d \omega_x}{dt} \approx \frac{\omega_x_{i} - \omega_x_{i-1}}{ \Delta t }

где https://www.cyberforum.ru/cgi-bin/latex.cgi?{ \Delta t } - шаг по времени.
0
-17 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 412
10.10.2022, 18:59  [ТС] 3
Да я знаю как ф-ю diff использовать, вопрос у меня в другом, если есть допустим 50 значений омег, а diff получается 49 значений, то как в массиве это отразить. Может как вариант добавить NAN, только как это сделать.
0
5241 / 3569 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
10.10.2022, 19:07 4
Цитата Сообщение от GAZot Посмотреть сообщение
Может как вариант добавить NAN, только как это сделать.
как вариант, если w - строка:
Matlab M
1
dw = [nan, diff(w)]/dt;
0
-17 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 412
10.10.2022, 19:43  [ТС] 5
а как с dt аналогично?

Добавлено через 1 минуту
и что значит w - строка, а если значение
0
5241 / 3569 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
10.10.2022, 20:37 6
Цитата Сообщение от GAZot Посмотреть сообщение
а как с dt аналогично?
да, но такой способ будет работать, если значения хранятся в массивах.
А вот если у тебя отдельные числа, тогда нужно добавлять переменную, в нее сохранять предыдущее значение и считать без diff напрямую через дробь.
0
-17 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 412
12.10.2022, 07:54  [ТС] 7
Правильно ли понимаю
Matlab M
1
dw = [nan, diff(w)]/[nan, diff(t)];
, (w и t массивы значений, допустим по 50, как и в уравнениях массивы и других переменны), что после вычисления для a получится массив на 50, но в конце после 49-го значения будет стоять NAN
0
Модератор
1692 / 1546 / 517
Регистрация: 13.09.2015
Сообщений: 5,363
12.10.2022, 10:22 8
GAZot, зачем вам записывать в массив дифференциалы? Что вы хотите делать с массивами?
0
-17 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 412
12.10.2022, 15:27  [ТС] 9
Matlab M
1
dw = [nan, diff(w)]/[nan, diff(t)];
Летит ошибка
Error using horzcat Dimensions of matrices being concatenated are not consistent. (Ошибка при использовании horzcat
Размеры объединяемых матриц не согласованы)

Добавлено через 7 минут
Centurio
Мне надо подсчитать значения a (смотри формулы) на каждый момент времени значение переменных для расчёта берутся из одного общего массива, в этот же массив после расчёта мне надо будет записать полученные значения a.

Добавлено через 3 минуты
Да, если это важно значения x, y, z это константы они заданы
0
Модератор
1692 / 1546 / 517
Регистрация: 13.09.2015
Сообщений: 5,363
12.10.2022, 16:12 10
GAZot, у вас https://www.cyberforum.ru/cgi-bin/latex.cgi?\omega имеется в виде функции или набора значений?
0
-17 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 412
12.10.2022, 17:39  [ТС] 11
я же говорю массив значений t (время) и омеги, x, y, z константы.
0
Модератор
1692 / 1546 / 517
Регистрация: 13.09.2015
Сообщений: 5,363
12.10.2022, 19:25 12
Можно дополнить массив дифференциала экстраполированным значением.
Matlab M
1
2
dfw=diff(w)/diff(t);
dw=[dfw interp1(t(1:end-1),dfw,t(end),'pchip')];
0
-17 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 412
13.10.2022, 09:23  [ТС] 13
Аналогичная ошибка
Error using horzcat
Dimensions of matrices being concatenated are not consistent.

Добавлено через 26 минут
Сразу говорю я выражение полностью ещё не забивал только эти две строчки
0
Модератор
1692 / 1546 / 517
Регистрация: 13.09.2015
Сообщений: 5,363
13.10.2022, 12:28 14
Я не поставил точку перед знаком деления.
Matlab M
1
2
dfw=diff(w)./diff(t);
dw=[dfw interp1(t(1:end-1),dfw,t(end),'pchip')];
0
-17 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 412
13.10.2022, 14:26  [ТС] 15
Я уже это пробовал

Matlab M
1
2
3
4
5
Error using horzcat
Dimensions of matrices being concatenated are not consistent.
 
Error in Untitled (line 11)
dw=[dfw interp1(t(1:end-1),dfw,t(end),'pchip')];
0
Модератор
1692 / 1546 / 517
Регистрация: 13.09.2015
Сообщений: 5,363
13.10.2022, 19:21 16
GAZot, у вас t и https://www.cyberforum.ru/cgi-bin/latex.cgi?\omega совпадают по размерам?
0
-17 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 412
13.10.2022, 19:55  [ТС] 17
Да всё совпадает, ну хотите сами проверьте
Вложения
Тип файла: txt Пример.txt (781 байт, 7 просмотров)
0
Модератор
1692 / 1546 / 517
Регистрация: 13.09.2015
Сообщений: 5,363
13.10.2022, 20:05 18
GAZot, а, так у вас данные в виде вектор-столбцов. Транспонируйте их в вектор-строки.
Или вместо пробела поставьте точку с запятой:
Matlab M
1
dw=[dfw;interp1(t(1:end-1),dfw,t(end),'pchip')];
0
-17 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 412
14.10.2022, 10:20  [ТС] 19
Centurio
Большое спасибо. Всё получилось. Вопрос снят.

Добавлено через 1 минуту
Последний вопрос почему именно метод pchip
0
Модератор
1692 / 1546 / 517
Регистрация: 13.09.2015
Сообщений: 5,363
15.10.2022, 12:54 20
Цитата Сообщение от GAZot Посмотреть сообщение
почему именно метод pchip
Потому что он предназначен для экстраполяции, т.е. для точек, лежащих вне заданного интервала.
0
15.10.2022, 12:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.10.2022, 12:54
Помогаю со студенческими работами здесь

Если значения переменных не равны, то присвоить каждой переменной большее из значений
Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной...

Если значения переменных не равны, то присвоить каждой переменной сумму значений
1. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой...

Если значения переменных не равны, то присвоить каждой сумму этих значений
Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной...

Если значения переменных не равны, то присвоить каждой переменной сумму этих значений
Даны две переменные целого типа: А и В. Если их значения не равны, то присвоить каждой переменной...

Если значения переменных не равны, то присвоить каждой переменной большее из этих значений
3)Даны две переменные целого типа: a и b. Если их значения не равны, то присвоить каждой переменной...

Найти значения выражения для вводимых с клавиатуры значений переменных A, B, C. Вывести результат с точностью 5 знаков п
помогите решить уравнение пж


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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