Media is too big
VIEW IN TELEGRAM
آموزش ویدیویی دوره مقدماتی نرمافزار متلب
جلسه اول: مقدمه و آشنایی با نرمافزار متلب
زمان: ۱۳:۱۲
قیمت: رایگان
مدرس: آقای مهندس شعبانی
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
جلسه اول: مقدمه و آشنایی با نرمافزار متلب
زمان: ۱۳:۱۲
قیمت: رایگان
مدرس: آقای مهندس شعبانی
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
Media is too big
VIEW IN TELEGRAM
آموزش ویدیویی دوره مقدماتی نرمافزار متلب
جلسه دوم: نامگذاری متغیرها، دستورات ابتدایی و استفاده از help متلب
زمان: ۲۱:۵۳
قیمت: رایگان
مدرس: آقای مهندس شعبانی
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
جلسه دوم: نامگذاری متغیرها، دستورات ابتدایی و استفاده از help متلب
زمان: ۲۱:۵۳
قیمت: رایگان
مدرس: آقای مهندس شعبانی
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
This media is not supported in your browser
VIEW IN TELEGRAM
آموزش ویدیویی دوره مقدماتی نرمافزار متلب
تیزر جلسه سوم: محاسبات ریاضیاتی، استفاده از توابع داخلی ریاضیاتی متلب، فرمتهای متلب، دستورات کلی مورد نیاز
زمان: ۲۶:۲۳
قیمت: ۲۰۰۰ تومان
مدرس: آقای مهندس شعبانی
جهت دانلود فایل کامل به لینک زیر مراجعه نمایید.
https://zarinp.al/298290
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
تیزر جلسه سوم: محاسبات ریاضیاتی، استفاده از توابع داخلی ریاضیاتی متلب، فرمتهای متلب، دستورات کلی مورد نیاز
زمان: ۲۶:۲۳
قیمت: ۲۰۰۰ تومان
مدرس: آقای مهندس شعبانی
جهت دانلود فایل کامل به لینک زیر مراجعه نمایید.
https://zarinp.al/298290
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
تمرین مربوط به تابع نویسی)
برنامهای برای محاسبه مساحت یک چند ضلعی منتظم بنویسید.
برنامه را به صورت تابعی بنویسید که ورودیهای آن شامل تعداد اضلاع و اندازه اضلاع باشد.(به این صورت که مثلا اگر ورودی اول عدد ۳ باشد، ورودی دوم هم یک عدد میباشد که اندازه ضلعها را نشان میدهد.) این نکته را رعایت کنید که اگر تعداد ضلعها از ۳ کمتر باشد در خروجی یک خطا نمایش دهد. سپس خروجی تابع، مساحت باشد.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
برنامهای برای محاسبه مساحت یک چند ضلعی منتظم بنویسید.
برنامه را به صورت تابعی بنویسید که ورودیهای آن شامل تعداد اضلاع و اندازه اضلاع باشد.(به این صورت که مثلا اگر ورودی اول عدد ۳ باشد، ورودی دوم هم یک عدد میباشد که اندازه ضلعها را نشان میدهد.) این نکته را رعایت کنید که اگر تعداد ضلعها از ۳ کمتر باشد در خروجی یک خطا نمایش دهد. سپس خروجی تابع، مساحت باشد.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
کد تمرین شماره ۲:
clear all
clc
%%
first_mon = input(' first_money = ');
mon = input(' monthes = ');
yea = (mon - mod(mon,12))/12;
pro_per(1) = 1;
pro_mon(1) = 0;
pro_tot(1) = first_mon;
for i = 2:mon
if mod(i,12) ~= 0
if first_mon < 50000000
pro_per(i) = i^(1/3) + ((i-mod(i,12))/12);
pro_mon(i) = pro_tot(i-1)*pro_per(i)/100;
pro_tot(i) = pro_tot(i-1) + pro_mon(i);
elseif first_mon > 50000000 & first_mon < 200000000
pro_per(i) = sqrt(i) + ((i-mod(i,12))/12);
pro_mon(i) = pro_tot(i-1)*pro_per(i)/100;
pro_tot(i) = pro_tot(i-1) + pro_mon(i);
elseif first_mon > 200000000
pro_per(i) = i + ((i-mod(i,12))/12);
pro_mon(i) = pro_tot(i-1)*pro_per(i)/100;
pro_tot(i) = pro_tot(i-1) + pro_mon(i);
end
elseif mod(i,12) == 0
if first_mon < 50000000
pro_per(i) = i^(1/3) + floor((i-1)/12);
pro_mon(i) = pro_tot(i-1)*pro_per(i)/100;
pro_tot(i) = pro_tot(i-1) + pro_mon(i);
elseif first_mon > 50000000 & first_mon < 200000000
pro_per(i) = sqrt(i) + floor((i-1)/12);
pro_mon(i) = pro_tot(i-1)*pro_per(i)/100;
pro_tot(i) = pro_tot(i-1) + pro_mon(i);
elseif first_mon > 200000000
pro_per(i) = i + floor((i-1)/12);
pro_mon(i) = pro_tot(i-1)*pro_per(i)/100;
pro_tot(i) = pro_tot(i-1) + pro_mon(i);
end
end
end
لطفا این کد را خط به خط برای خود تحلیل نمایید.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
clear all
clc
%%
first_mon = input(' first_money = ');
mon = input(' monthes = ');
yea = (mon - mod(mon,12))/12;
pro_per(1) = 1;
pro_mon(1) = 0;
pro_tot(1) = first_mon;
for i = 2:mon
if mod(i,12) ~= 0
if first_mon < 50000000
pro_per(i) = i^(1/3) + ((i-mod(i,12))/12);
pro_mon(i) = pro_tot(i-1)*pro_per(i)/100;
pro_tot(i) = pro_tot(i-1) + pro_mon(i);
elseif first_mon > 50000000 & first_mon < 200000000
pro_per(i) = sqrt(i) + ((i-mod(i,12))/12);
pro_mon(i) = pro_tot(i-1)*pro_per(i)/100;
pro_tot(i) = pro_tot(i-1) + pro_mon(i);
elseif first_mon > 200000000
pro_per(i) = i + ((i-mod(i,12))/12);
pro_mon(i) = pro_tot(i-1)*pro_per(i)/100;
pro_tot(i) = pro_tot(i-1) + pro_mon(i);
end
elseif mod(i,12) == 0
if first_mon < 50000000
pro_per(i) = i^(1/3) + floor((i-1)/12);
pro_mon(i) = pro_tot(i-1)*pro_per(i)/100;
pro_tot(i) = pro_tot(i-1) + pro_mon(i);
elseif first_mon > 50000000 & first_mon < 200000000
pro_per(i) = sqrt(i) + floor((i-1)/12);
pro_mon(i) = pro_tot(i-1)*pro_per(i)/100;
pro_tot(i) = pro_tot(i-1) + pro_mon(i);
elseif first_mon > 200000000
pro_per(i) = i + floor((i-1)/12);
pro_mon(i) = pro_tot(i-1)*pro_per(i)/100;
pro_tot(i) = pro_tot(i-1) + pro_mon(i);
end
end
end
لطفا این کد را خط به خط برای خود تحلیل نمایید.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
سلام
ممنون از کانال خوبتون
آیا میتونم دادههایی که در یک فایل اکسل دارم رو بدون نوشتن تکتک آنها مستقیم در متلب لود کنم؟
پاسخ:
با استفاده از دستور xlsread میتوان فایلهای اکسل را در متلب فراخوانی کرد. شکل استفاده از این دستور به صورت زیر میباشد.
xlsread('filename',sheet,object)
در این دستور به جای filename باید نام فایل اکسلی را که میخواهید بارگذاری کنید، وارد نمایید.
در صورتی که فایل اکسل شما فقط از یک صفحه و یک ماتریس داخل آن صفحه تشکیل شده باشد فقط کافی است به عنوان مثال از دستور زیر استفاده کنید
xlsread('data.xlsx);
در اینجا به عنوان مثال یک فایل اکسل با نام data را فراخوانی نمودیم. فقط پسوند فایلهای اکسل ممکن است به دو شیوه xlsx یا xls باشند.
در صورتی که فایل شما دارای چندین صفحه باشد، میتوانید با دستور زیر به عنوان مثال، هر صفحه را جداگانه در یک متغیر ذخیره نمایید.
a = xlsread('data.xlsx',1);
b = xlsread('data.xlsx',2);
در صورتی که داخل هر صفحه چندین ماتریس هم داشته باشین، با توجه به نامی که برای هر کدام گذاشتین میتوانید آنها را بارگذاری نمایید. برای مثال به صورت زیر
a = xlsread('data.xlsx',1,mat1);
b = xlsread('data.xlsx,1',mat2);
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
ممنون از کانال خوبتون
آیا میتونم دادههایی که در یک فایل اکسل دارم رو بدون نوشتن تکتک آنها مستقیم در متلب لود کنم؟
پاسخ:
با استفاده از دستور xlsread میتوان فایلهای اکسل را در متلب فراخوانی کرد. شکل استفاده از این دستور به صورت زیر میباشد.
xlsread('filename',sheet,object)
در این دستور به جای filename باید نام فایل اکسلی را که میخواهید بارگذاری کنید، وارد نمایید.
در صورتی که فایل اکسل شما فقط از یک صفحه و یک ماتریس داخل آن صفحه تشکیل شده باشد فقط کافی است به عنوان مثال از دستور زیر استفاده کنید
xlsread('data.xlsx);
در اینجا به عنوان مثال یک فایل اکسل با نام data را فراخوانی نمودیم. فقط پسوند فایلهای اکسل ممکن است به دو شیوه xlsx یا xls باشند.
در صورتی که فایل شما دارای چندین صفحه باشد، میتوانید با دستور زیر به عنوان مثال، هر صفحه را جداگانه در یک متغیر ذخیره نمایید.
a = xlsread('data.xlsx',1);
b = xlsread('data.xlsx',2);
در صورتی که داخل هر صفحه چندین ماتریس هم داشته باشین، با توجه به نامی که برای هر کدام گذاشتین میتوانید آنها را بارگذاری نمایید. برای مثال به صورت زیر
a = xlsread('data.xlsx',1,mat1);
b = xlsread('data.xlsx,1',mat2);
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
This media is not supported in your browser
VIEW IN TELEGRAM
آموزش ویدیویی دوره مقدماتی نرمافزار متلب
تیزر جلسه چهارم: آرایهها، آدرسدهی آرایهها، دسترسی به المانها در آرایهها
زمان: ۲۱:۴۹
قیمت: ۲۰۰۰ تومان
مدرس: آقای مهندس شعبانی
جهت دانلود فایل کامل به لینک زیر مراجعه نمایید.
https://zarinp.al/299045
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
تیزر جلسه چهارم: آرایهها، آدرسدهی آرایهها، دسترسی به المانها در آرایهها
زمان: ۲۱:۴۹
قیمت: ۲۰۰۰ تومان
مدرس: آقای مهندس شعبانی
جهت دانلود فایل کامل به لینک زیر مراجعه نمایید.
https://zarinp.al/299045
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
مثال) برنامهای بنویسید که یک عدد مختلط از کاربر دریافت نموده و محاسبات زیر را بر روی آن انجام دهد.
۱-اندازه عدد مختلط با استفاده از دستور متلب و با روش ریاضی
۲-حاصلضرب عدد حقیقی در عدد موهومی
۳-زاویه عدد مختلط برحسب درجه
پاسخ) کد این مثال به صورت زیر میباشد.
clear all
clc
% 'A' is a complex number
A = inout(' A = ');
B = abs(A);
C = sqrt((real(A)^2) + (imag(A)^2));
D = real(A)*imag(A);
E = angle(A)*180/pi;
توضیحات:
در این مثال از دستور clear all برای پاک کردن صفحه کاری(workspace) استفاده شده است. سپس از دستور clc برای پاک کردن پنجره اصلی(command window) استفاده شده است. اگر در یک خط از ممیز (%) استفاده شود، دیگر کامپایلر متلب آن خط را اجرا نخواهد کرد و آن خط به صورت توضیحات خواهد بود. در هنگام کدنویسی در متلب هم اگر دقت کرده باشید بعد از گذاشتن علامت ممیز، توضیحات جلوی آن خط به رنگ سبز درخواهد آمد.
سپس با دستور input ورودی را از کاربر دریافت نموده و در متغیر A ذخیره میکنیم. همانند کد زیر:
A = inout(' A = ');
با دستور abs در متلب میتوان اندازه یک عدد مختلط را محاسبه نمود. سپس آن را در متغیر B ذخیره میکنیم. همانند کد زیر:
B = abs(A);
برای به دست آوردن اندازه یک عدد مختلط به روش ریاضی قسمتهای حقیقی و موهومی عدد مختلط را به توان ۲ رسانده و با هم جمع میکنیم، سپس از آن رادیکال میگیریم. قسمت حقیقی یک عدد مختلط با دستور real و قسمت موهومی با دستور imag قابل محاسبه خواهد بود. همچنین از دستور sqrt برای رادیکال (جذر) گرفتن استفاده شده است. سپس آن را در متغیر C ذخیره میکنیم. همانند کد زیر:
C = sqrt((real(A)^2) + (imag(A)^2));
سپس حاصلضرب عدد حقیقی در عدد موهومی را بدست آورده و در متغیر D ذخیره میکنیم. همانند کد زیر:
D = real(A)*imag(A);
برای به دست آوردن زاویه یک عدد مختلط از دستور angle استفاده میشود. اما توجه داشته باشید که متلب این زاویه را به صورت رادیان برمیگرداند. برای تبدیل نمودن رادیان به درجه، زاویه را در ۱۸۰ ضرب و بر عدد پی تقسیم میکنیم. عدد پی در متلب به صورت pi نوشته میشود. سپس آن را در متغیر E ذخیره میکنیم. همانند کد زیر:
E = angle(A)*180/pi;
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
۱-اندازه عدد مختلط با استفاده از دستور متلب و با روش ریاضی
۲-حاصلضرب عدد حقیقی در عدد موهومی
۳-زاویه عدد مختلط برحسب درجه
پاسخ) کد این مثال به صورت زیر میباشد.
clear all
clc
% 'A' is a complex number
A = inout(' A = ');
B = abs(A);
C = sqrt((real(A)^2) + (imag(A)^2));
D = real(A)*imag(A);
E = angle(A)*180/pi;
توضیحات:
در این مثال از دستور clear all برای پاک کردن صفحه کاری(workspace) استفاده شده است. سپس از دستور clc برای پاک کردن پنجره اصلی(command window) استفاده شده است. اگر در یک خط از ممیز (%) استفاده شود، دیگر کامپایلر متلب آن خط را اجرا نخواهد کرد و آن خط به صورت توضیحات خواهد بود. در هنگام کدنویسی در متلب هم اگر دقت کرده باشید بعد از گذاشتن علامت ممیز، توضیحات جلوی آن خط به رنگ سبز درخواهد آمد.
سپس با دستور input ورودی را از کاربر دریافت نموده و در متغیر A ذخیره میکنیم. همانند کد زیر:
A = inout(' A = ');
با دستور abs در متلب میتوان اندازه یک عدد مختلط را محاسبه نمود. سپس آن را در متغیر B ذخیره میکنیم. همانند کد زیر:
B = abs(A);
برای به دست آوردن اندازه یک عدد مختلط به روش ریاضی قسمتهای حقیقی و موهومی عدد مختلط را به توان ۲ رسانده و با هم جمع میکنیم، سپس از آن رادیکال میگیریم. قسمت حقیقی یک عدد مختلط با دستور real و قسمت موهومی با دستور imag قابل محاسبه خواهد بود. همچنین از دستور sqrt برای رادیکال (جذر) گرفتن استفاده شده است. سپس آن را در متغیر C ذخیره میکنیم. همانند کد زیر:
C = sqrt((real(A)^2) + (imag(A)^2));
سپس حاصلضرب عدد حقیقی در عدد موهومی را بدست آورده و در متغیر D ذخیره میکنیم. همانند کد زیر:
D = real(A)*imag(A);
برای به دست آوردن زاویه یک عدد مختلط از دستور angle استفاده میشود. اما توجه داشته باشید که متلب این زاویه را به صورت رادیان برمیگرداند. برای تبدیل نمودن رادیان به درجه، زاویه را در ۱۸۰ ضرب و بر عدد پی تقسیم میکنیم. عدد پی در متلب به صورت pi نوشته میشود. سپس آن را در متغیر E ذخیره میکنیم. همانند کد زیر:
E = angle(A)*180/pi;
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
This media is not supported in your browser
VIEW IN TELEGRAM
آموزش ویدیویی دوره مقدماتی نرمافزار متلب
تیزر جلسه پنجم: عملیات با آرایهها، عملیات نظیر به نظیر و ماتریسهای خاص
زمان: ۲۲:۱۸
قیمت: ۲۰۰۰ تومان
مدرس: آقای مهندس شعبانی
جهت دانلود فایل کامل به لینک زیر مراجعه نمایید.
https://zarinp.al/299487
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
تیزر جلسه پنجم: عملیات با آرایهها، عملیات نظیر به نظیر و ماتریسهای خاص
زمان: ۲۲:۱۸
قیمت: ۲۰۰۰ تومان
مدرس: آقای مهندس شعبانی
جهت دانلود فایل کامل به لینک زیر مراجعه نمایید.
https://zarinp.al/299487
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
تمرین) برنامهای بنویسید که یک عدد از کاربر دریافت نموده و خروجی زیر را در command window نمایش دهد.
sin(x) + (1/ln(x^2)) + (x^(1/5)) +
((sinh(x^3))^2) + e^x
سپس هر کدام از عبارات جمع شده بالا را به سمت نزدیکترین عدد گرد نموده و با مقدار محاسبه شده در بالا مقایسه نمایید.
کد تمرین همراه با توضیحات پنجشنبه در کانال قرار میگیرد.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
sin(x) + (1/ln(x^2)) + (x^(1/5)) +
((sinh(x^3))^2) + e^x
سپس هر کدام از عبارات جمع شده بالا را به سمت نزدیکترین عدد گرد نموده و با مقدار محاسبه شده در بالا مقایسه نمایید.
کد تمرین همراه با توضیحات پنجشنبه در کانال قرار میگیرد.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
This media is not supported in your browser
VIEW IN TELEGRAM
آموزش ویدیویی دوره مقدماتی نرمافزار متلب
تیزر جلسه ششم: توابع داخلی متلب برای کار با آرایهها، توابع داخلی متلب مربوط به آمار
زمان: ۲۳:۵۴
قیمت: ۲۰۰۰ تومان
مدرس: آقای مهندس شعبانی
جهت دانلود فایل کامل به لینک زیر مراجعه نمایید.
https://zarinp.al/299949
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
تیزر جلسه ششم: توابع داخلی متلب برای کار با آرایهها، توابع داخلی متلب مربوط به آمار
زمان: ۲۳:۵۴
قیمت: ۲۰۰۰ تومان
مدرس: آقای مهندس شعبانی
جهت دانلود فایل کامل به لینک زیر مراجعه نمایید.
https://zarinp.al/299949
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
PROGRAMMING - COMPUTER
تمرین) برنامهای بنویسید که یک عدد از کاربر دریافت نموده و خروجی زیر را در command window نمایش دهد. sin(x) + (1/ln(x^2)) + (x^(1/5)) + ((sinh(x^3))^2) + e^x سپس هر کدام از عبارات جمع شده بالا را به سمت نزدیکترین عدد گرد نموده و با مقدار محاسبه…
پاسخ تمرین)
کد مربوط به این تمرین که روی آن ریپلای زده شده است به صورت زیر میباشد.
clear all
clc
%%
% 'x' is a input number
x = input(' x = ');
clc
y1 = sin(x) + (1/log(x^2)) +...
(x^(1/5)) + ((sinh(x^3))^2) + ... exp(x)
y2 = round(sin(x)) + round(...
(1/log(x^2))) + round((x^(1/5))) +... round(((sinh(x^3))^2)) + ... round(exp(x))
comparision = abs(y1 - y2)
توضیحات) دو خط اول برنامه، برای عدم تداخل با برنامههای قبلی اجرا شده میباشد. از این به بعد کاربرد این دو کد توضیح داده نمیشود. در مثالهای قبلی توضیح کامل آنها داده شده است.
کاربرد ممیز هم در مثالهای قبلی کاملا توضیح داده شده است و نیازی به توضیح دوباره نمیباشد.
y1 = sin(x) + (1/log(x^2)) +...
(x^(1/5)) + ((sinh(x^3))^2) + ... exp(x)
در کد بالا از sin برای محاسبه سینوس یک زاویه استفاده میشود. در متلب مقدار x را به صورت رادیان در نظر میگیرد. در جمله دوم از کد log برای محاسبه لگاریتم طبیعی یا ln استفاده میشود. در صورتی که بخواهید لگاریتم در مبنای 10 را محاسبه نمایید از کد log10 استفاده میکنید. سپس در جمله سوم فرجه پنجم عدد ورودی محاسبه شده است. برای محاسبه فرجهها، توان عدد داخل فرجه را بر عدد فرجه تقسیم و به صورت توان آن عدد مینویسیم.
در جمله چهارم سینوس هایپربولیک عدد با دستور sinh محاسبه میشود.
و در جمله آخر با دستور exp مقدار عدد نپر به توان عدد داخل دستور محاسبه میشود.
سپس در کدهای زیر با استفاده از دستور round برای هر 5 جمله، آنها را به سمت نزدیکترین عدد صحیح گرد میکنیم.
y2 = round(sin(x)) + round(...
(1/log(x^2))) + round((x^(1/5))) +... round(((sinh(x^3))^2)) + ... round(exp(x))
در نهایت برای مقایسه دو عدد y1 و y2 قدر مطلق اختلاف آنها را به دست میآوریم. در زیر ابتدا اختلاف آنها به دست آمده و سپس با دستور abs قدرمطلق آنها محاسبه میشود.
comparision = abs(y1 - y2)
توجه داشته باشید که دستور abs اندازه یک عدد مختلط را در حالت کلی برمیگرداند و چون اندازه یک عدد مختلط برابر با رادیکال از جمع توان دوم عدد حقیقی و توان دوم عدد موهومی میباشد و اندازه یک عدد مختلط همیشه مثبت میباشد و عدد حقیقی هم حالت خاصی از عدد مختلط با اندازه موهومی صفر میباشد، بنابراین دستور abs در اعداد حقیقی حکم قدرمطلق را دارد.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
کد مربوط به این تمرین که روی آن ریپلای زده شده است به صورت زیر میباشد.
clear all
clc
%%
% 'x' is a input number
x = input(' x = ');
clc
y1 = sin(x) + (1/log(x^2)) +...
(x^(1/5)) + ((sinh(x^3))^2) + ... exp(x)
y2 = round(sin(x)) + round(...
(1/log(x^2))) + round((x^(1/5))) +... round(((sinh(x^3))^2)) + ... round(exp(x))
comparision = abs(y1 - y2)
توضیحات) دو خط اول برنامه، برای عدم تداخل با برنامههای قبلی اجرا شده میباشد. از این به بعد کاربرد این دو کد توضیح داده نمیشود. در مثالهای قبلی توضیح کامل آنها داده شده است.
کاربرد ممیز هم در مثالهای قبلی کاملا توضیح داده شده است و نیازی به توضیح دوباره نمیباشد.
y1 = sin(x) + (1/log(x^2)) +...
(x^(1/5)) + ((sinh(x^3))^2) + ... exp(x)
در کد بالا از sin برای محاسبه سینوس یک زاویه استفاده میشود. در متلب مقدار x را به صورت رادیان در نظر میگیرد. در جمله دوم از کد log برای محاسبه لگاریتم طبیعی یا ln استفاده میشود. در صورتی که بخواهید لگاریتم در مبنای 10 را محاسبه نمایید از کد log10 استفاده میکنید. سپس در جمله سوم فرجه پنجم عدد ورودی محاسبه شده است. برای محاسبه فرجهها، توان عدد داخل فرجه را بر عدد فرجه تقسیم و به صورت توان آن عدد مینویسیم.
در جمله چهارم سینوس هایپربولیک عدد با دستور sinh محاسبه میشود.
و در جمله آخر با دستور exp مقدار عدد نپر به توان عدد داخل دستور محاسبه میشود.
سپس در کدهای زیر با استفاده از دستور round برای هر 5 جمله، آنها را به سمت نزدیکترین عدد صحیح گرد میکنیم.
y2 = round(sin(x)) + round(...
(1/log(x^2))) + round((x^(1/5))) +... round(((sinh(x^3))^2)) + ... round(exp(x))
در نهایت برای مقایسه دو عدد y1 و y2 قدر مطلق اختلاف آنها را به دست میآوریم. در زیر ابتدا اختلاف آنها به دست آمده و سپس با دستور abs قدرمطلق آنها محاسبه میشود.
comparision = abs(y1 - y2)
توجه داشته باشید که دستور abs اندازه یک عدد مختلط را در حالت کلی برمیگرداند و چون اندازه یک عدد مختلط برابر با رادیکال از جمع توان دوم عدد حقیقی و توان دوم عدد موهومی میباشد و اندازه یک عدد مختلط همیشه مثبت میباشد و عدد حقیقی هم حالت خاصی از عدد مختلط با اندازه موهومی صفر میباشد، بنابراین دستور abs در اعداد حقیقی حکم قدرمطلق را دارد.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
کار با متلب)
در اینجا میخواهیم به صورت سرگرمی با استفاده از دستورات خود متلب، یکی از دستورات دیگر متلب را بنویسیم. دستورات باید با هم در یک راستای موضوعی باشند.
در زیر میخواهیم با استفاده از دستورات متلب، کد دستور size را در متلب بنویسیم.
فرض میکنیم ما دستور length را میدانیم، اما دستور size را نمیدانیم، به صورت زیر عمل میکنیم.
فرض میکنیم یک ماتریس با نام A داریم.
sizes_of_A = [length(:,1),length(1;:)]
در این دستور، ما یک بردار دوتایی که تعداد سطرها و ستونهای A را برمیگرداند، تشکیل دادهایم. در درایه اول، با استفاده از دستور length، طول بردار ستون اول ماتریس A را بدست میآوریم. ستون اول دارای تعداد سطرهایی به اندازه ماتریس A و یک ستون میباشد. چون دستور length بیشترین مقدار سطر یا ستون را برمیگرداند، بنابراین تعداد سطرها را برمیگرداند و از اینرو تعداد سطرهای A مشخص میشود.
سپس برای درایه دوم نیز به همین ترتیب، با استفاده از دستور length, طول بردار سطر اول ماتریس A را مییابیم. در این بردار تعداد سطرها یک و تعداد ستونها برابر تعداد ستونهای A میباشد، بنابراین تعداد ستونهای A برابر تعداد ستونهای این بردار میشود.
به این ترتیب با استفاده از دستور length به دستور size رسیدیم.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
در اینجا میخواهیم به صورت سرگرمی با استفاده از دستورات خود متلب، یکی از دستورات دیگر متلب را بنویسیم. دستورات باید با هم در یک راستای موضوعی باشند.
در زیر میخواهیم با استفاده از دستورات متلب، کد دستور size را در متلب بنویسیم.
فرض میکنیم ما دستور length را میدانیم، اما دستور size را نمیدانیم، به صورت زیر عمل میکنیم.
فرض میکنیم یک ماتریس با نام A داریم.
sizes_of_A = [length(:,1),length(1;:)]
در این دستور، ما یک بردار دوتایی که تعداد سطرها و ستونهای A را برمیگرداند، تشکیل دادهایم. در درایه اول، با استفاده از دستور length، طول بردار ستون اول ماتریس A را بدست میآوریم. ستون اول دارای تعداد سطرهایی به اندازه ماتریس A و یک ستون میباشد. چون دستور length بیشترین مقدار سطر یا ستون را برمیگرداند، بنابراین تعداد سطرها را برمیگرداند و از اینرو تعداد سطرهای A مشخص میشود.
سپس برای درایه دوم نیز به همین ترتیب، با استفاده از دستور length, طول بردار سطر اول ماتریس A را مییابیم. در این بردار تعداد سطرها یک و تعداد ستونها برابر تعداد ستونهای A میباشد، بنابراین تعداد ستونهای A برابر تعداد ستونهای این بردار میشود.
به این ترتیب با استفاده از دستور length به دستور size رسیدیم.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
سوال ارسالی از اعضای کانال)
یک تابع پالس یک بعدی ایجاد کنید ، با استفاده از رابطه ی تبدیل فوریه ثابت کنید تبدیل فوریه ی یک تابع پالس یک بعدی، یک تابع sinc است.
دستور لازم برای ایجاد تابع پله heaviside هست. حال اگر میخواهید یک تابع پالس ایجاد کنید مثلا به صورت زیر
F = u(t) - u(t-2);
دوتا تابع پله را از هم کم میکنید.
مثلا برای ۱۰۰ ثانیه ما میخواهیم تبدیل فوریه تابع بالا را بدست آوریم، کد آن به صورت زیر میباشد.
clear all
clc
t = 0:0.01:100;
F = heaviside(t) - heaviside(t-2);
fft_F = fft(F);
abs_fft_F = abs(fft_F);
plot(abs_fft_F)
در این کد، ابتدا t را بین صفر تا ۱۰۰ ثانیه تعریف میکنیم. سپس با دستور heaviside تابع پله را ایجاد و با تفریق دوتا از این پلهها تابع پالس تشکیل میدهیم. سپس با دستور fft تبدیل فوریه میگیریم. در خط بعدی چون تبدیل فوریه به صورت مختلط است، اندازه آن را با دستور abs محاسبه میکنیم. درنهایت با دستور plot آن را رسم مینماییم.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
یک تابع پالس یک بعدی ایجاد کنید ، با استفاده از رابطه ی تبدیل فوریه ثابت کنید تبدیل فوریه ی یک تابع پالس یک بعدی، یک تابع sinc است.
دستور لازم برای ایجاد تابع پله heaviside هست. حال اگر میخواهید یک تابع پالس ایجاد کنید مثلا به صورت زیر
F = u(t) - u(t-2);
دوتا تابع پله را از هم کم میکنید.
مثلا برای ۱۰۰ ثانیه ما میخواهیم تبدیل فوریه تابع بالا را بدست آوریم، کد آن به صورت زیر میباشد.
clear all
clc
t = 0:0.01:100;
F = heaviside(t) - heaviside(t-2);
fft_F = fft(F);
abs_fft_F = abs(fft_F);
plot(abs_fft_F)
در این کد، ابتدا t را بین صفر تا ۱۰۰ ثانیه تعریف میکنیم. سپس با دستور heaviside تابع پله را ایجاد و با تفریق دوتا از این پلهها تابع پالس تشکیل میدهیم. سپس با دستور fft تبدیل فوریه میگیریم. در خط بعدی چون تبدیل فوریه به صورت مختلط است، اندازه آن را با دستور abs محاسبه میکنیم. درنهایت با دستور plot آن را رسم مینماییم.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
This media is not supported in your browser
VIEW IN TELEGRAM
آموزش ویدیویی دوره مقدماتی نرمافزار متلب
تیزر جلسه هفتم: تولید اعداد تصادفی، کار با چندجملهایها
زمان: ۲۵:۲۲
قیمت: ۲۰۰۰ تومان
مدرس: آقای مهندس شعبانی
جهت دانلود فایل کامل به لینک زیر مراجعه نمایید.
https://zarinp.al/300248
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
تیزر جلسه هفتم: تولید اعداد تصادفی، کار با چندجملهایها
زمان: ۲۵:۲۲
قیمت: ۲۰۰۰ تومان
مدرس: آقای مهندس شعبانی
جهت دانلود فایل کامل به لینک زیر مراجعه نمایید.
https://zarinp.al/300248
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
PROGRAMMING - COMPUTER
تمرینات سری اول آموزش نرمافزار متلب👆 #آموزش_متلب کانال برنامهنویسی و کامپیوتر: @programming_computer_top
اعضای محترم کانال:
از این به بعد سعی میشود، کم کم پاسخ تمریناتی که قبلا در کانال گذاشته شدهاند را قرار دهیم.
پاسخ تمرین اول از سری اول)
در کامند ویندو هرکدام از عبارات زیر را بنویسید تا نتایج آنها را مشاهده کنید.
a = sin(pi/2 + 3*i)
b = cosh(sqrt(2*pi/3))
c = log10(sin(3*i))
d = exp(sin(5^(1/3)))
بعد از نوشتن هرکدام از عبارات در کامند ویندو دکمه اینتر را بزنید، تا نتیجه آن را مشاهده نمایید.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
از این به بعد سعی میشود، کم کم پاسخ تمریناتی که قبلا در کانال گذاشته شدهاند را قرار دهیم.
پاسخ تمرین اول از سری اول)
در کامند ویندو هرکدام از عبارات زیر را بنویسید تا نتایج آنها را مشاهده کنید.
a = sin(pi/2 + 3*i)
b = cosh(sqrt(2*pi/3))
c = log10(sin(3*i))
d = exp(sin(5^(1/3)))
بعد از نوشتن هرکدام از عبارات در کامند ویندو دکمه اینتر را بزنید، تا نتیجه آن را مشاهده نمایید.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
مثال) سری عددی زیر را در متلب به ازای n از اعداد 1 تا 1000 بجز اعداد مضرب 3 حل نمایید.
((n^2) + 2)/((n^3) - n)
پاسخ) کد این مثال به صورت زیر میباشد.
clear all
clc
sum = 0;
for n = 1:1000
sum = sum + (((n^2) + 2)/((n^3) - n));
if mod(n,3) == 0
continue
end
end
disp(' sum = ')
disp([' ',num2str(sum)])
توضیحات)
دو خط اول برای عدم تداخل برنامه با برنامههای قبلی اجرا شده میباشد. چون میخواهیم حاصل یک سری را بدست آوریم، ابتدا فرض میکنیم مقدار آن سری صفر میباشد. بنابراین با قرار دادن آن به صورت زیر مقدارش را برابر صفر قرار میدهیم.
sum = 0;
در صورت سوال ذکر شده است که برای اعداد یک تا ۱۰۰۰، بنابراین نیاز به استفاده از یک حلقه for با اندیس از یک تا ۱۰۰۰ خواهیم بود.
for n = 1:1000
دقت داشته باشید چون در سری هربار جمله مورد نظر با جملات قبلی جمع میشود، بنابراین sum را در داخل حلقه for هر بار به صورت زیر بروزرسانی میکنیم.
sum = sum + (((n^2) + 2)/((n^3) - n));
در صورت سوال ذکر شده است که برای مقادیر n که مضرب ۳ باشند، این سری انجام نشود، بنابراین با استفاده از یک حلقه شرطی، مینویسیم که اگر اعداد مضرب ۳ باشند، هیچ عملی انجام نشود. در این مثال از کاربرد دستور continue استفاده شده است. در جلوی حلقه if حاصل باقیمانده عدد n بر ۳ بدست میآید و اگر مساوی با صفر شد، دستور continue اجرا میشود و حاصل آن عدد در سری قرار نمیگیرد.
if mod(n,3) == 0
continue
end
end
پس از پایان هر حلقه باید end گذاشته شود. در اینجا end اول برای حلقه if و end دوم برای حلقه for میباشد.
سپس با دستورات زیر مقدار سری را در خروجی نشان میدهیم.
disp(' sum = ')
disp([' ',num2str(sum)])
در دستور اول مربوط به disp یک رشته به صورت = sum چاپ میشود.
در دستور دوم، برای اینکه مقدار sum به صورت زیباتری و در زیر عبارت = sum چاپ شود، ابتدا با دستور num2str آن را به صورت رشته درآورده، سپس در داخل یک آرایه ابتدا چند اسپیس داخل کوتیشن استفاده میکنیم و سپس دستور num2str را مینویسیم.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
((n^2) + 2)/((n^3) - n)
پاسخ) کد این مثال به صورت زیر میباشد.
clear all
clc
sum = 0;
for n = 1:1000
sum = sum + (((n^2) + 2)/((n^3) - n));
if mod(n,3) == 0
continue
end
end
disp(' sum = ')
disp([' ',num2str(sum)])
توضیحات)
دو خط اول برای عدم تداخل برنامه با برنامههای قبلی اجرا شده میباشد. چون میخواهیم حاصل یک سری را بدست آوریم، ابتدا فرض میکنیم مقدار آن سری صفر میباشد. بنابراین با قرار دادن آن به صورت زیر مقدارش را برابر صفر قرار میدهیم.
sum = 0;
در صورت سوال ذکر شده است که برای اعداد یک تا ۱۰۰۰، بنابراین نیاز به استفاده از یک حلقه for با اندیس از یک تا ۱۰۰۰ خواهیم بود.
for n = 1:1000
دقت داشته باشید چون در سری هربار جمله مورد نظر با جملات قبلی جمع میشود، بنابراین sum را در داخل حلقه for هر بار به صورت زیر بروزرسانی میکنیم.
sum = sum + (((n^2) + 2)/((n^3) - n));
در صورت سوال ذکر شده است که برای مقادیر n که مضرب ۳ باشند، این سری انجام نشود، بنابراین با استفاده از یک حلقه شرطی، مینویسیم که اگر اعداد مضرب ۳ باشند، هیچ عملی انجام نشود. در این مثال از کاربرد دستور continue استفاده شده است. در جلوی حلقه if حاصل باقیمانده عدد n بر ۳ بدست میآید و اگر مساوی با صفر شد، دستور continue اجرا میشود و حاصل آن عدد در سری قرار نمیگیرد.
if mod(n,3) == 0
continue
end
end
پس از پایان هر حلقه باید end گذاشته شود. در اینجا end اول برای حلقه if و end دوم برای حلقه for میباشد.
سپس با دستورات زیر مقدار سری را در خروجی نشان میدهیم.
disp(' sum = ')
disp([' ',num2str(sum)])
در دستور اول مربوط به disp یک رشته به صورت = sum چاپ میشود.
در دستور دوم، برای اینکه مقدار sum به صورت زیباتری و در زیر عبارت = sum چاپ شود، ابتدا با دستور num2str آن را به صورت رشته درآورده، سپس در داخل یک آرایه ابتدا چند اسپیس داخل کوتیشن استفاده میکنیم و سپس دستور num2str را مینویسیم.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
PROGRAMMING - COMPUTER
practic1.pdf
پاسخ تمرین دوم از سری اول)
در کامند ویندو هرکدام از عبارات زیر را بنویسید تا نتایج آنها را مشاهده کنید.
a = [1 2 4;6 9 1;7 9 6]
b = [5 10 9;0 1 11;12 3 4]
c = a + b^2
d = det(c)*a
e = a*d/c
f = e'
بعد از نوشتن هرکدام از عبارات در کامند ویندو دکمه اینتر را بزنید، تا نتیجه آن را مشاهده نمایید.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
در کامند ویندو هرکدام از عبارات زیر را بنویسید تا نتایج آنها را مشاهده کنید.
a = [1 2 4;6 9 1;7 9 6]
b = [5 10 9;0 1 11;12 3 4]
c = a + b^2
d = det(c)*a
e = a*d/c
f = e'
بعد از نوشتن هرکدام از عبارات در کامند ویندو دکمه اینتر را بزنید، تا نتیجه آن را مشاهده نمایید.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
کاربرد دستورات متلب:
در اینجا قصد داریم، تفاوت ۳ دستور کاربردی، مربوط به ماتریسها را بیان کنیم. البته توضیحات آنها در ویدیوهای آموزشی هم وجود دارد.
دستور length، دستوری است که در یک آرایه n بعدی (بردار، ماتریس یا ۳ بعدی)، بیشترین مقدار سطر، ستون یا بعد را برمیگرداند. به عنوان مثال در یک بردار با طول ۱۰ این دستور عدد ۱۰ را برمیگرداند. همچنین در یک ماتریس با ۳ سطر و ۴ ستون، عدد ۴ را برمیگرداند.
دستور بعدی، دستور size میباشد، که برای ماتریسهای ۲ بعدی به کار میرود. در واقع این دستور، تعداد سطرها و ستونها را برمیگرداند.
دستور بعدی، دستور numel هست، که تعداد درایههای یک ماتریس n بعدی را برمیگرداند. بنابراین میتوان آن را ضرب تعداد سطرها در ستونها و بعدها در هم دانست. برای مثال، در یک ماتریس ۲ بعدی با ۵ سطر و ۶ ستون، دستور numel عدد ۳۰ را برمیگرداند. همچنین در یک ماتریس ۳ بعدی با ۳ سطر، ۴ ستون و ۲ بعد، این دستور عدد ۲۴ که ضرب ۳ عدد فوق میباشد را برمیگرداند.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
در اینجا قصد داریم، تفاوت ۳ دستور کاربردی، مربوط به ماتریسها را بیان کنیم. البته توضیحات آنها در ویدیوهای آموزشی هم وجود دارد.
دستور length، دستوری است که در یک آرایه n بعدی (بردار، ماتریس یا ۳ بعدی)، بیشترین مقدار سطر، ستون یا بعد را برمیگرداند. به عنوان مثال در یک بردار با طول ۱۰ این دستور عدد ۱۰ را برمیگرداند. همچنین در یک ماتریس با ۳ سطر و ۴ ستون، عدد ۴ را برمیگرداند.
دستور بعدی، دستور size میباشد، که برای ماتریسهای ۲ بعدی به کار میرود. در واقع این دستور، تعداد سطرها و ستونها را برمیگرداند.
دستور بعدی، دستور numel هست، که تعداد درایههای یک ماتریس n بعدی را برمیگرداند. بنابراین میتوان آن را ضرب تعداد سطرها در ستونها و بعدها در هم دانست. برای مثال، در یک ماتریس ۲ بعدی با ۵ سطر و ۶ ستون، دستور numel عدد ۳۰ را برمیگرداند. همچنین در یک ماتریس ۳ بعدی با ۳ سطر، ۴ ستون و ۲ بعد، این دستور عدد ۲۴ که ضرب ۳ عدد فوق میباشد را برمیگرداند.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
This media is not supported in your browser
VIEW IN TELEGRAM
آموزش ویدیویی دوره مقدماتی نرمافزار متلب
تیزر جلسه هشتم: رسم دو بعدی
زمان: ۲۵:۲۰
قیمت: ۳۰۰۰ تومان
مدرس: آقای مهندس شعبانی
جهت دانلود فایل کامل به لینک زیر مراجعه نمایید.
https://zarinp.al/300848
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
تیزر جلسه هشتم: رسم دو بعدی
زمان: ۲۵:۲۰
قیمت: ۳۰۰۰ تومان
مدرس: آقای مهندس شعبانی
جهت دانلود فایل کامل به لینک زیر مراجعه نمایید.
https://zarinp.al/300848
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top