Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 23

Исправить ошибку в коде по приближению значений

17.02.2016, 00:27. Показов 999. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста, как исправить ошибку в коде? Ранее с такой не сталкивался.
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
%дано: 
t=0.1; 
a=10; 
d=0.1;
% Начальные приближения искомых параметров системы
    k0=1;
    k1=1;
    Mx=1;
    Dx=1;
    Mxmin=1;
    ind=1;
    nomer=0;
    for k=4:0.1:20
        p=1;
        while p>0.001
 
             k01=(2/mx)*erf(real((mx/((dx)^0.5))));
            k11=(1/(2*(dx^0.5)))*(sqrt(1-4*(erf(real(mx/((dx)^0.5))))^2)+(2/sqrt(2*pi))*exp(-(1/2)*(mx/(dx^0.5))^2));
            mx1=2/(k0*k);
            dx1=((k*k1*d*(t*a+1))/(t*(a^2)+a+k1*k))^0.5;
 
            pk0= (abs(k01-k0))^2;
            pk1=(abs(k11-k1))^2;
            pMx= (abs(Mx1-Mx))^2;
            pDx=(abs(Dx1 - Dx))^2;
            p2=pk0+pk1+pMx+pDx;
            if p2<p
               p=p2;
            end;   
            Mx=real(Mx1);
            Dx=real(Dx1);
            k0=k01;
            k1=k11;
        end;    
        
      % Запись результатов в массивы
        kmas(ind)=k;
        Mxmas(ind)=Mx;
        Dxmas(ind)=Dx;
        s1=num2str(Mx);
        s2=num2str(sqrt(Dx));
        s =strcat('normcdf(M,',s1,',',s2,')-normcdf(-M,',s1,',',s2,')-0.8');
        M(ind)=fsolve(inline(s),0);
       if Mxmin>M(ind)
          Mxmin=M(ind);
          nomer=ind;
       end;
        ind=ind+1;
  end;      
 
 %построение графика зависимости мат.ожидания от k
 figure
plot(kmas,Mxmas)
grid on;
Xlabel('k');
Ylabel('Mx');
 
 %построение графика зависимости дисперсии от k
 figure
plot(kmas,Dxmas)
grid on;
Xlabel('k');
Ylabel('Dx');
 
 %построение графика зависимости M от k
 figure
plot(kmas,M)
grid on;
Xlabel('k');
Ylabel('M');
 
%вывод данных
Mxmin
Dx  
k=kmas(nomer)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.02.2016, 00:27
Ответы с готовыми решениями:

Как исправить ошибку в коде - Input argument "z" is undefined
function = Runge(z,t) global b0 b1 b2 b3 b4 b5 W alpha0; if z(2) == 0 %проверка на деление на ноль delta = 0; %угол между...

