I need help with plotting

조회 수: 6 (최근 30일)
Dani German
Dani German 2022년 4월 25일
댓글: Dani German 2022년 4월 25일
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

채택된 답변

Chunru
Chunru 2022년 4월 25일
편집: Chunru 2022년 4월 25일
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
  댓글 수: 1
Dani German
Dani German 2022년 4월 25일
Awesome answer, thanks for the help.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Line Plots에 대해 자세히 알아보기

태그

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by