I need help with plotting

6 views (last 30 days)
Dani German
Dani German on 25 Apr 2022
Commented: Dani German on 25 Apr 2022
I can't get it to plot this. I don't know how to write this in matlab up=u1*(t>=0)*(y<=tpulssi)+u2*(t>=tpr*2)*(t<=tpr*2+tpulssi); I need it to plot it like this:
clear
close all
syms t
Zc=300;
R=100;
s=100;
v=300/(1*10^-6)
tpulssi=s/v
k=-1000/tpulssi
p=(R-Zc)/(R+Zc)
s2=25
tpr=s2/v
%heijastuva
t=0:0.001*10^-6:1*10^-6;
u1=k*t+abs(k)*tpulssi;
u2=p*k*t-abs(p*k*(2*tpr+tpulssi));
up=u1*(t>=0)*(y<=tpulssi)+u2*(t>=tpr*2)*(t<=tpr*2+tpulssi);
figure(1)
plot(t,up);
hold on
plot(t,u2)
hold on
plot(t,up)
hold off

Accepted Answer

Chunru
Chunru on 25 Apr 2022
Edited: Chunru on 25 Apr 2022
syms t
Zc=300;
R=100;
s=100;
v=300/(1*10^-6)
v = 300000000
tpulssi=s/v
tpulssi = 3.3333e-07
k=-1000/tpulssi
k = -3.0000e+09
p=(R-Zc)/(R+Zc)
p = -0.5000
s2=25
s2 = 25
tpr=s2/v
tpr = 8.3333e-08
%heijastuva
t=0:0.001*10^-6:1*10^-6;
u1=k*t+abs(k)*tpulssi;
u2=p*k*t-abs(p*k*(2*tpr+tpulssi));
% need the .* (or array operation)
up=u1.*(t>=0).*(t<=tpulssi)+u2.*(t>=tpr*2).*(t<=tpr*2+tpulssi);
figure(1)
plot(t,u1, 'DisplayName', 'u1')
hold on
plot(t,u2, 'DisplayName', 'u2')
hold on
plot(t,up, 'k', 'LineWidth', 2, 'DisplayName', 'up');
legend
grid on
hold off

More Answers (0)

Categories

Find more on Line Plots in Help Center and File Exchange

Tags

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!