|
0 / 0 / 0
Регистрация: 28.03.2014
Сообщений: 42
|
|
Аппроксимировать набор точек многочленом28.03.2014, 13:31. Показов 9596. Ответов 51
Здравствуйте, очень нужна ваша помощь! задана функция f(x)=a0+a1*x+a2*x^2+a3*x^3+а4*x^4 , нужно построить график и найти коэффициенты а0, а1, а2, а3, а4. значение функция f(x) задано (несколько значений) и x заданы (отрезок значений). как это все сделать, запуталась... воспользоваться наверно нужно это командой p0 = polyfit(x,y,0)
p1 = polyfit(x,y,1) p2 = polyfit(x,y,2) p3 = polyfit(x,y,3) p4 = polyfit(x,y,4), запишу значения x = 1:5 а как y записать, который имеет несколько значений и все остальной сделать, не получается
0
|
|
| 28.03.2014, 13:31 | |
|
Ответы с готовыми решениями:
51
Не используя стандартных функций, аппроксимировать заданную функцию многочленом n-й степени по МНК
|
|
|
|
| 02.04.2014, 16:48 | |
|
Matlab M format longgMatlab M p(1), p(2), p(3), p(4), p(5)
0
|
|
|
0 / 0 / 0
Регистрация: 28.03.2014
Сообщений: 42
|
|
| 02.04.2014, 16:57 [ТС] | |
|
просто вот так написать? p(1), p(2), p(3), p(4), p(5)
0
|
|
|
0 / 0 / 0
Регистрация: 28.03.2014
Сообщений: 42
|
|
| 02.04.2014, 17:15 [ТС] | |
|
спасибо!
0
|
|
|
0 / 0 / 0
Регистрация: 28.03.2014
Сообщений: 42
|
|
| 08.04.2014, 21:01 [ТС] | |
|
Здравствуйте!
еще нужна ваша помощь. как записать программу в матлаб для вычисления параметров вот такого полиномаf(x,y)= p0+p1x+p2y+p3xy+p4*x^2+p5*y^2+....и т.д.
0
|
|
|
53 / 53 / 14
Регистрация: 26.02.2014
Сообщений: 150
|
|
| 09.04.2014, 00:13 | |
|
Непонятно. Что у на входе, что надо получить?
Найти коэффициенты по известным значениям (т.е. аналог polyfit)? Нет проблем. Но все-таки уточните задачу.
1
|
|
|
0 / 0 / 0
Регистрация: 28.03.2014
Сообщений: 42
|
|
| 09.04.2014, 11:29 [ТС] | |
|
до этого задача была, там была одна плоскость, там координата y просто этой буквой была названа, на самом деле это не y. f(x)=a0+a1*x+a2*x^2+a3*x^3+а4*x^4. а сейчас задача уже в двух плоскостях x и y.
f(x,y)= а0+а1*x+а2*y+а3*x*y+а4*x^2+а5*y^2+....и т.д. мне программу записывать так же, только добавится еще одна координата ? y = [.......] - диапазон координаты y x= [........] - диапазон координаты x s= [.......] p=polyfit(x,y,s,5); x1=[x(1):0.000001:x(end)]; y1=[y(1):0.000001:y(end)] s1=polyval(p,x1,y1); % значения полинома plot(x,y,s,'+', x1,y1,s1'-');
0
|
|
|
53 / 53 / 14
Регистрация: 26.02.2014
Сообщений: 150
|
|
| 09.04.2014, 16:16 | |
|
polyfit только для одной координаты.
Есть двумерные аналоги, сделанные любителями. Погуглите polyfit2d
0
|
|
|
0 / 0 / 0
Регистрация: 28.03.2014
Сообщений: 42
|
|
| 09.04.2014, 16:27 [ТС] | |
|
имерно во так сделать http://www.mathworks.com/matla... olyFit2D.m
0
|
|
|
53 / 53 / 14
Регистрация: 26.02.2014
Сообщений: 150
|
|
| 09.04.2014, 16:31 | |
|
вам помочь скопировать?
0
|
|
|
0 / 0 / 0
Регистрация: 28.03.2014
Сообщений: 42
|
|
| 09.04.2014, 16:37 [ТС] | |
|
я не совсем понимаю эту программу. а количество значений в x,y,f так же должно быть одинаковым?
0
|
|
|
53 / 53 / 14
Регистрация: 26.02.2014
Сообщений: 150
|
|||||||||||
| 09.04.2014, 17:26 | |||||||||||
|
В общем да, реализация не самая понятная, да и незаконченная.
Я дам сначала общую идею. Положим, у вас есть 3 столбца X, Y, F, все высоты N, где первые два - координаты точек на плоскости, третий - значения функции в этих точках. Вы хотите, допустим, аппроксимировать эту функцию полиномом, состоящим из разных степеней x и у, скажем f= a0 + a1*x + a2*y + a3*x*y + a4*x*x Тогда действия такие. 1. составить матрицу М, в которой каждому элементу полинома x^i * y^j соответствует колонка его значений У функции f есть такие элементы: 1, x, y, xy, xx Тогда
задача решена. Предлагаю поэкспериментировать с нахождением коэффициентов для разных полиномов. Продолжение будет, когда усвоите эту часть.
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 28.03.2014
Сообщений: 42
|
|
| 09.04.2014, 22:25 [ТС] | |
|
вот так примерно программа будет выглядеть? только я пока не писала значения матриц f, x,y. и в расчете вектора M надо перебрать написать все комбинации X и Y, если у меня будет 14 коэффициентов полиномов а0...а14.
f = []; % значения функции x = []; % матрица x y = []; % матрица y function p = polyFit2D(f,x,y,14) % вектор из коэффициентов а0...а14 M=[ones(N,1) X Y X.*Y X.*X Y.*Y X.*Y.*Y Y.*X.*X X.*X.*X Y.*Y.*Y]; A=M\F; % коэффициенты полинома
0
|
|
|
53 / 53 / 14
Регистрация: 26.02.2014
Сообщений: 150
|
|
| 10.04.2014, 00:26 | |
|
да, суть именно такая.
в программе по вашей ссылке эти комбинации строились автоматически, но как-то не очевидным способом.
0
|
|
|
0 / 0 / 0
Регистрация: 28.03.2014
Сообщений: 42
|
|
| 10.04.2014, 11:37 [ТС] | |
|
что то матлабу не нравится эта функция, ошибку выдает
f = [3.3422e8 4.5673e8 3.5427e8 3.4372e8 4.4732e8 3.5401e8 3.2741e8 4.2791e8 3.5933e8 ]; % значения функции x = [0 0.5e-4 1e-4 0 0.5e-4 1e-4 0 0.5e-4 1e-4 ]; % матрица x y = [0 0 0 0.5e-4 0.5e-4 0.5e-4 1e-4 1e-4 1e-4 ]; % матрица y function p = polyFit2D(f,x,y,4) % вектор из коэффициентов а0...а14 M=[ones(N,1) X Y X.*Y X.*X Y.*Y X.*Y*Y Y.*X*X X.*X*X Y.*Y*Y X.*Y*Y*Y X.*X*Y*Y Y.*X*X*X X.*X*X*X Y.*Y*Y*Y]; A=M\F; % коэффициенты полинома
0
|
|
|
53 / 53 / 14
Регистрация: 26.02.2014
Сообщений: 150
|
|
| 10.04.2014, 12:01 | |
|
Ксюня, я же писал - X,Y,F - *столбцы*. А у вас строки.
0
|
|
|
0 / 0 / 0
Регистрация: 28.03.2014
Сообщений: 42
|
|
| 10.04.2014, 13:00 [ТС] | |
|
вот так тогда? но она тоже не работает
clc x = [0 0.5e-4 1e-4 0 0.5e-4 1e-4 ]; % матрица x y = [0 0 0 0.5e-4 0.5e-4 0.5e-4 ]; % матрица y f = [3.3422e8 4.5673e8 3.5427e8 3.4372e8 4.4732e8 3.5401e8 ]; % значения функции function p = polyFit2D(f,x,y,4) % вектор из коэффициентов а0...а14 M=[ones(6,1) X Y X.*Y X.*X Y.*Y X.*Y*Y Y.*X*X X.*X*X Y.*Y*Y X.*Y*Y*Y X.*X*Y*Y Y.*X*X*X X.*X*X*X Y.*Y*Y*Y]; A=M\F; % коэффициенты полинома
0
|
|
|
53 / 53 / 14
Регистрация: 26.02.2014
Сообщений: 150
|
|
| 10.04.2014, 15:59 | |
|
столбец можно писать так [1; 2; 3; 4]
или так [1 2 3 4]' дальше в коде сплошые косяки. в объявлении функции аргументы f,x,y, в теле X,Y,Z, для матлаба это разные переменные. что за "4" в списке аргументов? что за "6" в ones(6,1)?
0
|
|
|
0 / 0 / 0
Регистрация: 28.03.2014
Сообщений: 42
|
|
| 10.04.2014, 17:52 [ТС] | |
|
4 это степень (ну то что максимальная степень 4 будет) , а 6 это то что высота матрицы x,y,f (ее значений) 6 .
0
|
|
|
53 / 53 / 14
Регистрация: 26.02.2014
Сообщений: 150
|
|||||||||||
| 11.04.2014, 01:53 | |||||||||||
|
Ксюня, в аргументах функции описываются ПЕРЕМЕННЫЕ, корорые ей будут передаваться!
Там не может быть никакий констант! Употребление "6" более осмысленное, но что делать, если понадобится другой размер? Переписывать функцию? К вашему сведению, размер вектора можно узнать аж тремя функциями:
1
|
|||||||||||
| 11.04.2014, 01:53 | |
|
Аппроксимировать многочленом L2(x)
Разбить набор точек по три по правилу
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|