T = linspace(-7.5,17,120);
S = linspace(-4.5,28,120);
Y = Piecewise(T,S);
function Yn = Piecewise(X1,X2)
T = linspace(-7.5,17,120);
N = length(T);
for n = 1:N
if X1(n) > 0
Y1(n) = cos(X1(n));
end
if X1(n) <= 0
Y1(n) = exp(X1(n));
end
if X2(n) > 0
Y2(n) = sin(X2(n));
end
if X2(n) <= 0
Y2(n) = 3*X2(n);
end
Yn = Y1(n).*Y2(n)
end
end
need some help so im asked to create a 3d line plot for 2 arrays T and S and then Y which solves a piecewise function, although im getting an error that states "vectors must be the same length " ? is my issue that Y isnt being properly solved ?

Antworten (1)

Rafael Hernandez-Walls
Rafael Hernandez-Walls am 25 Jun. 2020

0 Stimmen

Using this function:
function Y = Piecewise(X1,X2)
T = linspace(-7.5,17,120);
N = length(T);
for n = 1:N
if X1(n) > 0
Y1(n) = cos(X1(n));
end
if X1(n) <= 0
Y1(n) = exp(X1(n));
end
if X2(n) > 0
Y2(n) = sin(X2(n));
end
if X2(n) <= 0
Y2(n) = 3*X2(n);
end
Y(n) = Y1(n).*Y2(n);
end

1 Kommentar

Robert Tapia
Robert Tapia am 25 Jun. 2020
sorry can you explain a bit the difference from mine and why it would fix the vector length when plotting

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Line Plots finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

am 25 Jun. 2020

Kommentiert:

am 25 Jun. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by