ماشین حساب

خرید ماشین حساب

ماشین حساب

خرید ماشین حساب

  • ۰
  • ۰

پاوربانک شیائومی




به عبارت ساده، بی سیم شارژ سیم پیچ گیرنده است به جریان های ساطع شده هنگام انتقال را ورق رنگی توسط کویل بی سیم شارژ فرستنده ساطع فعلی، کویل دریافت فعلی به پایان ذخیره سازی فعلی دریافت می کند.


از کاربر تقاضا نظر بی سیم شارژ سیم پیچ فرستنده و بی سیم شارژ سیم پیچ گیرنده عملکرد مشابه، بین دو نیاز وجود دارد به منظور شکل حالت شارژ بی سیم است.


با پیشرفت تکنولوژی الکترونیک بر این باورند که در بعد چند سال یا بیش از 10 سال شارژ بی سیم تلفن همراه خواهد شد در هر خانواده وجود دارد بی سیم شارژ سیم پیچ صنعت در نقطه نامرئی انفجار یساولی خواهد شد.

  • landika blog
  • ۰
  • ۰


اگر مقدار یک متغیر را بخواهید بدانید می توانید آن را با نوشتن نام متغیر مشاهده کنید. در این صورت MATLAB نام متغیر و به دنبال آن علامت تساوی را نشان داده و سپس مقدار را در سطر یا سطور بعد می نویسد. برای دیدن مقدار متغیر بدون آنکه لازم باشد دوباره نام آن و علامت تساوی را مشاهده کنید می توانید دستور disp را بکار ببرید.


» x=[2 4 5];


» disp(x)


2          4         5


» y='www.Mathworks.ir';


» disp(y)


www.Mathworks.ir


پنجره MATLAB را می توانید با دستور clc پاک کنید:


» clc


 


همانطور که قبلا" دیدید دستور format compact باعث می شود که خطوط اضافی هنگام ارائه نتایج حذف گردند.


دستور format دارای کاربردهای فراوان دیگری نیز هست. فرض کنید که می خواهید مولفه های بردار زیر را روی صفحه نمایش ببینید:


 


» v=exp(-10*(1:5))


v =


1.0e-004 *


0.4540             0.0000             0.0000             0.0000             0.0000


 


واضح است که در حالت فعلی نمی توانید مقادیر مولفه ها را بخوانید. در این وضعیت می توانید با کمک دستور format نحوه نمایش اعداد را تغییر دهید:


 


» format long


» v


v =


1.0e-004 *


Columns 1 through 4


0.45399929762485     0.00002061153622     0.00000000093576    0.00000000000004


Column 5


0.00000000000000


مشاهده می کنید با وجود اینکه این دستور تعداد اعداد نشان داده شده بعد از ممیز را افزایش می دهد ولی هنوز قادر نیست که همه مولفه های بردار مورد نظر را بطور مناسبی نمایش دهد. در چنین حالتی بهتر است اعداد را با استفاده از نماد علمی به نمایش بگذارید:


 


» format short e


» v


v =


4.5400e-005    2.0612e-009    9.3576e-014   4.2484e-018   1.9287e-022


 


برای اطلاع بیشتر از امکانات دستور format توصیه می شود که توضیحات مربوط به این دستور را در help مطالعه کنید.

  • landika blog
  • ۰
  • ۰

ماشین حساب


همانطور که قبلا اشاره شد، گرافیک هندلی این قابلیت را در اختیار کاربران متلب قرار می دهد که اشیای موجود را به صورت اختصاصی در آورند و به شکل دلخواه خود نمایش دهند.یکی از این اشیا محورهای مختصات نموداهای متلب است.

عملیاتی چون تغییر رنگ، جهت، حتی تغییر نوشته های اعداد با هندل های گرافیکی امکانپذیر شده است.در این پست بخش های از این قابلیت به صورت مثال معرفی می شود.


ابتدا نمودار زیر را رسم می کنیم


t = 0:900;

plot(t,0.25*exp(-0.05*t))




 


 


 


گرچه متلب به صورت خود به خود محورها را به گونه ای تنظیم می کند تا در بازه ی درخواستی رسم شود ولی همانطور که می بینید بعد از عدد 100 روی محور x ها دیگر اطلاعات مفیدی جهت نمایش وجود ندارد.

