در این قسمت از سری آموزش های نرم افزار متلب و برنامه نویسی در متلب، در مورد اعداد در متلب پرداخته می شود. در قسمت قبل به طور کامل در مورد علامت کولن و کاربرد کولن در متلب توضیح داده شد. برنامه نویسی یا کدنویسی در متلب با آموختن و کنار هم قرار دادن مجموعه ای از دستورها میسر می شود یعنی ابتدا شما باید با مجموعه ای از دستورها در متلب آشنایی نسبی داشته باشید و هنگام کدنویسی در متلب برای حل مساله مورد نظر از آن ها در جای درست استفاده کنید.
نرم افزار متلب MATLAB از کلاس های عددی مختلفی که شامل اعداد صحیح علامت گذاری شده و بدون علامت و اعداد یک یا دو رقم دقت هستند پشتیبانی می کند. به طور پیش فرض متلب MATLAB تمام مقادیر عددی را به صورت دو رقم اعشار ذخیره می کند.
شما می توانید هر شماره یا آرایه ای از اعداد را به عنوان اعداد صحیح یا به عنوان اعداد دقت واحد ذخیره کنید.
تمام انواع عددی از عملیات آرایه پایه ای و عملیات ریاضی پشتیبانی می کند.
آموزش برنامه نویسی در متلب : تبدیل به انواع داده های عددی مختلف
متلب MATLAB توابع زیر برای تبدیل به انواع مختلف عددی فراهم می کند:
double | شماره میزان دقت دو برابر می شود |
single | تعداد دقت یک است |
int8 | تبدیل به عدد صحیح ۸ بیتی علامت گذاری شده می شود |
int16 | تبدیل به عدد صحیح ۱۶ بیتی علامت گذاری شده می شود |
int32 | تبدیل به عدد صحیح ۳۲ بیتی علامت گذاری شده می شود |
int64 | تبدیل به عدد صحیح ۶۴ بیتی علامت گذاری شده می شود |
uint8 | تبدیل به عدد صحیح ۸ بیتی بدون علامت می شود |
uint16 | تبدیل به عدد صحیح ۱۶ بیتی بدون علامت می شود |
uint32 | تبدیل به عدد صحیح ۳۲ بیتی بدون علامت می شود |
uint64 | تبدیل به عدد صحیح ۶۴ بیتی بدون علامت می شود |
مثال
یک فایل اسکریپتی ایجاد کنید و کد نوشته شده زیر را تایپ کنید –
x = single([5.32 3.47 6.28]) .* 7.5 x = double([5.32 3.47 6.28]) .* 7.5 x = int8([5.32 3.47 6.28]) .* 7.5 x = int16([5.32 3.47 6.28]) .* 7.5 x = int32([5.32 3.47 6.28]) .* 7.5 x = int64([5.32 3.47 6.28]) .* 7.5
وقتی فایل کد برنامه نوشته شده را اجرا میکنید، نتیجه زیر را نشان میدهد
x = ۳۹.۹۰۰ ۲۶.۰۲۵ ۴۷.۱۰۰ x = ۳۹.۹۰۰ ۲۶.۰۲۵ ۴۷.۱۰۰ x = ۳۸ ۲۳ ۴۵ x = ۳۸ ۲۳ ۴۵ x = ۳۸ ۲۳ ۴۵ x = ۳۸ ۲۳ ۴۵
مثال
اجازه دهید مثال قبلی را کمی بیشتر گسترش دهیم. یک فایل اسکریپتی ایجاد کنید و کد زیر را تایپ کنید –
x = int32([5.32 3.47 6.28]) .* 7.5 x = int64([5.32 3.47 6.28]) .* 7.5 x = num2cell(x)
وقتی فایل بالا، کد نوشته شده در متلب را اجرا میکنید، نتیجه زیر را نشان میدهد –
x = ۳۸ ۲۳ ۴۵ x = ۳۸ ۲۳ ۴۵ x = { [۱,۱] = ۳۸ [۱,۲] = ۲۳ [۱,۳] = ۴۵ }
آموزش برنامه نویسی در متلب : کوچکترین و بزرگترین عدد صحیح
با فانکشن های نوشته شده در متلب ()intmax و ()intmin حداکثر و حداقل مقادیر را می توان با تمام اعداد عدد صحیح نشان داد.
هر دو فانکشن نوع داده اعداد صحیح را به عنوان آرگومان به عنوان مثال (intmax (int8 یا (intmin (int64 می گیرند و حداکثر و حداقل مقادیری را که می توانید با نوع داده های عدد صحیح نشان دهید، باز می گردانند.
مثال
در مثال زیر، چگونگی به دست آوردن کوچکترین و بزرگترین مقادیر اعداد صحیح را نشان میدهد. یک فایل اسکریپتی ایجاد کنید و کد زیر را در آن بنویسید:
% displaying the smallest and largest signed integer data str = 'The range for int8 is:\n\t%d to %d '; sprintf(str, intmin('int8'), intmax('int8')) str = 'The range for int16 is:\n\t%d to %d '; sprintf(str, intmin('int16'), intmax('int16')) str = 'The range for int32 is:\n\t%d to %d '; sprintf(str, intmin('int32'), intmax('int32')) str = 'The range for int64 is:\n\t%d to %d '; sprintf(str, intmin('int64'), intmax('int64')) % displaying the smallest and largest unsigned integer data str = 'The range for uint8 is:\n\t%d to %d '; sprintf(str, intmin('uint8'), intmax('uint8')) str = 'The range for uint16 is:\n\t%d to %d '; sprintf(str, intmin('uint16'), intmax('uint16')) str = 'The range for uint32 is:\n\t%d to %d '; sprintf(str, intmin('uint32'), intmax('uint32')) str = 'The range for uint64 is:\n\t%d to %d '; sprintf(str, intmin('uint64'), intmax('uint64'))
وقتی فایل کد نوشته شده در متلب را اجرا میکنید، نتیجه زیر را نشان میدهد –
ans = The range for int8 is: -۱۲۸ to 127 ans = The range for int16 is: -۳۲۷۶۸ to 32767 ans = The range for int32 is: -۲۱۴۷۴۸۳۶۴۸ to 2147483647 ans = The range for int64 is: ۰ to 0 ans = The range for uint8 is: ۰ to 255 ans = The range for uint16 is: ۰ to 65535 ans = The range for uint32 is: ۰ to -1 ans = The range for uint64 is: ۰ to 18446744073709551616
آموزش برنامه نویسی در متلب : کوچکترین و بزرگترین شماره های اعشار شناور
فانکشن های ()realmax و ()realmin در متلب حداکثر و حداقل مقادیر را با توجه به تعداد اعشار شناورها باز می گردانند.
هر دو فانکشن، زمانی که با این آرگومان “single” فراخوانده می شود حداکثر و حداقل مقادیری را که می تواند با نوع داده با دقت واحد نشان دهد، بر می گرداند و هم چنین زمانی که با این آرگومان “double” فراخوانده می شود حداکثر و حداقل مقادیری را که می تواند با نوع داده با دقت دو واحد نشان دهد، بر می گرداند.
مثال
چگونگی به دست آوردن کوچکترین و بزرگترین اعداد اعشاری شناور. یک فایل اسکریپتی ایجاد کنید و کد متلب زیر را در آن بنویسید
% displaying the smallest and largest single-precision % floating point number str = 'The range for single is:\n\t%g to %g and\n\t %g to %g'; sprintf(str, -realmax('single'), -realmin('single'), ... realmin('single'), realmax('single')) % displaying the smallest and largest double-precision % floating point number str = 'The range for double is:\n\t%g to %g and\n\t %g to %g'; sprintf(str, -realmax('double'), -realmin('double'), ... realmin('double'), realmax('double'))
هنگام اجرای فایل، نتیجه زیر نمایش داده می شود –
ans = The range for single is: -۳.۴۰۲۸۲e+38 to -1.17549e-38 and ۱.۱۷۵۴۹e-38 to 3.40282e+38 ans = The range for double is: -۱.۷۹۷۶۹e+308 to -2.22507e-308 and ۲.۲۲۵۰۷e-308 to 1.79769e+308