0 / 0 / 0
Регистрация: 28.09.2016
Сообщений: 10
|
||||||||||||||||
1 | ||||||||||||||||
Matlab 2014 Ошибка: Subscripted assignment dimension mismatch. Почему ?20.06.2018, 10:55. Показов 8860. Ответов 12
Метки нет (Все метки)
m-file1
>> Test2 Subscripted assignment dimension mismatch. Error in f (line 11) M(i,j)=s; Error in Bz (line 4) F=f(psi,x0,y0,a,h); Error in Test2 (line 13) mp=Bz(x0,y0,a,h,N);
0
|
20.06.2018, 10:55 | |
Ответы с готовыми решениями:
12
Ошибка In an assignment A(:) = B, the number of elements in A and B must be the same Почему ошибка type mismatch? Ошибка: subscripted value is neither array nor pointer Почему type mismatch? |
6890 / 4940 / 2086
Регистрация: 02.02.2014
Сообщений: 13,126
|
|
20.06.2018, 11:01 | 2 |
это должно быть внутри цикла
Добавлено через 49 секунд на форуме есть теги matlab [MATLAB ] [ /MATLAB] - четвертый справа в первом ряду
0
|
0 / 0 / 0
Регистрация: 28.09.2016
Сообщений: 10
|
|
21.06.2018, 12:35 [ТС] | 3 |
Ребята, кто может подсказать что сделать с этим?
0
|
Модератор
5272 / 4054 / 1389
Регистрация: 30.07.2012
Сообщений: 12,429
|
|
21.06.2018, 13:26 | 4 |
khiggs2013, а вот что...
0
|
0 / 0 / 0
Регистрация: 28.09.2016
Сообщений: 10
|
|
21.06.2018, 13:46 [ТС] | 5 |
Дык я её внутрь цикла и помещал, то есть выше end , но результата то нет
0
|
Модератор
5272 / 4054 / 1389
Регистрация: 30.07.2012
Сообщений: 12,429
|
|
21.06.2018, 13:52 | 6 |
khiggs2013, а ничего, что там есть еще один, вложенный цикл?
0
|
0 / 0 / 0
Регистрация: 28.09.2016
Сообщений: 10
|
|
21.06.2018, 13:55 [ТС] | 7 |
Дак что сделать то технически надо?
0
|
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
||||||
21.06.2018, 15:22 | 8 | |||||
Конечно присвоение
M(i,j)=s; должно быть выше еще одного end судя по индексу j, однако проблема в другом. У Вас s получается массивом 1х101, из-за того что psi массив. И тут надо разбираться что Вы там и как интегрируете. Мне физика Вашей задачи неизвестна. Из синтаксиса MATLABa возможно поставить присвоение
0
|
0 / 0 / 0
Регистрация: 28.09.2016
Сообщений: 10
|
|
22.06.2018, 00:19 [ТС] | 9 |
0
|
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
|
22.06.2018, 08:18 | 10 |
Вот эта строка
дает 101 элемент. Но можно и не считать, а просто в отладчике поставить точку останова, и посмотреть размер массива
0
|
0 / 0 / 0
Регистрация: 28.09.2016
Сообщений: 10
|
|
22.06.2018, 19:20 [ТС] | 11 |
Ага. понял. Ну скорее наверное 101*N так как N в моей задаче это число витков соленоида.
Дело в том, что все должно там вроде бы работать(где происходит интегрирование). Выражение определяет в функции пределы интегрирования, как я понял из: http://old.exponenta.ru/soft/m... /trapz.asp Вообщем в моей задаче нужно взять например M(5, 6) (ну вот это: ) и проинтегрировать его от 0 до 2*pi*N. Далее вынести на сетку по X=5, а по Y=6. И так перебрать каждый i и j.
0
|
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
|
22.06.2018, 21:38 | 12 |
Сообщение было отмечено khiggs2013 как решение
Решение
Сущность проблемы мне не понятна, но возможно надо проводить интегрирование сразу перед присвоением
M(i,j)=s; и в массиве хранить уже результаты интегрирования
1
|
0 / 0 / 0
Регистрация: 28.09.2016
Сообщений: 10
|
|
23.06.2018, 17:02 [ТС] | 13 |
Спасибо за помощь SSC!
Все таки надо было сначала интегрировать а потом уж перебирать по i , j. Ответ получил в виде вот такого распределения. Это компонента по z магнитного поля однослойного соленоида рассчитанная по закону Био Савара в плоскости z-y.
0
|
23.06.2018, 17:02 | |
23.06.2018, 17:02 | |
Помогаю со студенческими работами здесь
13
Непонятно почему type mismatch Ошибка компиляции "Subscripted value is neither array nor pointer nor vector" Ошибка Assignment to FOR-Loop variable Ошибка Null pointer assignment Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |