به دلیل قطعی اینترنت و نبود دسترسی به ایمیل‌های خارجی، می‌توانید بدون نیاز به تایید ایمیل، ثبت‌نام کنید و پرسش‌های خود را بپرسید.

اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
0 رای
25.9k بازدید

با سلام
رسم نمودار تابع y=x+[x] و وارون آن
در این پرسش نمودار تابع y=[x] رسم شده، از کد سر در نیاوردم که چطور رسم کنم.
ممنون میشم با توضیح نمودار تابع y=x+[x] و وارون آنرا قرار دهید.
قسمت دایره توخالی و پر و خط چین در نمودار باشد.

وفا و هاشمی: دستتون درد نکنه
توسط (47 امتیاز)
بابت منفی دستت درد نکنه هاشمی!
توسط (47 امتیاز)
@marjan: من ندادم.
توسط (1.1k امتیاز)

3 پاسخ

0 رای
 
بهترین پاسخ

سلام
ادامه ی پاسخ:
روش سوم: نمودار y=x+[x]

\documentclass[12pt,a4paper]{report}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}[>=latex] 
\draw[step=1cm,gray,very thin] (-3,-5) grid (3,4);
\draw[red,very thick,domain=-2:2,samples=1000] plot (\x,{\x+floor(\x)});
\draw [thick,->] (-3,0) -- (3,0);
\draw [thin,->](0,-5) -- (0,4);
\end{tikzpicture}
\end{center}
\end{document}

توجه: برای رسم نمودار تابع دستور زیر:

\draw[red,very thick,domain=-2:2,samples=1000] plot (\x,{\x+floor(\x)});

خروجی:
enter image description here

دستتون درد نکنه.
خروجی ۴ واقعا شکیل هست! من که از دیدن این توانایی های تک لذت می‌برم.
توسط (7 امتیاز)
0 رای

سلام

روش اول: با استفاده از GeoGebra

\documentclass[12pt,a4paper]{report}
\usepackage{pgf,tikz}

\begin{document}
\definecolor{ffffff}{rgb}{1.,1.,1.}
\definecolor{ffqqtt}{rgb}{1.,0.,0.2}
\begin{tikzpicture}[>=triangle 90,x=1.0cm,y=1.0cm]
\draw[->,color=black] (-3.,0.) -- (3.,0.);
\foreach \x in {-2,-1,1,2}
\draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $\x$};
\draw[->,color=black] (0.,-5.) -- (0.,5.);
\foreach \y in {-4,...,-1,0,1,2,3,4}
\draw[shift={(0,y)},color=black] (.2pt,0pt) -- (-12pt,0pt) node[left] {\footnotesize $\y$};
\draw[color=black] (0pt,-10pt) node[right] {\footnotesize $0$};
\draw [color=ffqqtt,thick] (0.,0.)-- (1.,1.);
\draw [color=ffqqtt,thick] (1.,2.)-- (2.,3.);
\draw [color=ffqqtt,thick] (-1.,-2.)-- (0.,-1.);
\draw [color=ffqqtt,thick] (-2.,-4.)-- (-1.,-3.);
\draw [dashpattern=on 3pt off 3pt,color=ffqqtt,thick] (-1.,-3.) -- (-1.,-2.);
\draw [dashpattern=on 3pt off 3pt,color=ffqqtt,thick] (0.,-1) -- (0.,0);
\draw [dashpattern=on 3pt off 3pt,color=ffqqtt,thick] (1.,1) -- (1.,2);
\begin{scriptsize}
\draw [red,fill=ffqqtt,thick] (-2.,-4.) circle (2.5pt);
\draw [red,fill=ffffff,thick] (-1.,-3.) circle (2.5pt);
\draw [red,fill=ffqqtt,thick] (-1.,-2.) circle (2.5pt);
\draw [red,fill=ffffff,thick] (0.,-1.) circle (2.5pt);
\draw [red,fill=ffqqtt,thick] (0.,0.) circle (2.5pt);
\draw [red,fill=ffffff,thick] (1.,1.) circle (2.5pt);
\draw [red,fill=ffqqtt,thick] (1.,2.) circle (2.5pt);
\draw [red,fill=ffffff,thick] (2.,3.) circle (2.5pt);
\end{scriptsize}
\end{tikzpicture}
\end{document}

