نویسنده علیرضا گلمکانی
شماره کلید 162
در کلید شماره 26435 ، دستور vpa را معرفی کردیم و گفتیم که برای به دست آوردن مقادیر عددی متغیرها به صورت یک عدد صحیح یا عدد اعشاری و با یک تعداد رقم صحیح و رقم اعشاری مشخص شده، به کار می رود.
اگر مجموع تعداد رقم صحیح و اعشاری برای محاسبه و نمایش عدد را در پرانتز دستور vpa ذکر نکنیم، دستور vpa بر اساس مقدار رقم صحیح و اعشاری تعیین شده توسط دستور digits عمل می کند. برای یافتن مقدار تعیین شده توسط دستور digits ، کافی است همین دستور را بدون هیچگونه ورودی اجرا نمایید :
نتیجه :
به عنوان مثال، در نرم افزار متلب بنده، مقدار 32 رقم نمایش داده می شود که همان مقدار پیش فرض خود نرم افزار متلب (MATLAB) نیز می باشد :
حال برای تغییر این تعداد ارقام، تنها کافی است که عدد مورد نظر خود را در پرانتز دستور digits ذکر نماییم. به عنوان مثال، برای تعیین 6 رقم، کد متلب (MATLAB) زیر را اجرا می کنیم :
به مثال زیر توجه کنید :
مثال
clear all
close all
clc
A=1/3
vpa(A)
digits(3);
B=1/3
vpa(B)
digits(32);
سه خط اول برنامه، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب می باشد. ابتدا مقدار A را توسط تقسیم 1 بر 3 به دست آورده ایم. همان طور که می دانید، حاصل این تقسیم، یک عدد اعشاری است که بینهایت رقم اعشار دارد. ابتدا عدد A با 4 رقم اعشار در خروجی نمایش داده شده است، اما نرم افزار متلب، عمدا و برای شلوغ نشدن خروجی، تنها 4 رقم اعشار را در خروجی نمایش داده است. برای دیدن تمامی ارقام اعشاری A باید مقدار متغیر A را با دستور vpa نمایش بدهیم. همان طور که می بینید، تعداد 32 رقم (رقم اعشاری)، برای A نمایش داده شده، بنابراین دستور vpa ، متغیر A را با دقت 32 رقم (رقم اعشاری)، در خروجی نمایش داده است (همان عدد پیش فرضی که قبلا گفتیم).
سپس با دستور digits ، اعلام کرده ایم که نرم افزار متلب، تنها 3 رقم را برای دستور vpa در نظر بگیرد. B را نیز همانند A ، به صورت تقسیم عدد 1 بر عدد 3 به دست می آوریم. ابتدا نرم افزار متلب، برای نتیجه، 4 رقم اعشار را نمایش می دهد. با به کار بردن دستور vpa برای متغیر B ، مشاهده می کنید که تنها 3 رقم اعشار برای مقدار آن، نمایش داده می شود. در آخر نیز دوباره با دستور digits ، عدد پیش فرض 32 را برای تعداد ارقام اعشاری اعداد، تعیین کرده ایم تا در برنامه های دیگر، همان تعداد رقم برابر 32 در نظر گرفته شود (پیش فرض نرم افزار متلب).
نتیجه :
A =
0.3333
ans =
0.33333333333333333333333333333333
B =
0.3333
ans =
0.333
کپی برداری از محتوای سایت کلیدستان، ممنوع بوده و پیگرد قانونی دارد. (تنها استفاده شخصی کاربر، مجاز است) (کپی برداری توسط سایر وب سایت ها = حرام) (بیشتر بدانید)
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0