how to plot a mean line in a plot

11 views (last 30 days)
Hello everyone!
Could you please help me with a plot. When I plot a mean v, it plots differently as 0. I need to mean line to be at the same angle as my fluctuations.
My code is:
clear all; close all;
N=100;
t = (0:N);
t1=(0:N-1);
t2=(0:N-1);
tt = rand(1,N) * 2 * pi;
ang = rand(1,N) * 2 * pi;
amp_u = 2;
amp_v = 1;
amp_w = 0.5;
u_mean=2;
v_mean=1;
w_mean=1;
u1 = amp_u.*sin(100*t2)+u_mean;
v1 = sin(ang) .* amp_v+v_mean;
w1=sin(ang) .* amp_w+w_mean;
u = cumsum([2, u1]);
x(1:N)=mean(u1);
v = cumsum([2, v1]);
w = cumsum([2, w1]);
figure(1); plot(t,u);
hold on
plot(t1,x);
  1 Comment
Dyuman Joshi
Dyuman Joshi on 27 Feb 2023
Mean will be a scalar, constant value and it plots accordingly as well.
"When I plot a mean v ..."
You are not plotting v in your code above.
"I need to mean line to be at the same angle as my fluctuations."
Can you explain what do you mean by this? Perhaps a figure will be more helpful.

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 27 Feb 2023
I need to mean line to be at the same angle as my fluctuations.
You apparently want the linear regression of ‘u1’ as a function of ‘t1’ not the mean of ‘u1’.
Try this —
% clear all; close all;
N=100;
t = (0:N);
t1=(0:N-1);
t2=(0:N-1);
tt = rand(1,N) * 2 * pi;
ang = rand(1,N) * 2 * pi;
amp_u = 2;
amp_v = 1;
amp_w = 0.5;
u_mean=2;
v_mean=1;
w_mean=1;
u1 = amp_u.*sin(100*t2)+u_mean;
v1 = sin(ang) .* amp_v+v_mean;
w1=sin(ang) .* amp_w+w_mean;
u = cumsum([2 u1]);
% x(1:N)=mean(u1);
B = [t(:) ones(size(t(:)))] \ u(:); % Linear Regression Parameters
x = [t2(1) 1; t2(end) 1] * B; % Linear Regression Evaluation
v = cumsum([2, v1]);
w = cumsum([2, w1]);
figure(1)
plot(t,u)
hold on
plot(t1([1 end]),x)
ylim([0 max(ylim)])
While I am thinking about it, do you have any thoughts on my Answer to plot a graph from user input?
.

More Answers (2)

Askic V
Askic V on 27 Feb 2023
Perhaps, you can use this code:
plot(t1,x.*t1);

Sylvain
Sylvain on 27 Feb 2023
Your question is not veary clear, but I think you want to plot:
plot(t,mean(u1)*t)

Categories

Find more on Line Plots in Help Center and File Exchange

Tags

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!