تمرین) برنامهای بنویسید که یک عدد از کاربر دریافت نموده و خروجی زیر را در 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
PROGRAMMING - COMPUTER
practic1.pdf
پاسخ تمرین سوم از سری اول)
قسمت الف) در صفحه کامند ویندو دستورات زیر را بنویسید. البته قبل از شروع به نوشتن کد هر قسمت با نوشتن کدهای clear all و clc و سپس زدن دکمه اینتر صفحات کامند ویندو و ورکاسپیس را پاک کنید.
x = 0:pi/100:2*pi;
plot(x,sin(x),x,cos(x))
در دو خط کد بالا با نوشتن هر خط اینتر بزنید تا نتایج کد اجرا شود. برای نوشتن بازه مورد نظر از کد زیر استفاده کردهایم.
x = 0:pi/100:2*pi;
در این کد سه عدد قرار گرفتهاند که با دو نقطه از هم جداشدهاند. عدد اول، ابتدای بازه و عدد آخر انتهای بازه را نمایش میدهند. سپس یک گام برای بازه مورد نظر در نظر میگیریم. مثلا در بازه 0 و 2*pi گام 100/pi را در نظر میگیریم. بنابراین عدد وسط گام را نشان میدهد.
سپس با دستور زیر دو نمودار مورد نظر را رسم میکنیم.
plot(x,sin(x),x,cos(x))
در این دستور ابتدا متغیر مستقل و سپس تابع مورد نظر برای رسم را مینویسیم. با دستور plot هر تعداد که بخواهیم میتوانیم تابع رسم کنیم، فقط توجه داشته باشید که حتما باید ابتدا متغیر مستقل را تعریف، سپس تابع را تعریف نماییم.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
قسمت الف) در صفحه کامند ویندو دستورات زیر را بنویسید. البته قبل از شروع به نوشتن کد هر قسمت با نوشتن کدهای clear all و clc و سپس زدن دکمه اینتر صفحات کامند ویندو و ورکاسپیس را پاک کنید.
x = 0:pi/100:2*pi;
plot(x,sin(x),x,cos(x))
در دو خط کد بالا با نوشتن هر خط اینتر بزنید تا نتایج کد اجرا شود. برای نوشتن بازه مورد نظر از کد زیر استفاده کردهایم.
x = 0:pi/100:2*pi;
در این کد سه عدد قرار گرفتهاند که با دو نقطه از هم جداشدهاند. عدد اول، ابتدای بازه و عدد آخر انتهای بازه را نمایش میدهند. سپس یک گام برای بازه مورد نظر در نظر میگیریم. مثلا در بازه 0 و 2*pi گام 100/pi را در نظر میگیریم. بنابراین عدد وسط گام را نشان میدهد.
سپس با دستور زیر دو نمودار مورد نظر را رسم میکنیم.
plot(x,sin(x),x,cos(x))
در این دستور ابتدا متغیر مستقل و سپس تابع مورد نظر برای رسم را مینویسیم. با دستور plot هر تعداد که بخواهیم میتوانیم تابع رسم کنیم، فقط توجه داشته باشید که حتما باید ابتدا متغیر مستقل را تعریف، سپس تابع را تعریف نماییم.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
تدریس خصوصی نرمافزار متلب به صورت آنلاین و حضوری در مباحث زیر:
۱- دوره مقدماتی نرمافزار متلب
۲- یادگیری ماشین
۳- الگوریتمهای فراابتکاری
۴- بهینهسازی
جهت هماهنگی به آیدی زیر پیام دهید.
@basirahmadi7371
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
۱- دوره مقدماتی نرمافزار متلب
۲- یادگیری ماشین
۳- الگوریتمهای فراابتکاری
۴- بهینهسازی
جهت هماهنگی به آیدی زیر پیام دهید.
@basirahmadi7371
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
تمرین)سری دوگانه زیر را به ازای مقادیر n از 1 تا 10 و m از 1 تا 100 بیابید. فقط دقت داشته باشید به ازای مقادیر m = 5n مقادیر وجود ندارند و نباید محاسبه شود.
(2nm) + (n^3) - (m^2)
کد تمرین روز پنجشنبه در کانال قرار خواهد گرفت.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
(2nm) + (n^3) - (m^2)
کد تمرین روز پنجشنبه در کانال قرار خواهد گرفت.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
PROGRAMMING - COMPUTER
practic1.pdf
پاسخ تمرین سوم از سری اول)
قسمت ب) در صفحه کامند ویندو دستورات زیر را بنویسید. البته قبل از شروع به نوشتن کد هر قسمت با نوشتن کدهای clear all و clc و سپس زدن دکمه اینتر صفحات کامند ویندو و ورکاسپیس پاک میشوند.
کد این مسئله به صورت زیر میباشد.
x = linspace(0,2*pi,200);
plot(x,sin(x),'b',x,cos(x),'r',x,sin(x)+... cos(x),'g',x,(sin(x)).^2,'y')
legend('sin(x)','cos(x)','sin(x)+cos(x)',...
'(sin(x)).^2')
xlabel(' x ')
ylabel(' y ')
برای تعریف بازه، از دستور زیر استفاده شده است.
x = linspace(0,2*pi,200);
در این دستور، سه عدد به کار میرود، که عدد اول شروع بازه، عدد دوم انتهای بازه و عدد سوم تعداد نقاطی است که در این بازه تعریف میشود. در این مثال، بازه مورد نظر به ۲۰۰ نقطه تقسیم شده است.
سپس با دستور plot چهار نمودار با رنگهای مختلف رسم شده است.
plot(x,sin(x),'b',x,cos(x),'r',x,sin(x)+... cos(x),'g',x,(sin(x)).^2,'y')
زمانی که طول یک دستور زیاد بود، و اگر بخواهید ادامه آن را در خط بعد بنویسید، باید در انتهای خط اول سه نقطه (...) بگذاریم و ادامه دستور را در خط بعد بنویسیم.
در این دستور برای رسم هر نمودار با رنگهای مختلف، باید سه پارامتر پشت سرهم برای هر نمودار تعریف کنیم. پارامتر اول متغیر مستقل، پارامتر دوم تابع مورد نظر و پارامتر سوم نوع رنگ مدنظر میباشد که باید بین کوتیشن ('رنگ') قرار گیرد. رنگهای تعریف شده به صورت پیشفرض در متلب به صورت زیر میباشند.
زرد y ارغوانی m فیروزهای c قرمز r
سبز g آبی b سفید w سیاه k
سپس با دستور legend برای هر نمودار باتوجه به نوع رنگ آن یک عنوان انتخاب میکنیم.
legend('sin(x)','cos(x)','sin(x)+cos(x)',...
'(sin(x)).^2')
توجه داشته باشید، به تعداد نمودارهای موجود باید درون دستور legend عنوان بنویسیم. چون عنوان به صورت رشته میباشد، بنابراین باید آن را درون کوتیشن تعریف نماییم.
در نهایت با دستورات زیر برچسب محورهای مختصات را مشخص مینماییم.
xlabel(' x ')
ylabel(' y ')
دقت داشته باشید، درون کوتیشنها هر متنی نوشته شود، همان در زیر هرکدام از محورها نمایش داده خواهد شد.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
قسمت ب) در صفحه کامند ویندو دستورات زیر را بنویسید. البته قبل از شروع به نوشتن کد هر قسمت با نوشتن کدهای clear all و clc و سپس زدن دکمه اینتر صفحات کامند ویندو و ورکاسپیس پاک میشوند.
کد این مسئله به صورت زیر میباشد.
x = linspace(0,2*pi,200);
plot(x,sin(x),'b',x,cos(x),'r',x,sin(x)+... cos(x),'g',x,(sin(x)).^2,'y')
legend('sin(x)','cos(x)','sin(x)+cos(x)',...
'(sin(x)).^2')
xlabel(' x ')
ylabel(' y ')
برای تعریف بازه، از دستور زیر استفاده شده است.
x = linspace(0,2*pi,200);
در این دستور، سه عدد به کار میرود، که عدد اول شروع بازه، عدد دوم انتهای بازه و عدد سوم تعداد نقاطی است که در این بازه تعریف میشود. در این مثال، بازه مورد نظر به ۲۰۰ نقطه تقسیم شده است.
سپس با دستور plot چهار نمودار با رنگهای مختلف رسم شده است.
plot(x,sin(x),'b',x,cos(x),'r',x,sin(x)+... cos(x),'g',x,(sin(x)).^2,'y')
زمانی که طول یک دستور زیاد بود، و اگر بخواهید ادامه آن را در خط بعد بنویسید، باید در انتهای خط اول سه نقطه (...) بگذاریم و ادامه دستور را در خط بعد بنویسیم.
در این دستور برای رسم هر نمودار با رنگهای مختلف، باید سه پارامتر پشت سرهم برای هر نمودار تعریف کنیم. پارامتر اول متغیر مستقل، پارامتر دوم تابع مورد نظر و پارامتر سوم نوع رنگ مدنظر میباشد که باید بین کوتیشن ('رنگ') قرار گیرد. رنگهای تعریف شده به صورت پیشفرض در متلب به صورت زیر میباشند.
زرد y ارغوانی m فیروزهای c قرمز r
سبز g آبی b سفید w سیاه k
سپس با دستور legend برای هر نمودار باتوجه به نوع رنگ آن یک عنوان انتخاب میکنیم.
legend('sin(x)','cos(x)','sin(x)+cos(x)',...
'(sin(x)).^2')
توجه داشته باشید، به تعداد نمودارهای موجود باید درون دستور legend عنوان بنویسیم. چون عنوان به صورت رشته میباشد، بنابراین باید آن را درون کوتیشن تعریف نماییم.
در نهایت با دستورات زیر برچسب محورهای مختصات را مشخص مینماییم.
xlabel(' x ')
ylabel(' y ')
دقت داشته باشید، درون کوتیشنها هر متنی نوشته شود، همان در زیر هرکدام از محورها نمایش داده خواهد شد.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
پاسخ تمرین سوم از سری اول)
قسمت ج) در صفحه کامند ویندو دستورات زیر را بنویسید. البته قبل از شروع به نوشتن کد هر قسمت با نوشتن کدهای clear all و clc و سپس زدن دکمه اینتر صفحات کامند ویندو و ورکاسپیس پاک میشوند.
کد این مسئله به صورت زیر میباشد.
x = linspace(0,2*pi,200);
subplot 221
plot(x,sin(x))
subplot 222
plot(x,cos(x))
subplot 223
plot(x,sin(x)+cos(x))
subplot 224
plot(x,sin(x).^2)
برای تعریف بازه، از دستور زیر استفاده شده است. توضیحات کامل این دستور در تمرین قبلی آمده است.
x = linspace(0,2*pi,200);
سپس برای تعریف چند نمودار در یک صفحه اما به صورت جدا از هم از دستور subplot استفاده شده است. بسته به تعداد نمودارهایی که میخواهید رسم کنید، شما میتوانید تعداد subplotها را مشخص نمایید. در اینجا، هدف رسم ۴ نمودار میباشد. بنابراین ما صفحه را به چهار قسمت تقسیم میکنیم. جلوی دستور subplot سه عدد قرار میگیرند که به ترتیب عدد اول تعداد تقسیمات صفحه به صورت سطری میباشد. مثلا در این مثال ۲ سطر داریم که نمودارها در آنها تقسیم میشوند. عدد دوم مربوط به تعداد تقسیمات ستونی میباشند. ضرب تعداد سطرها و تعداد ستونها تعداد نمودارهای نمایشی برای ما را نشان میدهند. در این مثال عدد اول و دوم هر دو ۲ میباشند که با هم ضرب شوند ۴ میشود و تعداد نمودارها ۴ میشود. عدد سوم جایگاه نمودار موردنظر را نشان میدهد. و از یک شروع میشود و تا تعداد نمودارها تغییر میکند.
بعد از هربار استفاده از subplot باید از دستور plot که توضیحات آن قبلا داده شده است، قرار میگیرد.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
قسمت ج) در صفحه کامند ویندو دستورات زیر را بنویسید. البته قبل از شروع به نوشتن کد هر قسمت با نوشتن کدهای clear all و clc و سپس زدن دکمه اینتر صفحات کامند ویندو و ورکاسپیس پاک میشوند.
کد این مسئله به صورت زیر میباشد.
x = linspace(0,2*pi,200);
subplot 221
plot(x,sin(x))
subplot 222
plot(x,cos(x))
subplot 223
plot(x,sin(x)+cos(x))
subplot 224
plot(x,sin(x).^2)
برای تعریف بازه، از دستور زیر استفاده شده است. توضیحات کامل این دستور در تمرین قبلی آمده است.
x = linspace(0,2*pi,200);
سپس برای تعریف چند نمودار در یک صفحه اما به صورت جدا از هم از دستور subplot استفاده شده است. بسته به تعداد نمودارهایی که میخواهید رسم کنید، شما میتوانید تعداد subplotها را مشخص نمایید. در اینجا، هدف رسم ۴ نمودار میباشد. بنابراین ما صفحه را به چهار قسمت تقسیم میکنیم. جلوی دستور subplot سه عدد قرار میگیرند که به ترتیب عدد اول تعداد تقسیمات صفحه به صورت سطری میباشد. مثلا در این مثال ۲ سطر داریم که نمودارها در آنها تقسیم میشوند. عدد دوم مربوط به تعداد تقسیمات ستونی میباشند. ضرب تعداد سطرها و تعداد ستونها تعداد نمودارهای نمایشی برای ما را نشان میدهند. در این مثال عدد اول و دوم هر دو ۲ میباشند که با هم ضرب شوند ۴ میشود و تعداد نمودارها ۴ میشود. عدد سوم جایگاه نمودار موردنظر را نشان میدهد. و از یک شروع میشود و تا تعداد نمودارها تغییر میکند.
بعد از هربار استفاده از subplot باید از دستور plot که توضیحات آن قبلا داده شده است، قرار میگیرد.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
PROGRAMMING - COMPUTER
تمرین)سری دوگانه زیر را به ازای مقادیر n از 1 تا 10 و m از 1 تا 100 بیابید. فقط دقت داشته باشید به ازای مقادیر m = 5n مقادیر وجود ندارند و نباید محاسبه شود. (2nm) + (n^3) - (m^2) کد تمرین روز پنجشنبه در کانال قرار خواهد گرفت. کانال برنامهنویسی و کامپیوتر:…
پاسخ)
کد این تمرین به صورت زیر میباشد.
clear all
clc
sum = 0;
for n = 1:10
for m =1:100
sum = sum + (2*n*m) + (n^3) - (m^2);
if m == 5*n
continue
end
end
end
disp(sum)
در این کد، چون سری دوگانه است، از دو حلقه for تودرتو استفاده شده است. همچنین از کاربرد continue نیز استفاده شده است. توضیحات این کد، همانند مثال ارائه شده برای سری یگانه میباشد که کد و توضیحات آن در کانال موجود میباشد.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
کد این تمرین به صورت زیر میباشد.
clear all
clc
sum = 0;
for n = 1:10
for m =1:100
sum = sum + (2*n*m) + (n^3) - (m^2);
if m == 5*n
continue
end
end
end
disp(sum)
در این کد، چون سری دوگانه است، از دو حلقه for تودرتو استفاده شده است. همچنین از کاربرد continue نیز استفاده شده است. توضیحات این کد، همانند مثال ارائه شده برای سری یگانه میباشد که کد و توضیحات آن در کانال موجود میباشد.
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
This media is not supported in your browser
VIEW IN TELEGRAM
آموزش ویدیویی دوره مقدماتی نرمافزار متلب
تیزر جلسه نهم: رسم دو بعدی (ادامه)، رسم نمودارهای دو بعدی خاص
زمان: ۲۴:۲۰
قیمت: ۳۰۰۰ تومان
مدرس: آقای مهندس شعبانی
جهت دانلود فایل کامل به لینک زیر مراجعه نمایید.
https://zarinp.al/302098
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
تیزر جلسه نهم: رسم دو بعدی (ادامه)، رسم نمودارهای دو بعدی خاص
زمان: ۲۴:۲۰
قیمت: ۳۰۰۰ تومان
مدرس: آقای مهندس شعبانی
جهت دانلود فایل کامل به لینک زیر مراجعه نمایید.
https://zarinp.al/302098
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
1.ppt
809.5 KB
جلسه اول آموزش نرمافزار متلب
دانشگاه صنعتی اصفهان
#آموزش_متلب_صنعتی_اصفهان
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
دانشگاه صنعتی اصفهان
#آموزش_متلب_صنعتی_اصفهان
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
2.ppt
401.5 KB
جلسه دوم آموزش نرمافزار متلب
دانشگاه صنعتی اصفهان
#آموزش_متلب_صنعتی_اصفهان
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
دانشگاه صنعتی اصفهان
#آموزش_متلب_صنعتی_اصفهان
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
Media is too big
VIEW IN TELEGRAM
آموزش ویدیویی دوره مقدماتی نرمافزار متلب
تیزر جلسه دهم: رسم سه بعدی
زمان: ۲۶:۲۲
قیمت: ۳۰۰۰ تومان
مدرس: آقای مهندس شعبانی
جهت دانلود فایل کامل به لینک زیر مراجعه نمایید.
https://zarinp.al/302699
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top
تیزر جلسه دهم: رسم سه بعدی
زمان: ۲۶:۲۲
قیمت: ۳۰۰۰ تومان
مدرس: آقای مهندس شعبانی
جهت دانلود فایل کامل به لینک زیر مراجعه نمایید.
https://zarinp.al/302699
#آموزش_ویدیویی_مقدماتی
کانال برنامهنویسی و کامپیوتر:
@programming_computer_top