برای تنظیم محدوده ی رسم نمودار نیاز به هندل گرافیکی نمودار خواهیم داشت:


axes_handle=get(gcf,'CurrentAxes');


برای اینکه با مفهود دستور بالا آشنا شوید باید بگویم gcf هندل پنجره ی جاری نمودار شماست.هندل مسیری است که شما را از خطوط برنامه به محیط گرافیکی وصل می کند برای اینکه هر یک از اشایی گرافیکی موجود را تغییر دهید نیاز است این هندل یا مسیر را بیابید و به متلب با کمک دستور 

get معرفی کنید.


با کمک دستور زیر محدوده ی نمودار را از صفر تا 100 تنظیم می کنیم


set(axes_handle,'XLim',[0 100])


می توانید یکی از بازه ها را بی نهایت در نظر بگیرید و به متلب اجاز دهید خودش محدوده را انتخاب کند


set(axes_handle,'XLim',[0 Inf])


برای تغییر محدوده ی محور yها از YLimاستفاده کنید.


هر محور مختصات دارای تیک است که اعداد خواص را مشخص می کند. تیک های این نمودار اعداد 

0و20و30 و ...هستند. با کمک دستور زیر می توانید محل های خواصی مورد نظرتان است به تیک ها اضافه کنید:


set(gca,'YTick',[0 0.05 0.075 0.1 0.15 0.2 0.25])


می بینید که در ابتدا عدد  0.075 در تیک ها دیده نمی شد ولی با دستور بالا افزوده شد. متلب تیک هارا به صورت مساوی با تعداد نقاطی که مشخص می کنید انتخاب می کند.می توانید هیجان بیشتری به کار خود بخشیده و بجای اعداد از کلمات نیز استفاده کنید:


set(gca,'YTickLabel','0|0.05|Cutoff|0.1|0.15|0.2|0.25')


و در انتها با کمک دستور زیر می توانید راستای محورهای مختصات را معکوس کنید:


set(gca,'XDir','reverse')




متن کامل برنامه


t = 0:900;

plot(t,0.25*exp(-0.05*t))

axes_handle=get(gcf,'CurrentAxes');

set(axes_handle,'XLim',[0 100])

set(gca,'YTick',[0 0.05 0.075 0.1 0.15 0.2 0.25])

set(gca,'YTickLabel','0|0.05|Cutoff|0.1|0.15|0.2|0.25')

set(gca,'XDir','reverse')


  • landika blog
  • ۰
  • ۰

ماشین حساب یا این که حسابگر یا رایِشگر وسیله‌ای برای انجام محاسبات عددی است . ماشین حساب‌های متفاوت کاربردهای مختلفی دارا هستند . ساده‌ترین آن‌ها فقط محاسبات جمع , تفریق , ضرب و تقسیم را انجام می دهند . ماشین حساب های توسعه یافته تر می توانند گونه های توابع اصلی ریاضی را پیاده سازی نمایند . ماشین حساب‌ های نوین در واقع تلفیقی از ماشین حساب و رایانه می‌باشند و تجهیزات گسترده تر و پر سرعت تری همچون ترسیم نمودار را در اختیار یوزرها قرار می دهند . 

او‌لین ماشینهای آنالوگ در دوران باستان برای محاسبات نجومی استفاده می شدند که از آن جمله می توان به اسطرلاب 100 - 150 سال پیش از به دنیا آمدن مسیح اشاره کرد . در سال 1622 شخصی به‌ نام ویلیام اوترد اولین خط‌ کش محاسبه ( Slide Rule ) را ابتکار کرد . ویلهلم شیکارد در سال 1623 دستگاهی به ‌نام ساعت محاسباتی را ساخت که می‌توان آن را او‌لین ماشین حساب مکانیکی نامید . بیست سال بعد از آن هم پاسکال وسیله به ‌نام «پاسکالین» را برای محاسبه مالیات در فرانسه تولیدکرد . 

پاسکال برای بی نقص کردن فکرش پنجاه مثال مختلف از این ماشین را ساخت کرد . با ماشینی که در سال 1642 ساخت , می‌شد با موفقیت عددهای چند رقمی را با نیز جمع و تفریق کرد . دیدنی است بدانید که پاسکال , ماشین حساب را برای ساده و راحت تر کردن عمل ماموران مالیاتی که در آن زمان فعالیت پدرش نیز بود , ساخته بود . 

