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

Найти параметры, сведя исходную задачу к линейной задаче метода наименьших квадратов

08.11.2018, 16:32. Показов 3252. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Зависимость между величинами x и y описывается функцией y=f(x, a, b), где a и b – неизвестные параметры. Найти эти параметры, сведя исходную задачу к линейной задаче метода наименьших квадратов.
УКАЗАНИЕ. Свести исходную задачу к линейной задаче МНК можно, сделав подходящую замену переменных. Например, если исходная зависимость имеет вид y=e^(a+b(x^2)), то прологарифмировав исходное равенство и введя новые переменные s = ln(y) и t = x^2 , получаем задачу об определении коэффициентов линейной зависимости s= a+b t.

x = 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1
y = 0.479 0.7562 0.9184 1.0335 1.1227 1.1957 1.2573 1.3107 1.3579 1.4 1.4381
Функция: y=a+b*ln(x)

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

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
x = [0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1];
y = [0.479 0.7562 0.9184 1.0335 1.1227 1.1957 1.2573 1.3107 1.3579 1.4 1.4381];
s=log(y);
t=x.^2;
p=polyfit(t,s,1);
for i=1:1:11
k(i)=p(1)+p(2)*log(x(i)); 
end
disp(p);
plot(x,y);
hold on
plot(x,k);
hold off
grid on;
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.11.2018, 16:32
Ответы с готовыми решениями:

Методом наименьших квадратов найти параметры нелинейной зависимости
Друзья, помогите пожалуйста! Задача: методом наименьших квадратов найти параметры нелинейной зависимости y=a*x/(b+x). Исходные данные: x=(2...

Найти МНК(Метода наименьших квадратов) оценки
Найти оценку a и b спомощью метода наименьших квадратов. ax+bx2+E Y= (2, 4, 5, 1, 0) X= (-1, 2, 3, 2, 1) Если с решением...

Метод наименьших квадратов для линейной функции
Подскажите, как, не используя специальных функций матлаба, реализовать метод наименьших квадратов для функции y=a*e^(bx)+c. Нужно еще...

3
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
12.11.2018, 20:50
Лучший ответ Сообщение было отмечено polzov как решение

Решение

polzov, у вас проблема не в коде, а в самом понимании, как делать замену переменных. Вы тупо переписали замену с примера, тогда как ваша функция имеет совсем другой вид. И, кстати, она проще, чем функция в примере. Надо выполнить всего лишь замену t=ln(x).
Matlab M
1
2
3
4
5
6
x = [0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1];
y = [0.479 0.7562 0.9184 1.0335 1.1227 1.1957 1.2573 1.3107 1.3579 1.4 1.4381];
t=log(x);
p=polyfit(t,y,1)
k=polyval(p,t);
plot(x,k,x,y,'o')
1
0 / 0 / 0
Регистрация: 11.10.2018
Сообщений: 6
14.11.2018, 14:39  [ТС]
А можно ли как-то вывести два графика и их сравнить?

Добавлено через 1 час 40 минут
Не подскажет как вывести два графика? Исходный и тот что должен получиться?
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
14.11.2018, 14:52
Цитата Сообщение от polzov Посмотреть сообщение
Исходный и тот что должен получиться?
А на графике из кода Centurio Вы что видите? Синий график - это что? А круглые точки - это что?

Вот немного улучшенный код (график более гладкий)
Matlab M
1
2
3
4
5
6
7
8
9
x = [0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1];
y = [0.479 0.7562 0.9184 1.0335 1.1227 1.1957 1.2573 1.3107 1.3579 1.4 1.4381];
t=log(x);
p=polyfit(t,y,1)
x1=x(1):(x(end)-x(1))/200:x(end);
t1=log(x1);
y1=polyval(p,t1);
plot(x1,y1,'r',x,y,'o')
grid on
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.11.2018, 14:52
Помогаю со студенческими работами здесь

Реализация метода наименьших квадратов
Добрый день. Нужна помощь в решении задачи: Нужно разработать программу, которая реализует метод найменьших квадратов для линейной функции...

Аналог метода наименьших квадратов
Здравствуйте. Есть график, его примерный вид на приложенной картинке. Именно примерный, в реальности график строится по сотням точек и...

GUI метода наименьших квадратов
По заданию нужно создать GUI метода наименьших квадратов, и проверить полученные корни 3-мя любыми методами. В качестве методов взял...

Использование метода наименьших квадратов по формуле ax^2+bx
Здравствуйте. Помогите пожалуйста объяснить выделенное место в коде: это один из методов класса для аппроксимации функции ax^2+bx, где...

Нарисовать функцию с использованием метода наименьших квадратов
Всем привет, снова нужна помощь с задачей, звучит так: Метод наименьших квадратов. Функция задается своими значениями в узловых точках....


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
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
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru