انجمنهای فارسی اوبونتو
تازه کار => انجمن تازهکاران => نویسنده: nazparvar.oveis در 17 شهریور 1395، 01:41 بظ
-
سلام . وقت بخیر
تازه وارد هستم تو لینوکس :)
کلا می خوام از matlab استفاده نکنم و یک جایگزین مناسب پیدا کنم
واقعا گیج شدم و نمی دونم چی کار کنم .
کلی تو نت جستجو کردم ولی به نتیجه ی درستی نرسیدم . هر کی یک نظری داشت
وقت یادگیری کد های جدید رو هم تقریبا دارم
از یه طرف دوست دارم برم scilab رو کار کنم و کلا متلب و octave رو بزارم کنار . از یه طرف مشکل تحویل پروژه ها هست که حتما باید متلب باشه
چند تا سوال دارم که ممنون میشم نظرتون رو بگید
1- با فرض اینکه وقت یادگیری کد های جدید رو داشته باشم . بهترین برنامه برای محاسبات مهندسی و دارای simulink چی هست ( چه از لحاظ فنی و چه از لحاظ آسونی ) ؟ ( scilab , octave , R , Python , ... ) . و آسون بودن کد ها هم مد نظر هست
3- این python چی هست . تا اونجایی که تو نت جستجو کردم یه زبان برنامه نویسی جدید هست . میشه توش مثل متلب کار کرد ؟ یعنی بخش simulink هم داره ؟
4- یادگیری python سخته و چقدر طول میکشه ؟ و اینکه ارزش داره وقتم رو روش بزارم و کلا متلب رو بیخیال بشم ؟ اصلا تو ایران و دانشگاه ارزش داره ؟
5- و اینکه python چه کار های دیگه ای میشه باهاش انجام داد ؟
ممنون میشم نظرتون رو بگید .
-
چند تا سوال دارم که ممنون میشم نظرتون رو بگید
1- با فرض اینکه وقت یادگیری کد های جدید رو داشته باشم . بهترین برنامه برای محاسبات مهندسی و دارای simulink چی هست ( چه از لحاظ فنی و چه از لحاظ آسونی ) ؟ ( scilab , octave , R , Python , ... ) . و آسون بودن کد ها هم مد نظر هست
اکتیو و آر.
این دوتا معمولا جایگزین متلب استفاده میشند ولی اینکه کدوم سیمولینک داره و نداره نمیدونم چون تاحالا از سیمولینک استفاده نکردم!
3- این python چی هست . تا اونجایی که تو نت جستجو کردم یه زبان برنامه نویسی جدید هست . میشه توش مثل متلب کار کرد ؟ یعنی بخش simulink هم داره ؟
باهر زبانی که راحت باشی میتونی با اون کدی که میخای رو بزنی و خروجی بگیری ولی به شرط اینکه بتونی مدیریت میزان خطا و مباحث آنالیز عددی رو خودت انجام بدی! که اینکار زمان زیادی میبره و دانش کافی میخاد
4- یادگیری python سخته و چقدر طول میکشه ؟ و اینکه ارزش داره وقتم رو روش بزارم و کلا متلب رو بیخیال بشم ؟ اصلا تو ایران و دانشگاه ارزش داره ؟
5- و اینکه python چه کار های دیگه ای میشه باهاش انجام داد ؟
ممنون میشم نظرتون رو بگید .
یادگیری پایتون ساده و کم زمان.. تسلط و قدرت زمانبر!
خیلی کارها... تقریبا همه جا!
-
اکتیو و آر.
یه نگاهی که به اکتیو انداختم simulink نداشت . R سیمولینک داره ؟
باهر زبانی که راحت باشی میتونی با اون کدی که میخای رو بزنی و خروجی بگیری ولی به شرط اینکه بتونی مدیریت میزان خطا و مباحث آنالیز عددی رو خودت انجام بدی! که اینکار زمان زیادی میبره و دانش کافی میخاد
میشه بیشتر توضیح بدین ؟ کجاش دقیقا سخته ؟
-
شما توی چه زمینهای میخوای از نرمافزارهای ریاضیاتی استفاده کنی؟ اینجوری بهتر میشه نظر داد.
نکته انحرافی: یک زبون رو قشنگ مسلط باشی بهتر از این هست که ده تا زبون رو نصفه نصفه بلد باشی.
-
شما توی چه زمینهای میخوای از نرمافزارهای ریاضیاتی استفاده کنی؟ اینجوری بهتر میشه نظر داد.
نکته انحرافی: یک زبون رو قشنگ مسلط باشی بهتر از این هست که ده تا زبون رو نصفه نصفه بلد باشی.
از سیمولینک متلب استفاده دارم کم و بیش . و اینکه متلب رو به یک نرم افزار دیگه ( aspen plus ) لینک می کنیم
و کد نویسی برای محاسبات درسی و ایجاد function در متلب استفاده می کنم . رسم نموار هم که هست
یه برنامه ای که همه ی این کار ها رو انجام بده و قدرت فنی هم داشته باشه که بتونم اساتید رو قانع کنم برای استفاده از اون
-
از سیمولینک متلب استفاده دارم کم و بیش . و اینکه متلب رو به یک نرم افزار دیگه ( aspen plus ) لینک می کنیم
تا حالا از سیمولینک استفاده نکردم نمیتونم نظر بدم. اون نرمافزار رو هم که چک کردم مثل اینکه کارهای شیمی رو انجام میده.
و کد نویسی برای محاسبات درسی و ایجاد function در متلب استفاده می کنم . رسم نموار هم که هست
تو کاری که داری انجام میدی دو حالت داره. یا فقط خودت قرار هست که ازش استفاده کنی یا اینکه شما در یک گروه کار میکنی و قرار هست که دیگران بر پایهی کارهای شما محاسبات دیگهای رو انجام بدن یا اینکه در آینده کدهای شما قرار هست توسط شخص دیگری توسعه داده بشه.
اگر برای خودت هست، از چیزی استفاده کن که راحتتری. اگر قرار هست که دیگران اعضای گروه هم استفاده کنن که در اون صورت باید ببینی که دیگران چه چیزهایی بلد هستن و چیا نه.
به صورت کلی، پایتون یک زبون برنامهنویسی عمومی هست که یادگیری اون به نسبت آسون هست. ولی یک عده از scientist ها دیدن که این زبون استفاده ازش راحت هست، نشستن یک سری library برای کارهای علمی نوشتن براش. که اتفاقا این libraryها بسیار بسیار قوی هستن و به راحتی میشه خیلی از کارهای توی آکادمیا رو انجام داد باهاش. مثل چی؟ مثل matplotlib که میشه با اون برای نمودارکشیدن استفاده کرد (http://matplotlib.org/gallery.html). یا از numpy که میشه برای کارهای جبرخطی استفاده کرد (https://docs.scipy.org/doc/numpy-dev/user/numpy-for-matlab-users.html) اگه خواستی نمونه کدهاش توی اینترنت زیاد هست. هم خود زبون برنامهنویسی پایتون و این کتابخونهها نرمافزار آزاد هستن.
در آخر کار هم توصیه من این هست که برای هرکدام از اینها یک روز کامل وقت بذار ببین کدهاشون چجوری هست، چه ضعفهایی دارن و چجوری هستن. مخصوصا توی loopهای زیاد.
یه برنامه ای که همه ی این کار ها رو انجام بده و قدرت فنی هم داشته باشه که بتونم اساتید رو قانع کنم برای استفاده از اون
میتونی براشون توضیح بدی ولی زیاد روی این گزینه حساب نکن. خیلی از استادها نمیتونن با تکنولوژیهای روز خودشون رو وفق بدن، چون یادگیری چیزهای جدید امتیاز نداره، بجاش تند و تند مقاله چاپ کردن ارزش داره!
-
اکتیو و آر.
یه نگاهی که به اکتیو انداختم simulink نداشت . R سیمولینک داره ؟
باهر زبانی که راحت باشی میتونی با اون کدی که میخای رو بزنی و خروجی بگیری ولی به شرط اینکه بتونی مدیریت میزان خطا و مباحث آنالیز عددی رو خودت انجام بدی! که اینکار زمان زیادی میبره و دانش کافی میخاد
میشه بیشتر توضیح بدین ؟ کجاش دقیقا سخته ؟
درود
دوست عزیز یه نکته رو توجه داشته باشید.
در دروس دوره ی دبیرستان ما درس محاسبات آماری رو مطالعه می کنیم. محاسباتی که در دروس رشته های مهندسی انجام میشه محاسباتی آماری نیستند محاسبات عددی هستند (دوستانی که رشته های مهندسی رو گذرونده باشند حتما یک درسی دقیقا با همین نام رو گذروندند)
matlab یک محیط برنامه نویسی برای محاسبات عددی هستش، هرچند قابلیت کار برای محاسبات آماری رو نیز داره (چیزی که ما توی دوره ی دبیرستان میبینیم، محاسبات آماری هستند)
R یک زبان برنامه نویسی برای محاسبات آماری هستش، هرچند میتونه در محاسبات عددی هم کاربرد داشته باشه.
معمولا در رشته هایی مثل فیزیک که محاسبات آماری بیشتر از محاسبات عددی کاربرد دارند، R رو میتونیم جایگزین matlab کنیم.
اما ما در رشته های مهندسی با محاسبات عددی سر و کار داریم و از این نظر R نامناسب ترین گزینه محسوب میشه. پس اگر هدفتون جایگزین کردن یک نرم افزار به جای matlab در محاسبات عددی هستش باید بیخیال R بشین.
نکته ی دوم اینکه matlab نسخه ی لینوکس داره
نکته ی سوم اینکه matlab یک استاندارد آموزشی هستش. اگر به tasis های مقالات خارجی در سطوح مختلف در رشته های مهندسی توجه کنید متوجه میشین قریب به اتفاق با matlab در بحث محاسبات عددی اون قسمت و طراحی های شماتیک اون قسمت پرداخته شده. معمولا در داوری ها برای تایید و یا رد مقالات بین المللی نیز اگر مقالتون به غیر از matlab نوشته شده باشه رد میشه (مگر اینکه هدف مقاله بیشتر معرفی قابلیت های نرم افزار مربوطه رو داشته باشه تا نمایش یک سری محاسبات)
به صورت جمع بندی:برای چیزی که میخواین تقریبا میشه گفت محیط جایگزین وجود نداره. شما نمیتونین به راحتی اساتید رو متقاعد کنید که از نرم افزار دیگه ای به جای متلب برای ارایه ی خودتون استفاده کنید (این وسط یک استثنا وجود داره، مگر اینکه مقالتون کامل راجع به ویژگی های نرم افزار مربوطه باشه و در اون مورد توضیح بده)
اگر به syntax متلب علاقه دارین octave جواب میده. البته octave فاقد چیزی شبیه simulink هستش. همچنین matlab دارای toolbox های زیادی هستش که در octave کامل پورت نشدند.
اگر هم بیشتر مد نظرتون simulink هستش و syntax زیاد مهم نیست scilab یک قسمتی به نام xcos داره که مشابه simulink عمل میکنه (البته انتظار نداشته باشین که هرچی تو matlab میکشین بلاکش دقیقا همون تو scilab باشه. معمولا بلاک ها در matlab ساده شده هستند و به عنوان مثال ورودی کلاک سورس توسط خود محیط اعمال میشه و نیاز به ورودی جداگونه نداره اما scilab نیاز به ورودی جداگونه برای قسمت کلاک برای سورس داره). در بحث toolbox ها هم به نسبت octave این scilab بسیار بهتر عمل میکنه. اما مشکل اینه که syntax این نرم افزار با matlab متفاوته (هرچند قسمت ترجمه ی کد متلب به scilab داره اما خروجی نهایی تبدیل میشه به یک کد scilab)
بنده مقاله ی خودم شبیه سازی سیستم قدرت یک ناو دریایی با استفاده از scilab بود که رد شد. بدون تغییر محتوای کلی مقاله و با جایگزینی جاهایی که از scilab استفاده شده بود با matlab مقالم پذیرفته شد.
-
مرسی از جوابتون
پس با حرف های شما مجبور به استفاده از متلب هستم :(
من تنها مشکلی که با متلب دارم همون بحث آزاد نبودنش هست . یعنی دوست ندارم که از برنامه ای که آزاد نیست استفاده کنم
البته یک نرم افزار هست که مربوط به رشتم هست ( aspen plus ) که اینم آزاد نیست ولی مجبورم ازش استفاده کنم به همین خاطر ویندوز هم نصب دارم کنارش :(
فک کنم متلب رو هم باید جز استثناء ها قرار بدم و ازش استفاده کنم
و حتما میرم که python رو یاد بگیرم البته در کنار متلب
-
برای محاسبات عددی و علمی پایتون بهترینه و برای محاسبات آماری R عالیه و البته باز هم پایتون خیلی خیلی خوبه برای این کار.
-
جولیا (http://julialang.org) چه وضعی داره، عددی یا آماری؟!
من از زبان دوستام در رشته های مختلف اسم فورترن رو زیاد می شنوم.
-
زمانی که از خود فرد تلف میشه خیلی مهمتر از زمانی هست که CPU مصرف میکنه. سختافزار ارزونتر از وقت برنامهنویس هست.
-
معمولا در داوری ها برای تایید و یا رد مقالات بین المللی نیز اگر مقالتون به غیر از matlab نوشته شده باشه رد میشه (مگر اینکه هدف مقاله بیشتر معرفی قابلیت های نرم افزار مربوطه رو داشته باشه تا نمایش یک سری محاسبات)
در تایید مقالات توی کنفرانسهای معتبر، نرمافزار مورد استفاده هیچ نقشی رو بازی نمیکنه. نرمافزار فقط یک ابزار هستش :)
-
زمانی که از خود فرد تلف میشه خیلی مهمتر از زمانی هست که CPU مصرف میکنه. سختافزار ارزونتر از وقت برنامهنویس هست.
فورترن رو گفتید؟
منم پاسخ شما رو به دوستام دادم. اما اونا می گن که این زبانیه که استادهاشون و استادهای استادهاشون و استادهای استادهای....شون ازش استفاده کردن و به همین خاطر کتابخونه های گسترده ای داره و تو جامعه علمی افراد متخصص زیادی داره و حتی کدهای آماده زیادی به این زبان وجود داره
بنده مقاله ی خودم شبیه سازی سیستم قدرت یک ناو دریایی با استفاده از scilab بود که رد شد. بدون تغییر محتوای کلی مقاله و با جایگزینی جاهایی که از scilab استفاده شده بود با matlab مقالم پذیرفته شد.
بار دوم که متلبیش کردید، به همون ژورنال اولی فرستادین؟
-
فورترن رو گفتید؟
منم پاسخ شما رو به دوستام دادم. اما اونا می گن که این زبانیه که استادهاشون و استادهای استادهاشون و استادهای استادهای....شون ازش استفاده کردن و به همین خاطر کتابخونه های گسترده ای داره و تو جامعه علمی افراد متخصص زیادی داره و حتی کدهای آماده زیادی به این زبان وجود داره
یکی از استاید ما که کلا کارش انجام پروژه های پتروشیمی هست میگه که یک مهندس هم فورترن و هم متلب رو باید یاد داشته باشه . ولی این حرفش فقط اذیت کردن دانشجوهاست . چون طرف اوایل رفته سمت فورترن ولی الان فقط داره با متلب کار می کنه . حتی فک کنم فورترن رو تو سیستمش نداشته باشه :D
کلا فک کنم اوایل چون متلب نبوده یا دسترسی بهش نداشتن رفتن سمت فورترن ( 15 الی 20 سال پیش منظورمه ) تقریبا . یک عده حوصله نداشتن بیان متلب رو یاد بگیرن تو همون فورترن وایستادن . ولی یک عده مثل استاد ما اومده تو متلب !!
-
توی سرورهای محاسباتیای که دست من هست (توی دو سازمان مختلف) تقریبا قسمت اعظم کارهای تحقیقاتیشون در زمینهی داروسازی و فیزیک با فورترن هست.
احتمالا دلیل اصلی کتابخانههایی هست که از قبل به زبان فورترن نوشته شده و نمیخوان تمام اونها رو دوبارهنویسی کنند.