С Новым годом! Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
1 / 3 / 0
Регистрация: 25.04.2015
Сообщений: 437

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

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

Студворк — интернет-сервис помощи студентам
Здравствуйте! Подскажите как записать в массив значения выражения если кроме значений переменных, в нём присутствует дифференциал. Смотри пример
Миниатюры
Записать в массив значения выражения, если кроме значений переменных в нём присутствует дифференциал  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.10.2022, 09:11
Ответы с готовыми решениями:

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

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

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

19
 Аватар для Зосима
5245 / 3573 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
10.10.2022, 13:08
Как вариант - рассчитывать производные приблизительно из предыдущих значений:

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
1 / 3 / 0
Регистрация: 25.04.2015
Сообщений: 437
10.10.2022, 18:59  [ТС]
Да я знаю как ф-ю diff использовать, вопрос у меня в другом, если есть допустим 50 значений омег, а diff получается 49 значений, то как в массиве это отразить. Может как вариант добавить NAN, только как это сделать.
0
 Аватар для Зосима
5245 / 3573 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
10.10.2022, 19:07
Цитата Сообщение от GAZot Посмотреть сообщение
Может как вариант добавить NAN, только как это сделать.
как вариант, если w - строка:
Matlab M
1
dw = [nan, diff(w)]/dt;
0
1 / 3 / 0
Регистрация: 25.04.2015
Сообщений: 437
10.10.2022, 19:43  [ТС]
а как с dt аналогично?

Добавлено через 1 минуту
и что значит w - строка, а если значение
0
 Аватар для Зосима
5245 / 3573 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
10.10.2022, 20:37
Цитата Сообщение от GAZot Посмотреть сообщение
а как с dt аналогично?
да, но такой способ будет работать, если значения хранятся в массивах.
А вот если у тебя отдельные числа, тогда нужно добавлять переменную, в нее сохранять предыдущее значение и считать без diff напрямую через дробь.
0
1 / 3 / 0
Регистрация: 25.04.2015
Сообщений: 437
12.10.2022, 07:54  [ТС]
Правильно ли понимаю
Matlab M
1
dw = [nan, diff(w)]/[nan, diff(t)];
, (w и t массивы значений, допустим по 50, как и в уравнениях массивы и других переменны), что после вычисления для a получится массив на 50, но в конце после 49-го значения будет стоять NAN
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
12.10.2022, 10:22
GAZot, зачем вам записывать в массив дифференциалы? Что вы хотите делать с массивами?
0
1 / 3 / 0
Регистрация: 25.04.2015
Сообщений: 437
12.10.2022, 15:27  [ТС]
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
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
12.10.2022, 16:12
GAZot, у вас https://www.cyberforum.ru/cgi-bin/latex.cgi?\omega имеется в виде функции или набора значений?
0
1 / 3 / 0
Регистрация: 25.04.2015
Сообщений: 437
12.10.2022, 17:39  [ТС]
я же говорю массив значений t (время) и омеги, x, y, z константы.
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
12.10.2022, 19:25
Можно дополнить массив дифференциала экстраполированным значением.
Matlab M
1
2
dfw=diff(w)/diff(t);
dw=[dfw interp1(t(1:end-1),dfw,t(end),'pchip')];
0
1 / 3 / 0
Регистрация: 25.04.2015
Сообщений: 437
13.10.2022, 09:23  [ТС]
Аналогичная ошибка
Error using horzcat
Dimensions of matrices being concatenated are not consistent.

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

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
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
13.10.2022, 19:21
GAZot, у вас t и https://www.cyberforum.ru/cgi-bin/latex.cgi?\omega совпадают по размерам?
0
1 / 3 / 0
Регистрация: 25.04.2015
Сообщений: 437
13.10.2022, 19:55  [ТС]
Да всё совпадает, ну хотите сами проверьте
Вложения
Тип файла: txt Пример.txt (781 байт, 7 просмотров)
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
13.10.2022, 20:05
GAZot, а, так у вас данные в виде вектор-столбцов. Транспонируйте их в вектор-строки.
Или вместо пробела поставьте точку с запятой:
Matlab M
1
dw=[dfw;interp1(t(1:end-1),dfw,t(end),'pchip')];
0
1 / 3 / 0
Регистрация: 25.04.2015
Сообщений: 437
14.10.2022, 10:20  [ТС]
Centurio
Большое спасибо. Всё получилось. Вопрос снят.

Добавлено через 1 минуту
Последний вопрос почему именно метод pchip
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
15.10.2022, 12:54
Цитата Сообщение от GAZot Посмотреть сообщение
почему именно метод pchip
Потому что он предназначен для экстраполяции, т.е. для точек, лежащих вне заданного интервала.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.10.2022, 12:54
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru