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

Поверхность в цилиндрических координатах / неравномерный массив

05.02.2018, 22:08. Показов 1982. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста разобраться. Имеется неравномерный массив в виде таблицы. Типа:

А\В 1 2 3 4 5 6
1 2 3 4 5 6 7
2 3 4 5 6 7
3 4 5 6 7
4 6 7 8
5 7 8 9

А и В, углы, заданы как (0°<А< 85,2°), (0°<В<180°). Значения таблицы q - результаты измерений при углах А и В, отсутствие измерения - не ноль!


Пытаюсь построить поверхность по точкам таблицы в цилиндрических координатах. Использую:

Matlab M
1
2
3
4
5
6
7
8
9
10
А=[1,2,3,4,5];
В=[1,2,3]; % только столбцы с заполненными ячейками 
 
q=[2,3,4,6,7; 3,4,5,7,8; 4,5,6,8,9]; % соответсвенно В 
 
[X,Y] = meshgrid(А,В);
[Q]=griddata(А,В,q,X,Y,'cubic');
 
[R,TH] = cart2pol(Y,X);
surf(R.*cos(TH), R.*sin(TH),Q);
Как учесть все значения q из таблицы. При попытке задать весь массив, как q=[2,3,4,6,7; 3,4,5,7,8; 4,5,6,8,9;5,6,7;6,7;7]
ошибка Dimensions of matrices being concatenated are not consistent.

Заранее спасибо за отзывы.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.02.2018, 22:08
Ответы с готовыми решениями:

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

Вычислить в цилиндрических координатах
Вычислить в цилиндрических координатах, где V - огр: \int \int \int_{V}^{} sqrt(x^2+y^2)dxdydz, x^2+y^2=1, z=0, z=3

Построить график в цилиндрических координатах
Построил следующие графики, но одно но, мне надо построить их в цилиндрических координатах, перебрал кучу команд - ничего не получается. В...

12
 Аватар для Krasme
7244 / 5097 / 2151
Регистрация: 02.02.2014
Сообщений: 13,455
05.02.2018, 22:39
здесь длины строк разные, поможет массив ячеек
0
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 21
05.02.2018, 22:57  [ТС]
спасибо, есть ли пример создания такого массива ячеек?
0
 Аватар для Krasme
7244 / 5097 / 2151
Регистрация: 02.02.2014
Сообщений: 13,455
05.02.2018, 23:30
http://old.exponenta.ru/SOFT/M... r7/7_0.asp
0
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 21
10.02.2018, 13:45  [ТС]
Спасибо за ответ. Разбираясь с массивами ячеек, заполнением ячеек есть вопрос:

Как лаконично упростить

Matlab M
1
q(:,1)={VarName1(1,1), VarName1(2,1), VarName1(3,1), VarName1(4,1), VarName1(5,1), VarName1(6,1), VarName1(7,1), VarName1(8,1), VarName1(9,1), VarName1(10,1), VarName1(11,1), VarName1(12,1), VarName1(13,1), VarName1(14,1), VarName1(15,1), VarName1(16,1), VarName1(17,1), VarName1(18,1), VarName1(19,1), VarName1(20,1), VarName1(21,1), VarName1(22,1), VarName1(23,1), VarName1(24,1), VarName1(25,1), VarName1(26,1), VarName1(27,1), VarName1(28,1), VarName1(29,1)};
Т.е заполнить пустой массив q размером 29х20, столбцами VarName1, VarName2, VarName3 каждый размером 29х1??

Пока заполняю топорно, по ячейкам, заранее спасибо!
0
 Аватар для Krasme
7244 / 5097 / 2151
Регистрация: 02.02.2014
Сообщений: 13,455
10.02.2018, 14:06
если только в цикле...
вы уже замахнулись на размеры 29 на 20...
сначала сделайте маленький пример из стартового топика, там размерчик маленький, 5 на 6

Цитата Сообщение от Alena Bel Посмотреть сообщение
А и В, углы, заданы как (0°<А< 85,2°), (0°<В<180°). Значения таблицы q - результаты измерений при углах А и В, отсутствие измерения - не ноль!
можете дать исходные значения в натуральном виде?
т.к. примерный вид у вас смещен, не совсем понятно, где именно у вас нет значения (но не ноль)

если оригинальный файл не крепится, можно закатать в архив
0
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 21
10.02.2018, 16:03  [ТС]
циклы.. где-то слышала

Эт от общего к частному. Маленький пример позволяет запись ячеек, что называется "вручную", а исходная таблица чуть больше (attached).

Чтение из Файла пока мне тоже не доступно, не понятно куда исходный файл сохранять и как его читать (система IOS) ... Лиха бѣда начало!
Вложения
Тип файла: zip Probe_10.zip (1.5 Кб, 3 просмотров)
0
 Аватар для Krasme
7244 / 5097 / 2151
Регистрация: 02.02.2014
Сообщений: 13,455
10.02.2018, 16:10
Цитата Сообщение от Alena Bel Посмотреть сообщение
куда исходный файл сохранять и как его читать
данный файл получается автоматически (в какой-то другой программе) или также вручную заполняется?