Как исправить исправить ошибку в коде
Здравствуйте,помогите пожалуйста исправить ошибку в коде.using System; using System.Threading; namespace Gorokhov_2 { class...

Исправить ошибку в коде
Procedure Exchange(prev,tail: PList); var p1, p2: PList; begin {Exchange} while p1&lt;&gt;tail do begin p1:=prev^.next; ...

7
 Аватар для Krasme
7246 / 5099 / 2151
Регистрация: 02.02.2014
Сообщений: 13,460
17.02.2016, 07:12
Matlab M
1
Undefined function or variable 'mx'.
неизвестная переменная mx
0
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 23
17.02.2016, 21:45  [ТС]
А можете подсказать, как это исправить?
0
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
17.02.2016, 21:57
Может вместо мх надо задать Мх?
Мх у Вас в 8-й строке есть.
0
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 23
19.02.2016, 01:38  [ТС]
А можете скинуть ссылку на рабочую версию матлаба?

Добавлено через 25 минут
Так смотрите, в 8 строчке там другая переменная. А дальше задается mx в 19 строчке.
0
 Аватар для Krasme
7246 / 5099 / 2151
Регистрация: 02.02.2014
Сообщений: 13,460
19.02.2016, 07:10
Цитата Сообщение от Ford James Посмотреть сообщение
А можете скинуть ссылку на рабочую версию матлаба?
которая автоматически исправляет все ваши ошибки?

разберитесь со своими переменными, matlab различает регистры
судя по 24 и 25 строками, везде должно стоять Mx, Dx Mx1, Dx1
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
19.02.2016, 07:33
Цитата Сообщение от Ford James Посмотреть сообщение
А дальше задается mx в 19 строчке.
В 19 строчке задаётся mx1. Как нетрудно догадаться, это не mx.
0
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 23
29.02.2016, 00:14  [ТС]
Krasme, все исправил, но теперь ошибка: Undefined function or method 'uiimport' for input arguments of type 'char'.

Добавлено через 21 секунду
Centurio, не помогло ничего

Добавлено через 12 минут
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
79
% ИСХОДНЫЕ ДАННЫЕ СОГЛАСНО ВАРИАНТУ
a=5; 
d=1; 
T1=0.5;
T2=3;
% ЗАДАЁМ С 0 ДО 1
    k0=1;
    k1=1;
    Mx=1;
    Dx=1;
    M_min=1;
    i=1;
    nom=0;
    for k=4:0.001:20% НАЧИНАЕМ С 4, ТАК КАК ТОЧНОСТЬ МЕТОДА НЕ ПОЗВОЛЯЕТ ВЫБРАТЬ БОЛЬШИЙ ДИАПАЗОН С ЗАДАННЫМ ШАГОМ   
        N=1;% ЗАДАЁМ ЗНАЧЕНИЕ НЕВЯЗКИ
        while N>0.01
          
            % СИСТЕМА НЕЛИНЕЙНЫХ УРАВНЕНИЙ (29)
            k01=(2/Mx)*erf(real((Mx/((Dx)^0.5))));
            k11=(1/(2*(Dx^0.5)))*(sqrt(1-4*(erf(real(Mx/((Dx)^0.5))))^2)+(2/sqrt(2*pi))*exp(-(1/2)*(Mx/(Dx^0.5))^2));
            Mx1=2.5/(1+k0*k);
            Dx1=((k1*k1*k*k*d*(T1*T2*(T1+T2+T1*T2*a)))/(T1*T2*(1+k*k1)*((T1+T2+T1*T2*a)*(T1*a+T2*a+1+k*k1)+(T1*T2*a+k*k1*a*T1*T2))))^0.5;
            
            N1=(k01-k0)^2+(k11-k1)^2+(Mx1-Mx)^2+(Dx1-Dx)^2;
            if N1<N
                N=N1;
            end;
           Mx=real(Mx1);
           Dx=real(Dx1);
           k0=k01;
           k1=k11;
        end;
        
    % ФОРМИРОВАНИЕ МАССИВОВ
    % Преобразование массива в строку символов st1-2 с точностью до четырех десятичных разрядов и экспоненциальным представлением
    % Горизонтальное объединение соответствующих рядов массивов символов
    % st1, st2 в единный массив str(ряд) результирующего массива. В normcdf передаём неизвестное М
    % st1 - массив(строка) значений мат.ожидания от k
    % st2 - массив(строка) значений СКО от k
        kmas(i)=k;
        M_mas(i)=Mx;
        Dxmas(i)=Dx;
        st1=num2str(Mx);
        st2=num2str(sqrt(Dx));
        st=strcat('normcdf(M,',st1,',',st2,')-normcdf(-M,',st1,',',st2,')-0.8');
        M(i)=fsolve(inline(st),0);
       if M_min>M(i)
           M_min=M(i);
           nom=i;
       end;
        i= i+1;
end;
 
% Построение графика зависимости М от k
figure
plot(kmas, M, '.c')
grid on;
title('M(k)'); 
xlabel('k'); 
ylabel('M'); 
% Построение графика зависимости дисперсии от k
figure
plot(kmas,Dxmas, '.r')
grid on;
title('Dx(k)'); 
xlabel('k'); 
ylabel('Dx'); 
% Построение графика зависимости Мат.ожидание от k
figure
plot(kmas, M_mas, '.b')
grid on;
title('Mx(k)'); 
xlabel('k'); 
ylabel('Mx'); 
% Вывод данных:
Mx=real(Mx)
Dx=real(Dx)
M=real(M_min)
k=kmas(nom)
вот код
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.02.2016, 00:14
Помогаю со студенческими работами здесь

Исправить ошибку в коде
1 код main() { int n; int z; int i, j; ... */ ввод z */ if z&gt;z for(i=0; i&gt;n; i++) z=z; }

Исправить ошибку в коде
const n=15; type student = record name: string; group: integer; marks: array of 2..5; end; myfile = file of student; var...

Исправить ошибку в коде с++
Помогите исправить ошибку в коде: CString m_showlink; CRec1-&gt;GetFieldValue(&quot;Ïóòü&quot;,CValue); m_showlink = CValue.pbVal; ...

Исправить ошибку в коде
program v1; const n=10; var a:array of integer; i:integer; begin for i:=1 to n do read(a); for i:=1 to n do if (a&lt;0)and (a...

Исправить ошибку в коде
помогите исправить ошибку... есть файл в котором записаны 5 строк: имя цифры город нужно создать новый файл и записать туда только...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru