Conversion to logical from sym is not possible.
Show older comments
clc
clear
syms t u r a b c d x y j v t Output STP RMP
p= input('Number of intervals of the signal (Integer value):');
n=0;
a=input('Enter signal starting time:');
b=input('Enter signal function end time:');
while n<p;
double c=input('Enter piecewise initial value:');
double d=input('Enter piecewise final value:');
double x=input('Enter piecewise function lower interval:');
double y=input('Enter piecewise function upper interval:');
double j=input('Enter piecewise function slope:');
double v(t)=input('Enter piecewise function:');
double t=x:y;
if c==d
STP(t)=c*u*ustep(t,-x);
else
RMP(t)=r*ramp(t,j,c);
end
n=n+1;
end
Output=STP+RMP
function y = ramp(t,m,ad)
% ramp generation
% t: time support
% m: slope of ramp
% ad : advance (positive), delay (negative) factor
% USE: y = ramp(t,m,ad)
N = length(t);
y = zeros(1,N);
for i = 1:N,
if t(i)> = -ad,
y(i) = m*(t(i) + ad);
end
end
function y = ustep(t,ad)
% generation of unit step
% t: time
% ad : advance (positive), delay (negative)
% USE y = ustep(t,ad)
N = length(t);
y = zeros(1,N);
for i = 1:N,
if t(i)> = -ad,
y(i) = 1;
end
end
I get this error
Conversion to logical from sym is not possible.
Error in ramp (line 10)
if t(i)>=-ad;
Error in Expriments (line 20)
RMP(t)=ramp(t,j,x);
In general, I am trying to get output as u(t)+r(t) (ramp + step function) and I am stuck at this point.
Accepted Answer
More Answers (0)
Categories
Find more on Get Started with Symbolic Math Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!