روش دوم:

\documentclass[a4paper,12pt]{report} 
\usepackage{tikz,amsmath,color}
\usepackage{xepersian}
\settextfont{Yas}
\setdigitfont{Yas}
 
\begin{document}
\begin{center}
\begin{tikzpicture}[>=latex,thick] 
\draw [thick,->](-3,0)--(3,0);
\draw (0,-5)--(0,-1.07);
\draw[->] (0,-.93)--(0,5);
\foreach \x/\xtext in {-2,-1,1,2,}
\draw (\x,-.1)--(\x,.1);
\foreach \y/\ytext in {-4,...,-1,1,2,3,4}
\draw (-4,\y) node{$\ytext$}; 
\foreach \y in {-4,-3,-2,1,2,3,4}
\draw (-1,\y)--(.1,\y); 
\foreach \x in {-2,-1,0,1}
\draw [blue,fill=blue](\x,2*\x) circle (0.07cm);
\foreach \x in {-1,0,1,2}
\draw [blue](\x,\x-1) circle (0.07cm);
\foreach \x in {-1,0,1}
\draw [dashed,blue](\x,\x-.93)--(\x,\x);
\foreach \x in {-2,-1,0,1}
\draw [blue] (\x,2*\x)--(\x+.96,\x+.96);
\node at (0,5.2) {$y=x+[x]$};
\end{tikzpicture}
\end{center}
\end{document}

توجه: وارون تابع را در صورت وجود، خودتان رسم کنید!

ممنون برای توضیحاتی که در مورد دستورهای رسم نمودار نوشتید.
توسط (26 امتیاز)
کوثر: ببخشید در سوال قبلی آیا به جواب نرسیده اید که بهترین پاسخ رو انتخاب نکرده اید.
با تشکر
توسط (1.1k امتیاز)
آقای مهدی هاشمی:  روشی که شما برای رسم نمودار به کار برده بودید دقیقا شکل مورد نظر من بود که درجواب هم نوشتم ولی بهترین جواب رو علامت نزده بودم. بهترین پاسخ رو تازه انتخاب کردم، ممنون از تذکرتون
توسط (26 امتیاز)
0 رای

نمودار شما را می‌توان به راحتی با metapost رسم کرد اما از آن‌جایی که من وقت کافی ندارم، نمونه دیگری به شما می‌دهم که قبلاً آن را انجام داده‌ام. یک فایل به نام test.tex ایجاد کنید با محتویات زیر:

\documentclass{article}
\usepackage{mpgraphics}
\usepackage{xepersian}
\settextfont{Yas}
\begin{mpdefs}
input latexmp; setupLaTeXMP(textextlabel=enable, mode=rerun);

vardef dot expr z =
  image(filldraw fullcircle scaled 3bp shifted z;)
enddef;

vardef emptydot expr z = 
  save circle; path circle; circle = fullcircle scaled 3bp shifted z;
  unfill circle; circle
enddef;
\end{mpdefs}
\begin{document}
\begin{figure}
\configure[mpggraphic][width=\textwidth]
\begin{mpdisplay}
n := 200;
u := 8cm;
xmax := 1.1; ymax := xmax;
drawarrow -(u*xmax, 0) -- (u*xmax, 0);
drawarrow -(0, u*ymax) -- (0, u*ymax);
label.bot("$x$", (u*xmax, 0)); label.lft("$y$", (0, u*ymax));

drawoptions(withcolor red);
draw (-xmax*u, -u) -- (-u, -u);
for i = 1 upto n:
  draw ((u/(i+1), u/i) -- (u/i, u/i)); draw (-u/i, -u/(i+1)) -- (-u/(i+1), -u/(i+1));
endfor;

drawoptions(withcolor black);
draw (u, 0) -- (u, u) dashed evenly; draw (0, u) -- (u/2, u) -- (u/2, 0) dashed evenly;
draw dot(u, u) withcolor red; draw emptydot(u/2, u) withcolor red;
label.bot("$1$", (u, 0)); label.bot ("$\frac{1}{2}$", (u/2, 0)); label.lft("$1$", (0, u));

draw (-u, 0) -- (-u, -u) -- (0, -u) dashed evenly;
draw dot(-u, -u) withcolor red;
label.top("$-1$", (-u, 0)); label.rt("$-1$", (0, -u)); 

for i = 2 upto 5:
  draw (u/(i+1), 0) -- (u/(i+1), u/i) -- (0, u/i) dashed evenly;
  draw dot(u/i, u/i) withcolor red; draw emptydot(u/(i+1), u/i) withcolor red;
  label.bot("$\frac{1}{" & decimal (i+1) & "}$", (u/(i+1), 0));
  label.lft("$1/" & decimal i & "$", (0, u/i));
  %
  draw (-u/i, 0) -- (-u/i, -u/i) -- (0, -u/i) dashed evenly;
  draw dot(-u/i, -u/i) withcolor red; draw emptydot(-u/(i-1), -u/i) withcolor red;
  label.top("$\frac{-1}{" & decimal i & "}$", (-u/i, 0));
  label.rt("$-1/" & decimal i & "$", (0, -u/i));
endfor;

draw emptydot(origin) withcolor red; label.lrt("$O$", origin);
\end{mpdisplay}
\caption{نمودار تابع $y=[x]$}
\end{figure}
\end{document}

سپس برای پردازش فایل و گرفتن خروجی pdf دستور زیر را اجرا کنید:

xelatex -shell-escape test.tex

خروجی بصورت زیر خواهد بود:

enter image description here

و اگر بخواهید اعداد را پارسی کنید:

\documentclass{article}
\usepackage{mpgraphics}
\usepackage{xepersian}
\settextfont{Yas}
\begin{mpdefs}
input latexmp; setupLaTeXMP(textextlabel=enable, mode=rerun,
packages="fontenc[T1,LFE,LAE],inputenc[utf8],babel[farsi]");

vardef dot expr z =
  image(filldraw fullcircle scaled 3bp shifted z;)
enddef;

vardef emptydot expr z = 
  save circle; path circle; circle = fullcircle scaled 3bp shifted z;
  unfill circle; circle
enddef;
\end{mpdefs}
\begin{document}
\begin{figure}
\configure[mpggraphic][width=\textwidth]
\begin{mpdisplay}
n := 200;
u := 8cm;
xmax := 1.1; ymax := xmax;
drawarrow -(u*xmax, 0) -- (u*xmax, 0);
drawarrow -(0, u*ymax) -- (0, u*ymax);
label.bot("$x$", (u*xmax, 0)); label.lft("$y$", (0, u*ymax));

drawoptions(withcolor red);
draw (-xmax*u, -u) -- (-u, -u);
for i = 1 upto n:
  draw ((u/(i+1), u/i) -- (u/i, u/i)); draw (-u/i, -u/(i+1)) -- (-u/(i+1), -u/(i+1));
endfor;

drawoptions(withcolor black);
draw (u, 0) -- (u, u) dashed evenly; draw (0, u) -- (u/2, u) -- (u/2, 0) dashed evenly;
draw dot(u, u) withcolor red; draw emptydot(u/2, u) withcolor red;
label.bot("$1$", (u, 0)); label.bot ("$\frac{1}{2}$", (u/2, 0)); label.lft("$1$", (0, u));

draw (-u, 0) -- (-u, -u) -- (0, -u) dashed evenly;
draw dot(-u, -u) withcolor red;
label.top("$-1$", (-u, 0)); label.rt("$-1$", (0, -u)); 

for i = 2 upto 5:
  draw (u/(i+1), 0) -- (u/(i+1), u/i) -- (0, u/i) dashed evenly;
  draw dot(u/i, u/i) withcolor red; draw emptydot(u/(i+1), u/i) withcolor red;
  label.bot("$\frac{1}{" & decimal (i+1) & "}$", (u/(i+1), 0));
  label.lft("$1/" & decimal i & "$", (0, u/i));
  %
  draw (-u/i, 0) -- (-u/i, -u/i) -- (0, -u/i) dashed evenly;
  draw dot(-u/i, -u/i) withcolor red; draw emptydot(-u/(i-1), -u/i) withcolor red;
  label.top("$\frac{-1}{" & decimal i & "}$", (-u/i, 0));
  label.rt("$-1/" & decimal i & "$", (0, -u/i));
endfor;

draw emptydot(origin) withcolor red; label.lrt("$O$", origin);
\end{mpdisplay}
\caption{نمودار تابع $y=[x]$}
\end{figure}
\end{document}

enter image description here

ممنون، جای دایره توخالی و توپر برعکسه در تابع جز صحیح x!
توسط (47 امتیاز)
این نمودار تابع y=1/floor(1/x) هست.
ویرایش شده توسط
توسط (26.4k امتیاز)
آها نوشته بودین نمودار y=[x] هست.
کد متاپست در
http://tex.stackexchange.com/questions/168404/plotting-greatest-integer-function-floor
هم دیدم.
دستتون درد نکنه
توسط (47 امتیاز)
پرسیدن سوال
سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

7.2k پرسش

6.6k پاسخ

23.7k نظر

11.7k کاربر

basket cart icon

محصولات مرتبط با LaTeX

در فروشگاه پارسی‌لاتک


basket cart icon

حمایت مالی از پارسی‌لاتک

برای تامین هزینه‌های نگه‌داری و به‌روزرسانی

محبوب‌ترین برچسب‌ها

رفع خطا جدول xepersian مراجع ریاضی‌نویسی bidi شکل فونت فهرست مطالب شماره‌گذاری منابع پانویس tikz parsilatex بیب‌تک تک‌لایو بیمر اسلاید زی‌پرشین پاورقی سربرگ bibtex نماد رسم شکل فرمول‌نویسی هدر ارجاع‌دهی biditexmaker ویرایشگر قالب beamer واژه‌نامه texstudio اندازه فونت عنوان فصل ماتریس شماره صفحه اعمال نشدن تغییرات در پی‌دی‌اف رسم جدول bidipresentation حاشیه رنگ عنوان شکل اسلاید فارسی محیط قضیه گراف حروف‌چینی کد مکان شکل شماره فصل enumerate tabriz_thesis tikzpicture نمایه align زیرنویس شکل کادر itemize الگوریتم فهرست اشکال listings عدم اجرا نیم‌فاصله فاصله بین خطوط متن لاتین و فارسی hyperref بسته قالب پایان‌نامه فرمول نصب تک‌لایو فارسی‌تک نمودار شماره فرمول glossaries کپشن حروف‌چینی چندستونی خروجی فونت فارسی و انگلیسی ماکرونویسی extrafootnotefeatures لاتک biditools شماره پاورقی پیوست‌ سوال امتحانی فاصله‌گذاری فرمول چندضابطه‌ای tex subfigure biditufte-book header texmaker pdf خطا longtable تصویر شمارنده زیرنویس texlive2015 دیاگرام میک‌تک رسم نمودار شماره‌گذاری صفحات پایان نامه فهرست جداول تورفتگی texlive2016 شعر بولد آکولاد kashida میکروسافت ورد تنظیم جدول سوال چهارگزینه‌ای قاب texworks caption اندیس فاصله عمودی lollipop چپ‌چینی iust-thesis multicol فصل‌نویسی tcolorbox اعداد فارسی pgfplots xindy اوبونتو geometry xelatex texlive کاما fancyhdr وسط‌چینی تک لایو 2015 شماره گذاری به‌روزرسانی بسته aimc46 شکست خط صفر توخالی فرمول طولانی قالب کتاب فونت اعداد بیرون‌زدگی bidipoem عنوان بخش پوستر فاصله سطرها نوشتافت tex-programming قرآن tabriz-thesis ایتالیک winedt جستجوی معکوس فلش جایابی تصویر فهرست تصاویر پاراگراف‌بندی بازیابی اطلاعات هایپرلینک فهرست نمادها شمارنده فصل حروف‌چینی شعر font محیط ریاضی minipage رسم کادر جداکننده جدول طولانی به‌روزرسانی شماره‌گذاری فرمول algorithm2e proof equation eps جدول افقی tabular عکس متن فارسی و انگلیسی پانویس چندستونی کمک مالی فاصله خطوط فونت بولد زیرشکل پانویس پاراگرافی ltrfootnote پیوست computeautoilg فرمول چندخطی persian-bib neveshtuft غلط‌گیری املایی فونت ریاضی پیکان لاتکس قلم baselineskip شماره قسمت عنوان جدول
...