Перейти к содержанию
    

Здравствуйте, помогите пож-а сделать плавный график у функции в Matlabe

 

Собственно строится график в логарифмическом масшатбе по одной из осей. x1, y1...xn,y1 - массивы одинакового размера(строка), по 10 элементов в каждом

Строю по функции:

semilogy(x1, y1, x2, y1, x3, y1, x4, y1, x5, y1, x6, y1);

Получается слишком угловато(т.к мало значений). Пробовал стандартные функции сглаживания(Сплайн, полиномы и т.д)

Но получается далековато от реальных значений. Непонятные выбросы.

 

Когда то давно пользовался функцией

function [ploValFun] = approFun(valFun)

koeffPol = 10;

lenValFun = length(valFun);

polFitFun = polyfit(1:lenValFun,valFun,koeffPol);

outPol = polFitFun(2);

ploValFun = polyval(polFitFun,1:lenValFun);

Но сейчас не получается её пристроить к функции выше.

Изменено пользователем Nidxogg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день!

 

Не очень понятен вопрос. Почему у вас для разных x строится один и тот же y? Это принципиально для вопроса? Или достаточно разобраться со сглаживанием x1,y1? Что именно вы пытаетесь сделать представленной функцией? По идее, вам надо для каждого вектора набрать еще точек внутри интервала и интерполировать на них. Например да, полиномом.

Можете выложить пример данных, чтоб было понятнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте.

Графики строятся по точкам. И отсчеты по Y для всех Х-в одинаковые.

Залил *.fig файл

http://tempfile.ru/file/2447940

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день!

 

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

x=[x values];

y=[y values];

xin=linspace(min(x),max(x),length(x)*10);

yin=10.^interp1(x,log10(y),xin);

semilogy(x,y,xin,yin); grid;

 

Может, вы держите в уме какую-то кривую, которая лежит между точек и хотите описать ее, провести аппроксимацию? Тогда хорошо бы иметь априорные данные о форме кривой, ее уравнении. А затем найти параметры, которые описывают кривую, аппроксимирующую экспериментальные данные.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...