در ماشین حساب پاسکال 6 چرخ دندانه دار نصب شده بود و هر چرخ ده دندانه داشت . هر دندانه نمایشگر یکی از ارقام صفر تا 9 بود . این چرخ‌ها طوری در جوار یکدیگر قرار گرفته بودند که دوران کامل یک چرخ , دوران چرخ‌های بعدی به‌اندازه یک دندانه را باعث می‌شد . علاوه بر این , چرخها از راست به چپ به ترتیب نماینده مرتبه‌های یکان , دهگان , صدگان , . . . عدد بودند . سی سال بعداز پاسکال , یک ریاضی دان آلمانی به اسم لایبنیتز در تکمیل نوآوری پاسکال کوشید و ماشینی ساخت کرد که به کمک آن می‌شد اعمال ضرب و تقسیم را نیز انجام بخشید و حتی جذر گرفت . ابتکار لایبنیتز بسیاری از مشکلات فنی ماشین را برطرف کرد و مسیر را برای تکامل این ماشینها بازنمود . با این وجود , مسئله ماشینهای اکانت سالها به بوته فراموشی سپرده شد و تنها صاحبان صنایع برای ایجاد و رواج این ماشینها کوششهایی انجام دادند . 

  • landika blog
  • ۰
  • ۰


ماشین حساب

متلب چند دستور جهت تبدیل دستگاه مختصات به یکدیگر دارد. در زیر آنها را توضیح می دهم:


1. [theta,rho,z] = cart2pol (x,y,z)


2. [theta,rho] = cart2pol (x,y)


دستور cart2pol جهت تبدیل دستگاه مختصات کارتزین به قطبی می باشد. دستور اول برای سیستم سه بعدی و دستور دوم برای سیستم دو بعدی می باشد.


 


3. [teta,phi,r] = cart2sph (x,y,z)


دستور cart2sph جهت تبدیل دستگاه مختصات کارتزین به کروی می باشد.


 


 


 


 


4. [x,y,z] = pol2cart (theta,rho,z)


5. [x,y] = pol2cart (theta,rho)


دستور pol2cart جهت تبدیل دستگاه قطبی به کارتزین می باشد. دستور اول برای سیستم سه بعدی  و دستور دوم برای سیستم دو بعدی می باشد.


 


6. [x,y,z] = sph2cart (teta,phi,r)


دستور sph2cart جهت تبدیل سیستم مختصات کروی به کاتزین می باشد.


 


اما متلب توابعی برای تبدیل مختصات کروی و قطبی به یکدیگر ندارد. هر چند با دانستن توابع بالا ، دو تبدیل کروی به قطبی و قطبی به کروی نیز کاملا ساده می باشد. اما برای رفاه حال شما این دو تابع در زیر آمده است. می توانید این دوتابع را در databank توابع خود ذخیره کنید تا در صورت نیاز از آنها استفاه کنید.


تابع تبدیل مختصات قطبی به کروی:


function [teta,phi,r] = pol2sph (theta,rho,z)


%pol2sph Transform polar to spherical coordinates.


%class support for inputs ; theta , rho , z : float - - > double , single


%mathworks.ir 2011


[x,y,zz] = pol2cart (theta,rho,z);


teta=atan2(y,x);


phi=atan2(zz,hypot(x,y));


r=sqrt(x.^2+y.^2+z.^2);


return


تابع تبدیل مختصات کروی به قطبی:


function [theta,rho,z] = sph2pol (teta,phi,r)


%sph2pol Transform spherical to polar coordinates.


%class support for inputs ; theta , rho , z : float - - > double , single


%mathworks.ir 2011


[x,y,zz]=sph2cart(teta,phi,r);


theta=atan2(y,x);


rho=hypot(x,y);


z=zz;


return

  • landika blog
  • ۰
  • ۰


در این پست به استراتژی اختصاص حافظه اولیه و نقش آن در سرعت اجرای برنامه، اشاره شد. در پاسخ به نظر یکی از دوستان در همین پست، مطلبی در مورد افزایش سرعت اجرای برنامه ها در متلب، نوشته شد که به نظر آمد که جمع بندی آن برای سایر دوستان نیز می تواند مفید باشد و تصمیم گرفتیم با تکمیل آن، مطالب منتشر شده را در قالب یک پست مجزا منتشر کنیم. این پست کوتاه که مشتمل بر چند گام ساده است را در ادامه می بینم.

ماشین حساب

 


۰) حافظه را مدیریت کنید. در برخی برنامه ها مدت زمان زیادی صرف تخصیص حافظه می شود. این پست (+) در متلب سایت این موضوع را به خوبی توضیح می دهد. بطور خلاصه با این کار شما زمان تلف شده برای ایجاد و حذف متغیرها در متلب را از میان بر می دارید.


 


۱) نمایش متغیر های اضافی را متوقف نمایید. بسته به سرعت کارت گرافیکی، ممکن است شما در لوپ های درونی متغیرهایی را نشان دهید که به دلیل سرعت بالای اجرای برنامه در ظاهر دیده نشوند. این متغیرها می توانند سرعت زیادی از برنامه بگیرند. تنها متغیرهایی را نشان دهید که واقعاً برای مانیتورینگ نیاز هستند.


 


۲) سعی کنید لوپ های اضافی و زاید برنامه تان را حذف کنید و تا حد ممکن برداری کار کنید. مثلاً یک برنامه آموزش شبکه عصبی به صورت برداری می تواند ۱۰۰ ها برابر با برنامه ای که عملیات را به جای بردارها با استفاده از حلقه های for اضافی انجام می دهد، تفاوت داشته باشد.


 


۳) به جای توابع جستجو همانند دستور find، معادل منطقی آنها را استفاده نمایید. مثلاً اگر می خواهید عناصر مساوی ۱۰ در یک بردار را پیدا کرده و آنها را با ۲۰ جایگزین کنید، وقت برنامه را برای پیدا کردن اندیس تک تک ۱۰ ها و جایگزینی آنها با ۲۰ تلف نکنید. یعنی به جای


>> I  = find(A==10);


>> A(I) = 20;


بصورت ساده ای بنویسید:


>> A(A==10)=20;


 


۴) با استفاده از امکانات بخش Profiler در متلب برنامه تان را از لحاظ زمانی، آنالیز کنید و bottleneck (گلوگاه) های زمانی را پیدا کرده و رفع نمایید. این بخش متلب زمان صرف شدن در هر تابع و زیر تابع را به شما می دهد. شکل زیر نمایی از Profiler در متلب را نشان می دهد.


نمونه ای از عملکرد Profiler در متلب


 


۵) برنامه در حالت پی کد (pcode)، معمولاً سریعتر از حالت عادی اجرا می شود. همچنین پی کد کردن امکان خوبی برای در اختیار گذاشتن برنامه دیگران هست. زیر آنها می توانند برنامه شما را اجرا کنند ولی نمی توانند داخل آن را مشاهده نمایند.


 


۶) از parfor به جای for معمولی برای اجرای موازی برنامه خود استفاده نمایید. در این حالت باید از پردازنده چند هسته ای مثلا Core2 و … استفاده نمایید. در این حالت می توان تقریباً به تعداد هسته ها برنامه را سریعتر نمود. همچنین توجه نمایید که باید تغییرات مختصری در برنامه خود ایجاد نمایید. در این حالت داشتن memory بالا نیز نیاز هست.


 


۷) از MEX برای اجرای بخشی از برنامه خود در زبان سی (C) استفاده نمایید. متلب این قابلیت را دارد که کدهای نوشته شما در متلب را به راحتی به کد سی تبدیل نماید. در این حالت باید برنامه متلب را تا حد زیادی آماده برای این کار نمایید. مثلاً ماتریس ها باید مقدار دهی اولیه شوند (pre-allocation). در این مورد به زودی فیلم جامعی در متلب سایت عرضه خواهد شد. در طی این مدت سعی کنید از راهنمای متلب استفاده نمایید.


 

  • landika blog
  • ۰
  • ۰


آب شیرین کن دستگاه تصفیه آب از دید افراد مختلف، معانی متفاوتی دارد. اغلب مردم عبارت " آب شیرین کن " را تنها برای شیرین سازی آب دریا به کار می برند و با کاربرد آن، درباره خارج کردن مواد معدنی از آب زیرزمینی به منظور تصفیه و پالایش آب تحت تحلیل اقتصادی برای مصارف آشامیدنی یا صنعتی، و نیز احیا و استفاده مجدد از فاضلاب خانگی آشنایی ندارد.