если положить excel-файл и m-функцию в одну папку, то читать просто.
Matlab M
1
2
clc; clear all; clf;
M=xlsread('Probe_10.csv')
далее можно видеть, что пустые ячейки равны NaN, что позволяет использовать классическую таблицу (не массив ячеек).
0
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 21
10.02.2018, 19:32  [ТС]
Исходный файл заполняется вручную.

Открывая его каждый ряд считывается в отдельную переменную.Теперь у меня куча переменных: А (29х1) и двадцать переменных В(29х1). Некоторые переменные В содержат NaN.

Напомню, что необходимо построить 3-х мерный график в полярных координатах значений хранящихся в переменных В (как на примере)

Итак,
Matlab M
1
2
3
4
5
6
betta=[0,2,5...180] 
[X,Y] = meshgrid(А,betta);
 
[R,TH] = cart2pol(Y,X);
 
surf(R.*cos(TH), R.*sin(TH),% матрица всех значений В%);
Если представить В снова в виде исходной таблицы - снова ошибка
о несоответствии строк столбцам (Error using surf (line 82) Data dimensions must agree). И всё сначала ...


Заранее спасибо за помощь!
Миниатюры
Поверхность в цилиндрических координатах / неравномерный массив  
0
 Аватар для Krasme
7244 / 5097 / 2151
Регистрация: 02.02.2014
Сообщений: 13,455
10.02.2018, 20:36
Цитата Сообщение от Alena Bel Посмотреть сообщение
Исходный файл заполняется вручную.
можно сразу в матлабе и заполнять?

замените в вашем excel-файле первую строку на числа
Кликните здесь для просмотра всего текста


Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
clc; clear all; clf;
 
M=xlsread('Probe_10.csv');
[r,c]=size(M);
A=M(1,2:c)/180*pi;
B=M(2:r,1)/180*pi;
q=M(2:r,2:c);
 
[X,Y] = meshgrid(A,B);
Q=griddata(A,B,q,X,Y,'cubic');
 
[R,TH] = cart2pol(Y,X)
surf(R.*cos(TH), R.*sin(TH),Q);
set(gca,'ZScale','log')
что-то строится, но на вариант на картинке пока не похож
0
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 21
10.02.2018, 22:15  [ТС]
Спасибо, Krasme, есть опасение что функция построения в полярных координатах совсем не та может подскажете к кому лично обратиться?

Matlab M
1
2
[R,TH] = cart2pol(Y,X);
surf(R.*cos(TH), R.*sin(TH),Q);
Миниатюры
Поверхность в цилиндрических координатах / неравномерный массив  
0
 Аватар для Krasme
7244 / 5097 / 2151
Регистрация: 02.02.2014
Сообщений: 13,455
10.02.2018, 22:30
вы не перевели градусы в радианы
Matlab M
1
2
A=M(1,2:c)/180*pi;
B=M(2:r,1)/180*pi;
или хотя бы
Matlab M
1
surf(R.*cos(TH/57.3), R.*sin(TH/57.3),Q);
0
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 21
04.03.2018, 17:46  [ТС]
Доброго дня,

вернувшись снова к задаче, выяснилось, что выше описанный код уже не работает.

Не могу создать

Matlab M
1
Q=griddata(A,B,q,X,Y,'cubic');
Matlab M
1
2
3
4
5
6
7
8
9
Error using delaunayTriangulation
The coordinates of the input points must be finite values; Inf and NaN are not
permitted.
 
Error in griddata>cubic (line 208)
dt = delaunayTriangulation(x,y);
 
Error in griddata (line 127)
        vq = cubic(x,y,v,xq,yq);



Как быть с неопределенными значениями NaN, как учитывая их работать с функциями meshgrid и интерполировать?? Спасибо заранее за совет!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.03.2018, 17:46
Помогаю со студенческими работами здесь

вычислить тройной интеграл в цилиндрических координатах
какие пределы внутреннего интегрирования по z Запрещено размещать задания в виде картинок и других файлов с их текстом. Делаю...

Вычислить интеграл (в цилиндрических или сферических координатах)
Вычислить интеграл (в цилиндрических или сферических координатах) \int \int \int ({x}^{2}+{y}^{2})dxdydz где V — область, заданная...

Вычислить тройной интеграл в цилиндрических или сферических координатах
\int \int \int ydxdydz \left ( V: 4\leq {x}^{2}+{y}^{2}+{z}^{2}\leq 16, 0\leq y\leq sqrt3*x, z\geq 0) Вычислить тройной интеграл в...

Построить 3-х мерный график, неравномерный массив Matlab
Добрый день, вновь обращаюсь с просьбой помочь в построении 3-х мерной замкнутой поверхности, вида Fig.2 по значениям таблицы...

Построить график кривой, заданной в полярных координатах Найти её уравнение в декартовых координатах
Доброго время суток, помогите построить: График \rho = \frac{1}{3\cdot (1-\cos \varphi)} и найти его уравнение в декартовой системе...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
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 Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru