Подгонка уравнения к набору данных

Редактировать:Я только что понял, что first, second— это просто заполнители для ваших настоящих имен каталогов, верно? В этом случае вместо псевдонима вы можете создать функцию в своем~/.bashrc:

function pipe(){
    first=$1
    second=$2

    cd -- "$first"; pwd; ls; cd -- "$second"; ls
}

Источник вашего ~/.bashrc, а затем вы можете вызвать канал с 2 входными аргументами (имена ваших firstи secondкаталогов:

pipe first_dir_name second_dir_name   

=====

Вы можете создать псевдоним для этой серии команд.

Добавьте в ~/.bashrcследующую строку:

# 'pipe' is the name of your alias, you can choose any name you want

alias pipe="cd first; pwd; ls; cd second; ls" 

Источник вашего ~/.bashrcфайла:

. ~/.bashrc

Теперь вы можете начать выполнять pipeв своем терминале, который будет выполнять вашу серию команд. Конечно, вы должны убедиться, что вы вызываете pipeиз правильного каталога, который позволяет вам cdв каталоги firstи second.

1
16.08.2020, 10:40
3 ответа

GNUPlot :CLI-решение

Предположим, что data.dat— это файл, содержащий данные.

$ gnuplot
gnuplot> fit a*x**2 + b*x + c 'data.dat' via a, b, c
(...)
Final set of parameters            Asymptotic Standard Error
=======================            ==========================
a               = 22.2174          +/- 1.09         (4.906%)
b               = -51.7961         +/- 2.53         (4.885%)
c               = 30.5745          +/- 1.468        (4.802%)
(...)

Дополнительные параметры см. в разделе Подгонка документации .

Вы также можете напрямую подключиться к GNUPlot:

printf '%s\n' 'fit a*x**2 + b*x + c "data.dat" via a, b, c' | gnuplot
5
18.03.2021, 23:23

XMGrace (также известная как Grace ):Решение с графическим интерфейсом

Предположим, что data.dat— это файл, содержащий данные.

xmgrace data.dat

Появится окно XMGrace с кривой, представляющей данные.

На панели инструментов выберите Data > Transformations > Regression. Выберите Type of Fit: Quadraticи Accept.

Будет построена новая кривая с подгонкой, и появится «консоль»:

(...)
y = 30.575 - 51.796 * x + 22.217 * x^2
(...)

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

A view of XMGrace

XMGrace также предлагает интерфейс командной строки, хотя в нем отсутствуют некоторые функции. Вы можете узнать больше, посетив документацию .

4
18.03.2021, 23:23

Решение на R через интерфейс командной строки

Первый тип терминала в LinuxR

Потом

data.dat<-read.table(textConnection("a b c
1.12158 0.42563 0.07
1.12471 0.42112 0.07
1.12784 0.41685 0.07
1.13097 0.41283 0.07
1.13409 0.40907 0.07
1.13722 0.40556 0.07
1.14035 0.40231 0.07
1.14348 0.39933 0.07
1.1466 0.39661 0.07
1.14973 0.39417 0.07
1.15285 0.39201 0.07
1.15598 0.39012 0.07
1.15911 0.38852 0.07
1.16224 0.3872 0.07
1.16536 0.38618 0.07
1.16849 0.38544 0.07
1.17162 0.385 0.07
1.17474 0.38486 0.07
1.17787 0.38543 0.07
1.181 0.38714 0.07
1.18413 0.38994 0.07
1.18725 0.39378 0.07
1.19038 0.39858 0.07
1.19351 0.40426 0.07
1.19664 0.41071 0.07
1.19976 0.41786 0.07"),header=TRUE)

Тогда

plot(data.dat$a,data.dat$b,col="red",type="b")

Scatterplot in R

Для решения используйте следующее

fit<-lm(data.dat$b~poly(data.dat$a,2,raw=TRUE))
summary(fit)

Call:
lm(formula = data.dat$b ~ poly(data.dat$a, 2, raw = TRUE))

Residuals:
       Min         1Q     Median         3Q        Max 
-0.0041754 -0.0021479  0.0004573  0.0019714  0.0059427 

Coefficients:
                                 Estimate Std. Error t value Pr(>|t|)    
(Intercept)                        30.575      1.468   20.83  < 2e-16 ***
poly(data.dat$a, 2, raw = TRUE)1  -51.796      2.530  -20.47 2.91e-16 ***
poly(data.dat$a, 2, raw = TRUE)2   22.217      1.090   20.38 3.20e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.002729 on 23 degrees of freedom
Multiple R-squared:  0.9568,    Adjusted R-squared:  0.9531 
F-statistic:   255 on 2 and 23 DF,  p-value: < 2.2e-16

1
18.03.2021, 23:23

Теги

Похожие вопросы