plotting in matlab what should i do?

I want to plot x vs w, from the following code, but I'm not getting the correct plot. Could you explain it for me??
function[x]=packegingsystems(w,k1,k2,d)
if w<(k1*d)
x=w/k1;
else
x=(w+2*k2*d)/(k1+2*k2);
end
display(x)
and my attempt to plotting it:
w=linspace(0,3000,300)
x=packegingsystems(w,1e4,1.5e4,0.1)
plot(w,x)
This is not correct, the plot should consist of two ranges; as defined in the function file.

3 Comments

thanks!!! I will use next time (Y)
Did you also see my answer below?

Answers (1)

Try this:
function x = packegingsystems(w,k1,k2,d)
x=(w+2*k2*d)/(k1+2*k2);
indexes = w < (k1*d); % Logical index.
x(indexes) = w(indexes) / k1;

This question is closed.

Asked:

B
B
on 6 May 2015

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!