عملی و نیز اقتصادی بودن شیرین سازی آب، به طور مستقیم به غلظت جامدات محلول و دسترسی به گزینه های دیگر تامین آب، بستگی دارد. به طوری که با افزایش غلظت نمک، هزینه واحد آب شیرین کن نیز افزایش می یابد. بنابراین بررسی تمام روش های تامین آب به منظور به حداقل رساندن هزینه ها، بسیار مهم است. در عین حال، بررسی تمام فرایندهای مناسب آب شیرین کن ضروری است.


آب شیرین کن دریایی


شیرین سازی آب دریا


دامنه تغییرات کل جامدات محلول در آب دریاها از 35100 میلی گرم در لیتر در حالت استاندارد، تا بیش از 46000 میلی گرم در لیتر در خلیج فارس است. به منظور تولید آب قابل استفاده برای مصرف بشر، باید بیش از 98/5 درصد از این نمک ها خارج شوند.


تمام فرایندهای آب شیرین کن شامل دو نوع آب خروجی است: یکی جریان آب شیرین تولیدی که در اصل همان آب تصفیه شده می باشد و دیگری جریان پساب غلیظ شده آب نمک می باشد که شامل آب به همراه نمک خارج شده از آب تولید شده است. اگرچه از نظر فنی صحیح نمی باشد؛ اما در فرایند آب شیرین کن، عبارت شوراب به جای پساب غلیظ شده آب نمک به کار می رود. در واحدهای آب شیرین کن ( آب دریا )، غلظت نمک در آب نمک خروجی، می تواند تا دو برابر غلظت نمک در آب دریا باشد.


از آنجا که تاسیسات آب شیرین کن ها در نزدیکی دریا واقع شده اند، پساب غلیظ شده از واحد آب شیرین کن معمولا بدون ایجاد مشکلی به دریا تخلیه می شود و این آب به سرعت با حجم زیادی از آب موجود، رقیق می شود.


شیرین سازی آب زیرزمینی


آبخوان های آب زیرزمینی بالغ بر 90 درصد منابع آب شیرین دنیا را تشکیل می دهند. اغلب این منابع بسیار عمیق بوده و بهره برداری از آنها دور از دسترس است. همچنین آن بخش که در دسترس است، اکثرا محتوی غلظت بالایی از مواد معدنی مانند کلسیم می باشند که باعث سختی آنها می شود.


به آبی که میزان کل جامدات محلول آن بین 1000 و 10000 میلی گرم در لیتر باشد، آب لب شور اطلاق می گردد. این آب برای مصرف بشر مناسب نمی باشد، اما اغلب اوقات، شیرین سازی آن، به منظور ایجاد یک منبع آب شیرین متناوب بسیار ارزان تر از آب دریاست.


چون منابع آب زیرزمینی اغلب در مناطقی دور از دریاها واقع شده اند، یافتن روش مناسب زیست محیطی برای تخلیه پساب امری دشوار است.


احیای فاضلاب


پیشرفت همزمان شیرین سازی آب دریا و تصفیه و استفاده مجدد از فاضلاب، اتفاقی نمی باشد. پیشرفت های فنی مشابه که هزینه تاسیسات آب شیرین کن را کاهش داده است، باعث شده که پروژه های استفاده مجدد از فاضلاب، در مناطقی که سابقا به آنها توجهی نمی شد، مطرح گردند. در حال حاضر تعداد رو به افزایش پروژه های تامین آب خانگی و صنعتی، استفاده مجدد از فاضلاب را به عنوان گزینه ای اقتصادی که نسبت به خشکسالی نیز حساس نیست، مطرح می نماید.


منظور از احیای فاضلاب، همان تصفیه و یا فرایند تبدیل فاضلاب به کیفیتی است که مجددا قابل استفاده باشد. استفاده مجدد اشاره به استفاده سودمند از فاضلاب تصفیه شده دارد.


بسیاری از پروژه های استفاده مجدد از فاضلاب خانگی، از فرایندهای تصفیه درجه 3 متداول مانند زلال سازی ( ته نشین سازی مواد معلق ) و فیلتراسیون برای حذف جامدات معلق ریز استفاده می کنند و به این ترتیب آب را برای استفاده مجدد به منظور مصارف غیر شرب مانند آبیاری و خنک کننده های صنعتی، مناسب می سازند.


