
|
|
|
|
|
Mathematica یک نرم افزار جامع برای انجام محاسبات علوم کاربردی و فنی می باشد . این برنامه به عنوان یک زبان برنامه نویسی کاربردی می تواند در موارد زیر مورد استفاده قرار گیرد . - استفاده بهینه تر نسبت به ماشین حسابهای الکترونیکی برای انجام محاسبات عددی و نمادی و اعلان نتایج . - محیط واقعی برای عملیات روی توابع و رابطه ها . - زبان سطح بالای برنامه نویسی که به کمک آن می توان برنامه های کوچک و بزرگ نوشت . - محیطی مناسب برای پردازش و آنالیز داده ها . - محیطی مناسب برای ترکیب متن ، صدا ، گرافیک و انیمیشن ( متحرک سازی ) این نرم افزار به دو صورت عمومی (for students ) و تخصصی (profesinal ) تهیه گردیده و در دسترس می باشد . نوع تخصصی آن همراه با بسته هایی می باشد که با آن می توان محاسبات برخی روش های تخصصی علوم ، مانند حل مسائل ریاضی ، فیزیک ، کنترل ، منطق فازی ، برق ، برنامه ریزی خطی ، شیمی و ... را انجام داد . در سیستم عامل ویندوز با فعال کردن فایل اجرایی نصب ، نرم افزار روی درایو و شاخه مورد نظر نصب و آماده اجرا می شود . سپس وارد محیط Mathematica می شویم . با ثبت Enter یک بلاک همراه با علامت | آماده قبول دستور می شود ، یعنی به صورت :
بعد از ورود با ظاهر شدن علامت | دستور را وارد کنید . برای اجرا از Shift-Enter استفاده کنید ، اگر دستورتان صحیح باشد دستور در یک بلاک زیر علامت In[1]:= ، جواب در یک بلاک دیگر زیر علامت Out [1]= و در نهایت دو بلاک در یک بلاک کلی دیگر قرار می گیرند . سپس با یک خط افقی از صفحه کل جدا می شود . با ثبت Eneter خط حذف و یک بلاک جدید ظاهر می شود همراه با علامت | برای قبول دستور جدید ، و ... مثلا با تایپ 2+7 جلوی علامت | و ثبت Shift-Enter داریم :
دسترسی به اطلاعات دستورات Mathematica برای دیدن دستورات یا لیست یک سری از دستورات خاص یا کل دستورات از علامت ؟ استفاده می کنیم . لیست تمام دستورات Mathematica ….. ?* لیست تمام دستورات که با حرف N شروع می شوند ..... ?N* اطلاعاتی در مورد فرم دستور و نحوه استفاده از دستور .....Name اطلاعات بیشتر در مورد دستور Name ..... ??Name مثال :
دسترسی به اطلاعات قبلی اغلب در انجام اعمال با Mathematica نتایج بدست آمده قبلی مورد نیاز می باشد ، برای این منظور از کاراکتر % استفاده می گردد . آخرین نتیجه قبلی ..... % دومین نتیجه قبلی از آخر ..... %% K امین نتیجه قبلی از آخر ..... %...%%%( K بار ) خروجی n ام (out[n]) ... %n ورودی n ام ... In[n] |
||
|
*
نوشته شده در یکشنبه 13 فروردین1385ساعت 10:25 قبل از ظهر توسط دانشجو
|
|
||
|
|
|
|
|
اعداد معروف در Mathematica عبارتند از : عدد پی ..... Pi عدد نپر ..... E عدد موهومی ..... I بی نهایت ..... Infinity منهای بی نهایت ..... –Infinity درجه ..... Degree و همچنین اعمال اصلی محاسباتی در Mathematica عبارتند از : تقسیم a بر b ..... a/b جمع و تفریق a و b ..... a+b ، a-b a به توان b ..... a^b ضرب a در b ..... a*b یا ab قرینه a ..... –a توجه : در این عملگرها اولویت به ترتیب با توان ، بعد از آن با ضرب و تقسیم و بعد با جمع و تفریق می باشد ، پس برای ترتیب خاص از پرانتز که بالاترین اولویت را دارد استفاده می شود . چند نکته مهم در مورد متغیرها و عملگر ها : حاصل ضرب a در b ..... ab متغیر ab معنی می دهد نه b×a ..... ab a × 5 معنی می دهد ... 5a مثال : حاصل جمع دو عدد 767 و 933 933+767 1700 100^21 1267650600228229401496703205376 2^100//N (محاسبه جواب تقریبی مثال قبل ) 1.26765 10 30….. جایگزینی : مانند ماشین حساب می توان یک عدد را در یک متغیر قرار داد ، و در ادامه کار اسم متغیر نماینده خود عدد می باشد . مقدار value در متغیر x جایگزین می شود ..... x=value مقدار x در y جایگزین می شود ..... y=x مقدار x را پاک می کند ..... x=0 Clear[x] مثال : به x مقدار 100 را نسبت می دهد ..... x=100 جایگزینی مقدار x در x2+2x+10 ... x^2+2*x+10 جواب ..... 10210 توجه : اگر در آخر دستوری (expr) از علامت ; استفاده گردد ، عمل expr انجام می شود اما نمایش داده نمی شود تا زمانی که به دستوری برسیم که ; نداشته باشد . |
||
|
*
نوشته شده در یکشنبه 13 فروردین1385ساعت 10:24 قبل از ظهر توسط دانشجو
|
|
||
|
|
|
|
|
ماشین حسابهای معمولی محاسبات را با دقت معینی انجام می دهند . ( به طور تقریبی تا 10 رقم ده دهی ) ، اما در نرم افزار Mathematica نتایج را می توان تا دقت خیلی بالا با تعداد ارقام اختیاری نمایش داد . مقدار تقریبی expr را می دهد .....N[expr] مقدار عددی expr را تا n رقم به طور تقریبی می دهد ..... N[expr,n] پیش فرض 5 رقم اعشاری است . مثال : نمایش مقدار تقریبی عدد پی تا 20رقم ..... N[pi,20] 3.14159265358979323846 نمایش حاصل جمع 5/2 با 10/3 به صورت کسر متعارفی .... 5/2+10/3 35 __ 6 نمایش جواب نمادی قبل به صورت اعشاری ..... N[%] 5.83333 |
||
|
*
نوشته شده در یکشنبه 13 فروردین1385ساعت 10:21 قبل از ظهر توسط دانشجو
|
|
||
|
|
|
|
|
به کمک نرم افزار Mathematica می توان به آسانی عدد را در مبناهای مختلف بدست آورد . می دانیم که ارزش عدد x در مبنای b به صورت زیر است : نمایش تمام ارقام عدد صحیح n در یک لیست ..... IntegerDigits[n] نمایش عدد صحیحn در مبنای b ..... IntegerDigits[n,b] نمایش تمام ارقام عدد حقیقی x در یک لیست.....RealDigits[x,b] نمایش عدد اعشاری x در مبنای b ..... RealDigits[x,b] مثال : تعریف ..... n=5478449872 نمایش لیست ارقام عدد n ..... IntegerDigits[n] {5,4,7,8,4,4,9,8,7,2} نمایش لیست ارقام عدد n در مبنای 16 .....IntegerDigits[n,16] {1,4,6,8,10,8,2,13,0} نمایش لیست ارقام ، قسمت صحیح و اعشاری عدد x .....RealDigits[x=123.42] {{1,2,3,4,2},3} نمایش لیست ارقام عدد x در مبنای 2.....RealDigits[x,2] {{1,1,1,1,0,1,1,0,1,1,0,1,0,1,1,1,0},7} 7 رقم آخر ، نشان دهنده مبنای 2 قسمت اعشاری عدد x می باشد . نمایش عدد x در مبنای b به مبنای 10 .....b^^x نمایش عدد x در مبنای b ......BaseForm[x,b] مثال: تبدیل (100110) در مبنای دو به مبنای ده .....2^^100110 38 نمایش عدد 38 در مبنای دو ..... BaseForm[38,2] 100110 2 |
||
|
*
نوشته شده در یکشنبه 13 فروردین1385ساعت 10:20 قبل از ظهر توسط دانشجو
|
|
||
|
|
|
|
|
در mathematica دسته وسیعی از توابع می باشند که برخی از آنها عبارتند از : ریشه دوم x:..... Sqrt[x] تابع نمایی : ..... Exp[x] فاکتوریل عدد n: .....n! لگاریتم طبیعی و لگاریتم در مبنای bعدد مثبت x:..... Log[x],Log[b,x] مثال : محاسبه مقدار تقریبی رادیکال 2 تا 10 رقم با معنی . N[sqrt[2],10] 1.414213562 توابع مثلثاتی و معکوس آنها Sin[x] , cos[x] , Tan[x] , Cot[x] , Sec[x] , Csc[x] , ArcSin[x] , ArcCos[x] , … توابع هیچربویک و معکوس آنها Sinh[x] , Cosh[x] , Tanh[x] , Coth[x] , Sech[x] , Csch[x] , Arcsinh[x] , ArcCosh[x] , … نکاتی در مورد توابع در Mathematica - نام همه توابع با حروف بزرگ شروع می شوند و در توابع چند قسمتی شروع هر قسمت نیز با حروف بزرگ می باشد ، مانند Sin[x] و ArcSin[x] و ... . - آرگومانهای توابع داخل براکت *[]* قرار دارد ، مانند Sin[x] و f[x] و ... - آرگومان توابع مثلثاتی بر حسب رادیان محسوب می شود . مثال : Sin[Pi/2]+Sin[8.4] 1.8543 - اگر جلوی آرگومان ، Degree قرار دهید ، آرگومان بر حسب درجه منظور می شود . - هرگاه آرگومان در دامنه تعریف تابع نباشد ، پیام خطا یا خود دستور را دریافت خواهید کرد . برخی دیگر از توابع خاص عبارتند از : تابع جزء صحیح ، بزرگترین عدد صحیح نابیشتر از x ..... Floor[x] تابع کوچکترین عدد صحیح بزرگتر از x ..... Ceiling[x] تابع قدر مطلق x ..... Abs[x] تابع علامت ، 1 برای x>0 و 1- برای x<0 و 0 برای x=0 ..... Sign[x] تابع مثال : با فرض x=3.14 می خواهیم مقادیر x ، [x] و X=3.14; {x,Floor[x],Round[x]} {3.14,3,3} |
||
|
*
نوشته شده در یکشنبه 13 فروردین1385ساعت 10:17 قبل از ظهر توسط دانشجو
|
|
||
|
|
|
|
|
نرم افزار Mathematica برخی از اعمال نظیر خارج قسمت ، باقیمانده ، مقسومعلیه ها و ... را با دستورات زیر تعیین می کند : محاسبه باقیمانده تقسیم m بر n ..... Mod[m,n] محاسبه خارج قسمت تقسیم m بر n ..... Questient[m,n] تعیین مقسوم علیه های عدد n ..... Divisors[x] ب.م.م اعداد n1 و n2 و ........ GCD[n1,n2,…] ک.م.م اعداد n1 و n2 و ........ LCM[n1,n1,…] نمایش k امین عدد اول ..... Prime[Range[k]] True عدد n عدد اول باشد ، در غیر این صورت False ..... PrimeQ[n] تجزیه n به اعداد اول را نمایش می دهد . FactorInteger[n] توجه : اگر در نمایش اعداد در محاسبات از علامت ممیز " . " استفاده شود محاسبات با اعداد حقیقی انجام می شود . |
||
|
*
نوشته شده در یکشنبه 13 فروردین1385ساعت 10:16 قبل از ظهر توسط دانشجو
|
|
||
|
|
|
|
|
یکی از ویژگی های مهم Mathematica این است که می تواند محاسبات نمادی را همانند اعداد انجام دهد . یعنی می توانیم عملیات روی عبارات جبری را به خوبی انجام دهیم . مقدار دهی در expr به جای x ، value جایگزین می شود expr ..... expr/.x->value چندین جایگزینی با هم .....expr/.{x->xval,y->yval,…} بسط expr .....Expand[expr] تجزیه expr به عوامل اول ..... Factor[expr] ساده کردن expr ..... Simplify[expr] بسط (ab)c و (ab)c در expr ..... PowerEcpand[expr] |
||
|
*
نوشته شده در یکشنبه 13 فروردین1385ساعت 10:14 قبل از ظهر توسط دانشجو
|
|
||
|
|
|
|
|
باقیمانده تقسیم expr1 بر expr2 ..... PolynomialMod[expr1, expr2] خارج قسمت تقسیم expr1 بر expr2 بر حسب x ...... PolynomialQuotient[expr1, expr2,x] باقیمانده تقسیم expr1 بر expr2 بر حسب x ..... PolynomialRemainder[expr1 , expr2 , x] ک.م.م عبارات expr1 و expr2 ، ........ PolynomialGCD[expr1,expr2,…] ب.م.م عبارات expr1 و expr2 ، ........ PolynomialLCD[expr1,expr2,…] مقسوم علیه های expr ..... PolynomialDivision[expr] |
||
|
*
نوشته شده در یکشنبه 13 فروردین1385ساعت 10:10 قبل از ظهر توسط دانشجو
|
|
||
|
|
|
|
|
Mathematica می تواند جواب معادلات ، نامعادلات و دستگاه معادلات را به طور دقیق تا چندمین رقم با معنی تعیین کند ، همچنین می تواند با تقریب اولیه جواب ، به جواب تقریبی مناسب دسترسی پیدا کند . مقدار x را در y جایگزین می کند . ( جایگزینی ) .....x=y اگر x با y برابر باشد True ؛ در غیر اینصورت False . ( تساوی منطقی ) ..... x==y حل معادله lhs=rhs نسبت به x ..... Solve[lhs==rhs,x] در expr به جای x جواب را قرار می دهد ..... expr/.solution توجه : هر گاه درجه چند جمله ای از 3 بیشتر باشد ، چون روشی صریح برای حل آن موجود نیست ، جوابی به صورت نمادی دریافت می کنیم . محاسبه تقریب جوابهای عدیی چند جمله ای Poly=0 ..... NSolve[Poly==0,x] محاسبه جواب تقریبی تا n رقم با معنی ..... ,x],n]0==N[NSolve[Poly توجه : برای حل معادلات غیر جبری از قبیل مثلثاتی ، لگاریتیمی ، نمایی و ... از دستور FindRoot استفاده می شود . حل دستگاه چند معادله چند مجهولی بر حسب مجهولات x و y و ... Solve[{Lhs==rhs1,Lhs2==rhs2,…}, {x,y,…}] حل equs بر حسب همه مجهولات موجود آن ..... Solve[equs] توجه : اگر مجهولات مشخص نشوند ، دستور Solve معادلات را بر حسب همه متغیرها حل می کند .
|
||
|
*
نوشته شده در یکشنبه 13 فروردین1385ساعت 10:7 قبل از ظهر توسط دانشجو
|
|
||
|
|
|
|
|
توابع را می توان در Mathematica تعریف نمود ، شکل توابع را به خوبی رسم نمود و همچنین عملیات روی توابع از قبیل مقدار دهی ، ترکیب توابع ، و ... را به راحتی انجام داد . تابع f(x) با ارزیابی بلافاصلهbody.....=body f[x_] تابع f(x) با ارزیابی تأخیری body تعریف می شود ..... f[x_]:=body تعریف تابع را نمایش می دهد ..... ?f تعریف تابع را پاک می کند ..... Clear[f] تعریف تابع f(x) روی دامنه Domain با عبارت body .....body f[x_/;domain:]= |
||
|
*
نوشته شده در یکشنبه 13 فروردین1385ساعت 10:4 قبل از ظهر توسط دانشجو
|
|
||
|
|
|
|
|
در زیر چند دستور مقدماتی برای رسم توابع ارائه شده است . رسم تابع f(x) در فاصله a<=x<=b ..... Plot[f,{x,a,b}] رسم تابع f(x) ، در فاصله a<=x<=b با انتخاب option مناسب ..... Plot[f,{x,a,b},option->value] رسم چند تابع f1 , f2 و ... با هم در فاصله a ..... Plot[{f1,f2,…},{x,a,b},option->value]
|
||
|
*
نوشته شده در یکشنبه 13 فروردین1385ساعت 10:1 قبل از ظهر توسط دانشجو
|
|
||
|
|
|
|
|
در Mathematica همچنین میتوان توابع پارامتری را تعریف و به نحو مطلوب رسم نمود . رسم تابع پارامتری x(t),y(t))) در فاصله [a,b] ParametericPlot[x[t],y[t],{t,a,b}] |
||
|
*
نوشته شده در یکشنبه 13 فروردین1385ساعت 0:36 قبل از ظهر توسط دانشجو
|
|
||
|
|
|
|
|
Mathematica می تواند به آسانی ترکیب توابع fog=f(g(x)) را انجام دهد . Fog ، ترکیب توابع f و g با متغیرx ..... Composition[f,g][x] ترکیب f ، n بار با خودش .....Nest[f,x,n] |
||
|
*
نوشته شده در شنبه 12 فروردین1385ساعت 4:26 بعد از ظهر توسط دانشجو
|
|
||
|
|
|
|
|
توابع مثلثاتی در قسمت توابع ریاضی تعریف شده اند . در Mathematica میتوان توابع مثلثاتی را بسط داد ، فاکتور گرفت ، معادلات و دستگاه معادلات مثلثاتی را حل نمود . نمایش expr بر حسب sin2x و غیره .....Expand[expr,Trig->True] نمایش expr بر حسب sin2x و غیره..... Factor[expr,Trig->True] همچنین می توان مقادیر توابع مثلثاتی ، معکوس توابع مثلثاتی ، نمودار آنها و دیگر محاسبات مثلثاتی را با Mathematica بدست آورد . حل معادلات و دستگاه های مثلثاتی ، لگاریتمی و نمایی را با روش سریع نمی توان در Mathematica بدست آورد ، برای تعیین جواب از روش عددی استفاده می کنیم که جواب تقریبی خیلی دقیقی بدست می دهد . جستجو برای تعیین جواب معادله lhs==rhs ، شروع با یک مقدار تقریبی x=x0 ..... FindRoot[lhs-==rhs,{x,x0}] جستجو برای ریشه یابی equ با دو مقدار اولیه x0 و x1 ( زمانی که مشتق equ به طور صریح تعیین نمی شود مورد استفاده قرار می گیرد . )..... FinRoot[equ,{x,x0,a, b}] جستجو برای ریشه یابی equ با یک مقدار اولیه x0 در فاصله [a,b] ..... FindRoot[equ,{x,x0,a,b}] جستجو برای تعیین جواب های x و y و ... دستگاه با تقریب های اولیه x0, y0 و ... FinRoot{equ1,equ2,…},{x,x0},{y,y0},…] |
||
|
*
نوشته شده در شنبه 12 فروردین1385ساعت 4:25 بعد از ظهر توسط دانشجو
|
|
||
|
|
|
|
|
در این قسمت محاسبات لگاریتمی ، حل معادلات و دستگاه معادلات لگاریتمی را بررسی می کنیم . Lnx : لگاریتم طبیعی ..... Log[x] لگاریتم x در مبنایb ..... Log[x,b] توجه : برای استفاده از قوانین لگاریتم باید ابتدا در محیط Mathematica این قوانین را تعریف کرده ، سپس مورد استفاده قرار داد . تعریف قانون لگاریتم حاصلضرب ..... Log[x_*y_]:=log[x]+log[y] تعریف قانون Lnxn=nLnx ( به توان n) ..... log[x_^n_]=n*log[x] توجه : برای حل معادلات لگاریتمی و نمایی از دستور FindRoot استفاده می شود . |
||
|
*
نوشته شده در شنبه 12 فروردین1385ساعت 4:24 بعد از ظهر توسط دانشجو
|
|
||
|
|
|
|
|
گزاره عبارتی است که خبری را بیان می کند و این خبر درست یا نادرست است ، در منطق فازی احتمال درستی فاصله [0,1] است . برای درستی و نادرستی ارزش یک گزاره در Mathematica می توان از عملگر های رابطه ای و عملگرهای منطقی استفاده نمود . عملگر های رابطه ای نامساوی….. x!=y کوچکتر..... x کمتر یا مساوی..... x<=y مساوی .....x==y بزرگتر ..... x>y بزرگتر یا مساوی ..... x>=y عملگر های منطقی نقیض p ..... !p (p^q) و (and) ..... p&&q (pvq) یا (or) ..... p||q یا انحصاری ( مانع جمع ) ..... Xor[p,q,…] اگر p درست باشد then در غیر این صورت else ..... If[p,then.else] بسط عبارت منطقی expr ..... LogicalExpand[expr] اگر expr صحیح باشد True در غیر این صورت False ..... TrueQ[expr] True اگر lhs rhd همانند باشند در غیر این صورت False.....Lhs===rhs یا Same[lhs,rhs] True اگر lhs و rhs ناهمانند باشند در غیر این صورت False ..... Lhs=!=rhs یا UnSame[lhs,rhs] ارزیابی تا زمانی که یکی از عبارتنها False باشد ..... expr1,&&expr2&& ارزیابی تا زمانی که یکی از عبارتها True باشد ..... expr1||expr2|| |
||
|
*
نوشته شده در شنبه 12 فروردین1385ساعت 4:1 بعد از ظهر توسط دانشجو
|
|
||
|
|
|
|
|
یک مجموعه عبارت است از یک گردآیه از اشیاء متمایز ، مشروط بر اینکه این گردایه مشخص باشد . مجموعه A با عضو های a,b,c ..... A={a,b,c} اجتماع مجموعه های A,B,… ..... اشتراک مجموعه های A,B,… ..... Intersection[A,B,…] مکمل A نسبت به M یا M-A ..... Complement[M,A] مکمل A و B و ... نسبت به M ..... Complement[M,A,B,…] |
||
|
*
نوشته شده در شنبه 12 فروردین1385ساعت 4:0 بعد از ظهر توسط دانشجو
|
|
||