How to plot a linear function?
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Jenni
am 7 Feb. 2024
Kommentiert: William Rose
am 9 Feb. 2024
Hey!
Here is my function and I am trying to plot a linear function in form:
y = b_0 + b_1x.
How could I plot this function using the result values b_0 and b_1?
Here is my function code called "sovittaja":
function [b, bci] = sovittaja(x,y,delta_y)
%%Helper variables:
s_1 = sum(1./(delta_y.^2));
s_2 = sum((x.*y)./(delta_y.^2));
s_3 = sum(x./(delta_y.^2));
s_4 = sum(y./(delta_y.^2));
s_5 = sum(x.^2./(delta_y.^2));
%%Defining D:
D = (s_1*s_5)-(s_3)^2;
%%Analyyttiset lausekkeet:
b_1 = (1/D)*((s_1)*(s_2)-(s_3)*(s_4));
b_0 = (1/D)*((s_5)*(s_4)-(s_3)*(s_2));
%%Margin of errors:
delta_b_1 = sqrt((1/D)*(s_1));
delta_b_0 = sqrt((1/D)*(s_5));
%%Indexs of matrix bci :
bci_11 = b_0 - delta_b_0;
bci_12 = b_1 - delta_b_1;
bci_21 = b_0 + delta_b_0;
bci_22 = b_1 + delta_b_1;
%% Return values:
b = [b_0, b_1];
bci = [bci_11,bci_12;bci_21,bci_22];
And here is what I want to do with the function "sovittaja":
clear all
close all
% Measurement:
i=[1,2,3,4,5]';
% Frequency:
x=[519,549,688,740,821]';
% Voltage:
y=[1.0,1.2,1.9,2.4,2.3]';
% Margin of Error:
delta_y=[0.15,0.40,0.20,0.30,0.10];
sovittaja(x,y,delta_y)
So, how could I plot my result to a linear function y = b_0 + b_1x?
And additional question: How could I do the same thing by using command fitlm?
Thank you for the help!
2 Kommentare
John D'Errico
am 7 Feb. 2024
Bearbeitet: John D'Errico
am 7 Feb. 2024
Why would you want to use fitlm to plot a line? It is not a tool that creates plots. So what are you asking? I think you want to know a tool that can fit a line through your points, using some given weights at those points. I am not entirely sure if the "margin of error" is a set of weights, or it is a set of hard constraints that the line is not allow to pass.
Plotting a line is easy enough, even trivial. Choose two points on the line. Plot them, connecting them with a line.
William Rose
am 7 Feb. 2024
The fitlm help at https://www.mathworks.com/help/stats/fitlm.html is very nice. Read it, try the examples, and you will be good.
Akzeptierte Antwort
William Rose
am 7 Feb. 2024
Bearbeitet: William Rose
am 8 Feb. 2024
[edit: Fix typo: change "values at" to "values are"]
It looks like you want to plot measured data as well as the best-fit straight line.
The measured values are x and y. The predicted values are x and b(0)+b(1)*x.
Please see the instructions and examples here https://www.mathworks.com/help/matlab/ref/plot.html
plot(x,y,'r*',x,b(0)+b(1)*x,'--r');
It also seems like you might want error bars on your plot. If so, see the description and the examples here:
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Linear and Nonlinear Regression finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!