فناوری آب شیرین کن، می تواند برای تولید آب با کیفیت بالا نیز به کار رود که به تصفیه مجدد آب اشاره دارد. این آب با کیفیت بالا را می توان به گونه ای اصلاح کرد که تقریبا برای هر نوع استفاده غیر مستقیم شرب یا مصارف صنعتی مانند استفاده در دیگ های بخار، قابل کاربرد باشد.


در حال حاضر استفاده مجدد از فاضلاب خانگی به منظور مصارف شرب محدود به مناطقی با نیاز بسیار شدید است. اگرچه با فناوری های پیشرفته تبدیل فاضلاب به آب قابل مصرف شهری، می توان آبی تولید کرد که حتی از سخت ترین استانداردهای آب آشامیدنی نیز بالاتر باشد، اما هنوز به لحاظ روانی، مردم آمادگی پذیرش استفاده از فاضلاب به عنوان آب شرب را ندارند.

  • landika blog
  • ۰
  • ۰


پاور بانک شیائومی ۲۰ هزار میلی‌آمپرساعتی را قبلاً در لیست محصولات متنوعش قرار داده بود. اکنون نوبت مدلی جدید است که کارایی بهتری دارد. این بار پاوربانک شیائومی نه تنها گوشی‌ها را سریع شارژ می‌کند، بلکه خود نیز زودتر شارژ می‌شود. قبلاً مدل‌هایی با پشتیبانی از شارژ سریع ۲.۰ رونمایی شده بود؛ این بار شارژ سریع ۳.۰ که در حقیقت وسایل را با ولتاژ ۵.۱ ولت و جریان ۲.۴ آمپر شارژ می‌کند، در پاوربانک پیاده‌سازی شده است. اگر از هر دو پورت USB‌ استفاده کنیم، جریان الکتریکی ۳.۶ آمپر بین دو پورت تقسیم می‌شود.


در حالت تک‌پورتی، حالت‌های دیگر یعنی ۹ ولت با ۲ آمپر جریان و ۱۲ ولت با ۱.۵ آمپر جریان الکتریکی نیز پشتیبانی می‌شوند. در هر دو صورت توان الکتریکی منتقل شده به وسیله‌ی همراه، ۱۸ وات است که عددی بسیار عالی است. با شارژرها و پاوربانک‌های معمولی مقایسه کنید که ۵ ولت و ۱.۵ الی ۲ آمپر و به عبارت دیگر ۷ الی ۱۰ وات توان الکتریکی به گوشی شما می‌رسانند!


شیائومی قیمت این پاوربانک بزرگ و سریع را حدود ۲۱ دلار در نظر گرفته که مثل نمونه‌ی قبلی است و از روز ۱۹ دسامبر آن را روانه‌ی بازار می‌کند. احتمالاً قیمتی که برای سایر بازارها در نظر گرفته شده، کمی بالاتر از بازار چینی‌ها است.

  • landika blog
  • ۰
  • ۰

Decision Mak

ing

ماشین حساب

ساختار های Decision making نیاز به این دارد که برنامه نویس یک یا چند شرایط مشخص را ارزیابی کند یا برنامه را امتحان کند، اگر وضعیت مشخص شده درست باشد، گزاره یا گزاره ها را اجرا می کند و اگر  وضعیت مشخص شده درست نباشد، گزاره های دیگر را اجرا می کند. در شکل زیر، ساختار کلی Decision making که در بیشتر زبان های برنامه نویسی دیده می شود.


clip_image001


 


متلب انواع مختلفی از decision making ها را تولید می کند.


Statement


Description


if ... end statement


یک if ... end statement شامل عبارت بولین که یک یا چند گزاره پیروی می کند.


if...else...end statement


یک if statement که از یک else statement اختیاری پیروی می کند و وقتی که عبارت بولین نادرست است اجرا می شود.


If... elseif...elseif...else...end statements


If می تواند از یک یا چند elseif... و یک گزاره else استفاده کند که برای امتحان کردن موقعیت های مختلف مفید است.


nested if statements


می توانیم از گزاره if یا elseif خارج از if یا elseif دیگر استفاده کرد.


switch statement


گزاره switch اجازه می دهد که برابری یک مقدار را از لیست مقادیر بررسی می کند.


nested switch statements


می توانیم از یک عبارت switch خارج از عبارات switch دیگر.


 


  • landika blog
  • ۰
  • ۰


ماشین حساب


انتگرال ها به دو حالت زیر تقسیم می شود.


در نوع اول، مشتق یک تابع داده شده و تابع را پیدا می کنیم. بنابراین وارون روابط مشتق عمل می کنیم. این روابط وارون پاد مشتق نام دارند و تابع اولیه آن ها را پیدا می کنند به عبارت دیگر به آن انتگرال نامعین می گوییم.


نوع دوم مسائل با اضافه شدن تعداد خیلی زیاد از مقادیر خیلی کوچک به وجود می آید و گرفتن حد در اندازه مقادیر نزدیک به صفر که تعداد این تقسیمات به بینهایت میل می کند. به این نوع، انتگرال معین می گوییم.


از انتگرال معین برای مساحت، حجم، مرکز ثقل، ممان اینرسی ، کار تولید شده توسط نیرو در نرم افزار های متعدد استفاده می شود.


حل انتگرال های نامعین در متلب


اگر f'(x) مشتق تابع f(x) باشد، آنگاه انتگرال نامعین f'(x) نسبت به متغیر x، تابع f(x) می باشد. برای مثال، مشتق x2، تابع 2x می باشد. می توانیم بگوییم که انتگرال نامعین 2x تابع x2 می باشد.


به صورت زیر


f'(x2) = 2x


بنابراین


∫ 2xdx = x2


انتگرال نا معین منحصر به فرد نمی باشد زیرا مشتق تابع x2 + c برای مقادیر ثابت c، تابع 2x می باشد.


این به صورت زیر بیان می شود.


∫ 2xdx = x2 + c


که c ثابت اختیاری نامیده می شود.


متلب برای محاسبه انتگرال یک عبارت از دستور int استفاده می کند. برای بدست آوردن انتگرال نامعین یک تابع، به صورت زیر می نویسیم.


int(f);


مثال


با استفاده از مثال قبلی


syms x 

int(2*x)

متلب عبارت بالا را اجرا کرده و نتیجه زیر را بر می گرداند.


ans =

 x^2

 


مثال


یک فایل اسکریپت ایجاد کرده و کد های زیر را در آن می نویسیم.


syms x n

int(sym(x^n))

f = 'sin(n*t)'

int(sym(f))

syms a t

int(a*cos(pi*t))

int(a^x)

وقتی متلب اجرا می کند، نتیجه را به صورت زیر می نویسد.


ans =

 piecewise([n == -1, log(x)], [n ~= -1, x^(n + 1)/(n + 1)])

f =

sin(n*t)

ans =

 -cos(n*t)/n

 ans =

 (a*sin(pi*t))/pi

 ans =

 a^x/log(a)

مثال


یک فایل اسکریپت ایجاد کرده و کد های زیر را در آن می نویسیم.


syms x n

int(cos(x))

int(exp(x))

int(log(x))

int(x^-1)

int(x^5*cos(5*x))

pretty(int(x^5*cos(5*x)))

int(x^-5)

int(sec(x)^2)

pretty(int(1 - 10*x + 9 * x^2))

int((3 + 5*x -6*x^2 - 7*x^3)/2*x^2)

pretty(int((3 + 5*x -6*x^2 - 7*x^3)/2*x^2))

توجه کنیم که تابعpretty ، یک عبارت را در یک فرمت خواندنی بر می گرداند.


وقتی فایل را اجرا می کنیم، داریم.


ans =

 

sin(x)

 

 

ans =

 

exp(x)

 

 

ans =

 

x*(log(x) - 1)

 

 

ans =

 

log(x)

 

 

ans =

 

(24*cos(5*x))/3125 + (24*x*sin(5*x))/625 - (12*x^2*cos(5*x))/125 + (x^4*cos(5*x))/5 - (4*x^3*sin(5*x))/25 + (x^5*sin(5*x))/5

 

 

                                    2             4 

  24 cos(5 x)   24 x sin(5 x)   12 x  cos(5 x)   x  cos(5 x) 

  ----------- + ------------- - -------------- + ----------- - 

     3125            625             125              5 

   

        3             5 

 

    4 x  sin(5 x)   x  sin(5 x) 

     ------------- + ----------- 

          25              5

 

ans =

 

-1/(4*x^4)

 ans =

 

tan(x)

 

 

        2 

  x (3 x  - 5 x + 1)

 

ans =

 

- (7*x^6)/12 - (3*x^5)/5 + (5*x^4)/8 + x^3/2

 

 

       6      5      4    3 

    7 x    3 x    5 x    x 

  - ---- - ---- + ---- + -- 

     12     5      8     2

پیدا کردن انتگرال معین در متلب


اساسا، انتگرال معین، حد مجموع می باشد. از انتگرال های معین برای پیدا کردن مساحت ها، مانند مساحت بین منحنی و محور x ها و مساحت بین دو منحنی استفاده می کنیم. انتگرال معین در زمینه های دیگر هم به کار می رود.


رابطه ی زیر، فرمول انتگرال معین می باشد.


clip_image001[4]


دستور آن در متلب به صورت زیر می باشد.


int(x, a, b)

مثال


مقدار انتگرال زیر را بدست آورید.


clip_image002[4]


کد زیر را در متلب می نویسیم.


int(x, 4, 9)

متلب عبارت بالا را اجرا کرده و نتیجه زیر را بر می گرداند.


ans =

 65/2

کد هم ارز آن در Octave، به صورت زیر است.


pkg load symbolic

symbols

 

x = sym("x");

 

f = x;

 

c = [1, 0];

integral = polyint(c);

 

a = polyval(integral, 9) - polyval(integral, 4);

 

display('Area: '), disp(double(a));

Octave کد بالا را اجرا کرده و نتیجه را به صورت زیر بر می گرداند.


Area: 

 

 32.500

یک راه حل جایگزین در Octave، استفاده از تابع quad() می باشد.


pkg load symbolic

symbols

 

f = inline("x");

[a, ierror, nfneval] = quad(f, 4, 9);

 

display('Area: '), disp(double(a));

Octave برنامه را اجرا کرده و به صورت زیر نتیجه را نشان می دهد.


Area: 

 

 32.500

مثال


فرض کنیم می خواهیم مساحت بین محور x ها و منحنی y = x3−2x+5 و خطوط x = 1 و x = 2 را بدست آورید.


به عبارت دیگر می خواهیم انتگرال زیر را حل کنیم.


clip_image003


یک فایل اسکریپت ایجاد کرده و کد های زیر را در آن بنویسید.


f = x^3 - 2*x +5;

a = int(f, 1, 2)

display('Area: '), disp(double(a));

وقتی فایل را اجرا می کنید، نتیجه زیر حاصل می شود.


a =

23/4

Area: 

    5.7500

هم ارز کد بالا در Octave، کد های زیر می باشد.


pkg load symbolic

symbols

 

x = sym("x");

 

f = x^3 - 2*x +5;

 

c = [1, 0, -2, 5];

integral = polyint(c);

 

a = polyval(integral, 2) - polyval(integral, 1);

 

display('Area: '), disp(double(a));

Octave، کد بالا را اجرا کرده و به صورت زیر بر می گرداند.


Area: 

 

 5.7500

راه حل جایگزین در Octave، با استفاده از تابع quad()


pkg load symbolic

symbols

 

x = sym("x");

 

f = inline("x^3 - 2*x +5");

 

[a, ierror, nfneval] = quad(f, 1, 2);

display('Area: '), disp(double(a));

Octave کد بالا را اجرا کرده و نتیجه زیر را بر می گرداند.


Area: 

 

 5.7500

مثال


مساحت زیر منحنی f(x) = x2 cos(x) را در بازه −4 ≤ x ≤ 9 بدست آورید.


یک فایل اسکریپت ایجاد کرده و کد های زیر را در آن بنویسید.


f = x^2*cos(x);

ezplot(f, [-4,9])

a = int(f, -4, 9)

disp('Area: '), disp(double(a));

وقتی متلب فایل را اجرا می کند، نتیجه را به صورت نمودار زیر نشان می دهد.


clip_image004


 


خروجی به صورت زیر خواهد بود.


a =

 

8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9)

 

Area: 

    0.3326

هم ارز محاسبات بالا در Octave، کد های زیر می باشد.


pkg load symbolic

symbols

 

x = sym("x");

 

f = inline("x^2*cos(x)");

 

ezplot(f, [-4,9])

print -deps graph.eps

 

[a, ierror, nfneval] = quad(f, -4, 9);

 

display('Area: '), disp(double(a));

  • landika blog