Функции Maple Plot

Кто-нибудь знает, как построить функцию Дирака в верхнем левом углу и функцию синуса, приведенную на картинке. Мне удалось легко построить вторую и третью. Вы бы сделали это с помощью кусочной функции или есть простой способ для участков № 1 и № 4? Большое спасибо!

Произвольные возбуждения


person MatlabNewb    schedule 31.01.2016    source источник


Ответы (1)


Если это домашнее задание, то я полагаю, что для примера с синусом вас просят исследовать эффекты масштаба и сдвига.

Рассмотрим эти сюжеты один за другим. Обратите внимание, чем они отличаются. Сначала я масштабирую величину (направление y) на 10. Затем я масштабирую в направлении x. И, наконец, я перемещаюсь в направлении x.

plots:-setoptions(size=[300,0.6],tickmarks=[decimalticks,default]):
plot( 10*sin( x ), x=0 .. Pi, view=[0..Pi, 0..18] );

введите здесь описание изображения

plot( 10*sin( x*Pi ), x=0 .. 1, view=[0..1, 0..18] );

введите здесь описание изображения

plot( 10*sin( x*Pi/0.3 ), x=0 .. 0.3, view=[0..1, 0..18] );

введите здесь описание изображения

plot( 10*sin( (x-0.1)*Pi/0.3 ), x=0.1 .. 0.4, view=[0..1, 0..18] );

введите здесь описание изображения

plots:-setoptions();

Его можно сделать похожим на 4-й график на изображении, на которое вы довольно легко ссылаетесь. Вы можете попробовать его с различными опциями и без них.

P:= plot( 10*sin( (x-0.1)*Pi/0.3 ), x=0.1 .. 0.4
          , axes=none
          , color=black
          , size=[300,0.7]
          , thickness=2
        ):

plots:-display( P
                , view=[0.0 .. 0.6, 0..18]
                , tickmarks=[[0.1,0.4],[10=10*N]]
                , axes=normal, labels=[`t[s]`,`F(t)`]
                , size=[300,0.6]
              );

введите здесь описание изображения

А если приложить больше усилий, то визуально можно добиться более близкого соответствия.

plots:-display( P
            , plottools:-arrow([0,0],[0.6,0], 0.05, 0.9, 0.05)
            , plottools:-arrow([0,0],[0,16], 0.001, 0.02, 0.08)
            , plots:-textplot([0.6, -3.5, `t[s]`, font=["courier",16]])
            , plots:-textplot([0.0, 18, `F(t)`, font=["courier",16]])
            , seq(plots:-textplot([X, -1.5, X]), X=[0,0.1,0.4])
            , plots:-textplot([-0.05, 10, "10 N"])
              );

введите здесь описание изображения

Для вашего другого сюжета вы можете просто построить последовательность строк.

T:=table([1=60,2=100,3=0,4=20]):
P2:=seq(plottools:-line([i,0],[i,T[i]],thickness=2,color=black),
        i=1..4):

И вы можете настроить внешний вид окончательного сюжета, как указано выше. Я оставлю это вам.

plots:-display(P2
               , size=[300,0.7]
               , view=[0..6, 0..120]
               , labels=["",""]
              );

введите здесь описание изображения

person acer    schedule 01.02.2016
comment
Большое спасибо, друг! Мне очень помогло :) - person MatlabNewb; 02.02.2016