Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/29: Рейтинг темы: голосов - 29, средняя оценка - 4.55
2 / 1 / 0
Регистрация: 01.04.2014
Сообщений: 24

Линейная аппроксимация и погрешности

12.02.2018, 14:19. Показов 5983. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Можно ли в Curve Fitting Tool для набора точек сделать линейную аппроксимацию с учётом погрешности по "y"? То есть, что бы в данном графике была определенная погрешность по y. И можно ли высчитать погрешность результата "а"?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.02.2018, 14:19
Ответы с готовыми решениями:

Аппроксимация (регрессия) двух вариантов - линейная и линейная общего вида
Ребят привет. Не могу понять почему не работает...

линейная аппроксимация
здравствуйте. помогите пожалуйста с решением задачки, уже неделю сижу туплю и ничего не получается....: у меня есть матрица значений f;...

Линейная аппроксимация
Здравствуйте. Необходимо решить линейную аппроксимацию двумя способами: ручным и средствами Excel. Возникла проблема, коэффициенты а0 и...

15
2 / 1 / 0
Регистрация: 01.04.2014
Сообщений: 24
12.02.2018, 14:20  [ТС]
P.S. Matlab открыл сегодня утром первый раз и сейчас нет времени разбираться в самом "языке", можно ли это сделать набором стандартных "кнопочек" программы?
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
12.02.2018, 14:29
Цитата Сообщение от Alfrol Посмотреть сообщение
линейную аппроксимацию с учётом погрешности по "y"
Не понял, как это? Погрешность при аппроксимации в подавляющем большинстве случае будет.
1
2 / 1 / 0
Регистрация: 01.04.2014
Сообщений: 24
12.02.2018, 14:32  [ТС]
Сами данные по "У" имеют определённую погрешность и это надо учесть, такое возможно?
А получить погрешность надо у коэффициентов прямой.
0
2 / 1 / 0
Регистрация: 01.04.2014
Сообщений: 24
12.02.2018, 14:38  [ТС]
По факту мне необходимо получить это, только с использование Matlab'a (это принципиально, к сожалению)
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
12.02.2018, 14:51
СдеAlfrol, данные выложите с погрешностями.
0
2 / 1 / 0
Регистрация: 01.04.2014
Сообщений: 24
12.02.2018, 14:58  [ТС]



Error-это должна быть погрешность соответственно для каждой точки по "y"
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
12.02.2018, 15:08
Alfrol, выложите данные вручную. Данных там немного, времени заняло бы не больше, чем делать скриншоты и потом вставлять их, зато правила бы не нарушили. Кроме того, для х явно данные не в полном виде были.
1
2 / 1 / 0
Регистрация: 01.04.2014
Сообщений: 24
12.02.2018, 15:16  [ТС]
x=[0.00336 0.00330 0.00328 0.00324 0.00319 0.00317 0.00315 0.00313 0.00310]
y=[6.56 6.22 6.09 5.89 5.70 5.62 5.49 5.33 3.19]
error=[0.07 0.07 0.06 0.07 0.05 0.08 0.08 0.08 0.010 0.09]
Виноват, извиняюсь
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
12.02.2018, 15:29
Alfrol, у меня с вашими данными получаются другие коэффициенты, не как у вас. Вы не ошиблись в данных?
1
2 / 1 / 0
Регистрация: 01.04.2014
Сообщений: 24
12.02.2018, 15:47  [ТС]
Ох, в y=[... 5.19], а я вам дал 3.19
Ещё раз извиняюсь
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
12.02.2018, 15:56
Alfrol, у вас и в error 10 значений, тогда как y состоит всего из 9 значений.
1
2 / 1 / 0
Регистрация: 01.04.2014
Сообщений: 24
12.02.2018, 16:00  [ТС]
Один 0.08 надо убрать...
0
164 / 134 / 61
Регистрация: 16.05.2015
Сообщений: 372
13.02.2018, 00:24
Alfrol,
Цитата Сообщение от Alfrol Посмотреть сообщение
А получить погрешность надо у коэффициентов прямой.
Вам Curve Fitting пишет: "Coefficients (with 95% confidence bounds)" и далее после значений коэффициентов (в скобках) два числа. Это по сути и есть погрешность вычисленных коэффициентов прямой.

Добавлено через 4 минуты
Alfrol,
Я в том смысле, что если из верхней границы доверительного интервала вычесть нижнюю границу и разделить на 2, то получите абсолютную погрешность с которой определен соответствующий коэффициент модели.
0
2 / 1 / 0
Регистрация: 01.04.2014
Сообщений: 24
13.02.2018, 13:21  [ТС]
Действительно, спасибо.
Но вот как учесть изначальную погрешность у вводимых (по У) точек так и не ясно :с
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
13.02.2018, 15:57
Вопрос рассматриваемый в теме довольно сложный.
И основная проблема в том, что получаемые коэффициенты аппроксимирующей прямой a и b являются зависимыми переменными, а когда представляется результат в виде a(+/-da) и b(+/-db) связь между переменными уже никак не отображается.
Что бы понятнее была проблема на рисунке представлены экспериментальные точки, расчетная аппроксимирующая кривая (красная линия почти закрытая зелеными линиями), и 4 аппроксимирующих прямых (зеленые линии), которые построены по предельным значениям a и b из сообщения #1. Как видно из рисунка, только две из них представляются реальной аппроксимацией, а две находятся очень далеко от положения экспериментальных точек. Причем разумное положение имеют прямые с ( а=4746 b=-9.462 ) и ( a=5442 b=-11.7 )

