how to plot a mean line in a plot

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 个评论

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.

请先登录,再进行评论。

 采纳的回答

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?
.

更多回答(2 个)

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

类别

帮助中心File Exchange 中查找有关 Graphics Performance 的更多信息

产品

版本

R2022b

标签

Community Treasure Hunt

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

Start Hunting!

Translated by