need help to plot function contain condition 'equal '

Hello every one,
I need to plot this function of pentagonal, which is
and the figure must as:
I try it but the output of figure not as the Required drawing ,
if any prof. can help me thanks alot,
thank you

 Réponse acceptée

DGM
DGM le 30 Août 2021
Modifié(e) : DGM le 31 Août 2021
There are some problems here. Let's start with the solution. I adjusted the parameters so it looks more like the picture, but your parameters should work too.
a1 = 1;
a2 = 2;
a3 = 4;
a4 = 5;
a5 = 6;
s = 0.75;
r = 0.5;
t = 1;
x = 0:0.1:10;
part0 = 0 .* ( x < a1 | x > a5 );
part1 = r*(x-a1)/(a2-a1) .* (x >= a1 & x < a2);
part2 = (r + (t-r)*(x-a2)/(a3-a2)) .* (x >= a2 & x < a3);
%part3 = t .* x==a3; % this point is redundant
part4 = (s + (t-s)*(a4-x)/(a4-a3)) .* (x >= a3 & x < a4);
part5 = s*(a5-x)/(a5-a4) .* (x >= a4 & x <= a5);
G = part0 + part1 + part2 + part4 + part5;
plot(x, G, 'r')
set(gca,'xtick',[0 a1 a2 a3 a4 a5 max(x)], ...
'xticklabel',{'0','a1','a2','a3','a4','a5',num2str(max(x))})
set(gca,'ytick',[0 r s t],'yticklabel',{'0','r','s','t'})
grid on
If you choose to compose the function by masking and adding, then you need to be sure that your masks don't overlap at the endpoints. This includes the single point called part3. I omitted that, since it's redundant. If you choose to add it back in, you'll have to exclude that point from the mask used by part4.
Second, and probably most importantly, the given piecewise function described by the text doesn't match the image. Don't let yourself get run in circles thinking the textbook is always right.
Third, since you smartly chose to assign the peak value to an extra parameter t, you needed to use t in the expressions instead of 1.

3 commentaires

hasan s
hasan s le 30 Août 2021
Modifié(e) : hasan s le 31 Août 2021
Wonderful ...Thank you very much prof. for your help
Actually, I'm only a student, so I only know the sources,,,
I saw in a source written the number 1 and in another source written as variable
So I combined the two with this hypothesis t=1.
Really thanks for your help
Can you add s , r and t , to its allotted position on the y axis, on the drawing? please
DGM
DGM le 31 Août 2021
Updated
hasan s
hasan s le 31 Août 2021
Thank you very very much prof. DGM

Connectez-vous pour commenter.

Plus de réponses (1)

piecewise() if you have the Symbolic Toolbox.
If you do not have the Symbolic Toolbox, then use logical indexing, such as
mask = a4 <= x & x <= a5
y(mask) = s * (a5 - x(mask) )./(a5 - a4);
Caution: all of your middle endpoints occur multiple times. The value for x == a3 is defined three different ways. The first and second way are not compatible. for x == a3, then (x - a2)/(a3-a2) would be (a3-a2)/(a3-a2) = 1, and that would be multiplied by (1-r) would would give (1-r) . Then 1 minus that is 1 - (1-r) which would be r, which is not the same as the third case where the output has to be 1 when x == a3.
Look as well at the second case when x == a2 . (x-a2)/(a3-a2) when x == a2 would be (a2-a2)/(a3-a2) which would be 0. That would be multiplied by (1-r) giving 0. That would be subtracted from 1, giving 1. That is incompatible with the first expression and incompatible with the diagram, both of which require that the output be r at x == a2.

2 commentaires

hasan s
hasan s le 30 Août 2021
Modifié(e) : hasan s le 30 Août 2021
Thanks alot prof. Walter for your reply
I need it as your great programming in matlab , since I will use it with rand(1,m); for each a1,a2,a3,a4,a5
I thought my mistake was in the equal case only
Your analysis of the function is really great..
ok if I delete the equal from some of them , can I get the function?... Is there a solution to all these problems? to get the Required drawing
hasan s
hasan s le 30 Août 2021
pardon prof. what you mean "Symbolic Toolbox "

Connectez-vous pour commenter.

Catégories

Tags

Question posée :

le 30 Août 2021

Commenté :

le 31 Août 2021

Community Treasure Hunt

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

Start Hunting!

Translated by