Вторая проблема - это диапазон разброса точек по y, то что Вы называете точностью по y.
Требуется уточнение понимания что означает некоторое число, например 0.07, являющееся "точностью по y".
В жизни обычно это точность измерения данного параметра, причем обычно считают что распределение параметра y нормальное и указанный параметр является величиной равной трем сигма этого распределения.
Я попытался смоделировать случайное распределение точек по у (величина у определялась по нормальному закону распределения с соответствующим сигма и средним) и определение параметров аппроксимирующей прямой для каждого варианта распределения. В итоге моделирования на 100000 распределений получил что параметры a и b лежат в следующем диапазоне (если считать их распределение нормальным, но проверку на нормальное распределение не делал)
a=5093.818985 (+/- 289.294414)
b=-10.580361 (+/- 0.022784)
Естественно надо помнить, что величины a и b не являются независимыми.

Ниже привожу код с которым баловался
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
clear all;clc;close all;
X=[0.00336 0.00330 0.00328 0.00324 0.00319 0.00317 0.00315 0.00313 0.00310];
Y=[6.56 6.22 6.09 5.89 5.70 5.62 5.49 5.33 5.19];
dY=[0.07 0.07 0.06 0.07 0.05 0.08 0.08 0.010 0.09];
 
nX=length(X);
nY=length(Y);
ndY=length(dY);
if nX~=nY || nY~=ndY
    disp('Несоответствие размеров массивов');
    return;
end
X2=X.^2;
XY=X.*Y;
XdY=X.*dY;
a=(nX*sum(XY)-sum(X)*sum(Y))/(nX*sum(X2)-sum(X)^2)
b=(sum(Y)-a*sum(X))/nX
 
da=(nX*sum(XdY)-sum(X)*sum(dY))/(nX*sum(X2)-sum(X)^2)
db=(sum(dY)+da*sum(X))/nX
 
xmin=min(X);
xmax=max(X);
x=[xmin xmax];
y=a*x+b;
 
errorbar(X,Y,dY,'xb');
hold on
plot(x,y,'r');
grid on
%hold off
 
N=100000;
a1=zeros(1,N);
b1=zeros(1,N);
zn=nX*sum(X2)-sum(X)^2;
sX=sum(X);
for i=1:N
    Y1=randn(1,nY).*dY/3+Y;
    XY1=X.*Y1;
    a1(i)=(nX*sum(XY1)-sX*sum(Y1))/zn;
    b1(i)=(sum(Y1)-a*sX)/nX;
end
a1sr=mean(a1)
b1sr=mean(b1)
a1min=min(a1)
a1max=max(a1)
b1min=min(b1)
b1max=max(b1)
a1d=var(a1);
b1d=var(b1);
str=sprintf('a=%f (+/- %f)',a,3*sqrt(a1d));
disp(str)
str=sprintf('b=%f (+/- %f)',b,3*sqrt(b1d));
disp(str)
 
%b2=[b-3*sqrt(b1d) b-3*sqrt(b1d) b+3*sqrt(b1d) b+3*sqrt(b1d)];
%a2=[a-3*sqrt(a1d) a+3*sqrt(a1d) a-3*sqrt(a1d) a+3*sqrt(a1d)];
a2=[4746 5442 5442 4746];
b2=[-11.7 -11.7 -9.462 -9.462]; 
for j=1:4
    y2=a2(j)*x+b2(j);
    plot(x,y2,'g');
end
Миниатюры
Линейная аппроксимация и погрешности  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.02.2018, 15:57
Помогаю со студенческими работами здесь

МНК. Линейная аппроксимация
здравствуйте! помогите, пожалуйста. Написал код по всем правилам, но не хочет выполнять. Скорее всего, проблемы с чтением из файла. Само...

Линейная и квадратичная аппроксимация
Как в MathCAD Решить задачу Аппроксимация Линейная, квадратичная? Только начал изучать MathCAD...

Кусочно-линейная аппроксимация
Здравствуйте. Задача: есть два массива X и Y (с одинаковым количеством элементов - по 19). Необходимо установить зависимость между...

Кусочно-линейная аппроксимация
Вобщем нужно сделать кусочно-линейную аппроксимацию. Все данные ввожу в соответствии с заданием а аппроксимированной функции на графике не...

Аппроксимация.Линейная интерполяция
Здравствуйте!Помогите,пожалуйста,найти ошибку в коде.Высчитывает неверные корни. #include<iostream> #include<math.h> ...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru