رفتن به مطلب

ارسال های توصیه شده

  • 2 سال بعد...

سلام من برای نصب کامپایلرها

اول ویژوال استودیو 2017 رو نصب کردم

بعد Microsoft .NET Framework 4.5.2

 

دانلود کردم و نصب کردم

ولی بعضی گزینه ها مثل c++ , netdevelopment غیر فعال هستند و در آخر نصب failed میشه

گفتین net framework ها باید اول حذف بشن بعد از نصب sdk دوباره نصب بشن

ویزوال استودیو 2017 خودش چند ورژن نت فریم ورک رو نصب می کنه

من سیستمم 8.1 و متلب 2014a هست

الان کل نت فریم ورک ها رو حذف کنم؟

تصویر فایل های نصب شده تو سیستم رو فرستادم

میشه بفرمایید کدوم رو حذف کنم

یک سوال دیگه ایا موقع نصب باید اینترنت وصل باشه؟

ممنونم

6.jpg

لینک به دیدگاه
  • 6 ماه بعد...
در در 30 تیر 1393 در 14:41، Imaaan گفته است :

 

gij4x8av40pnjw4imsyh.png

 

 

 

متلب با استفاده از فایل های MEX می تونه برنامه های نوشته شده به زبان های ++C/C و Fortran رو اجرا کنه، MEX از MATLAB Executable گرفته شده، شامل کدها و توابع کامپایل شده ی ++C/C و Fortran هستن که همانند M-fileها و فانکشن های Build-in متلب از داخل Command Window قابل اجرا هستن.

استفاده از MEX فایل ها دو مزیت می تونه داشته باشه:

 

 

 

  1. استفاده از کد های ++C/C و Fortran موجود، بدون نیاز به نوشتن دوبارشون داخل متلب و تبدیلشون به M-file (البته برای تبدیل به MEX هم باید یه تغییراتی توی کدنویسی فایل ها انجام بشه)
  2. حل مشکل سرعت در عملیات های تکراری (مثل حلقه های for)، کاهش زمان اجرای محاسبات کند با استفاده از نوشتن برنامه به زبان های ++C/C و Fortran و تبدیلشون به MEX. حتی خود شرکت Mathworks هم یکی از کارهایی که برای افزایش سرعت اجرای بعضی از فانکشن های Build-in متلب استفاده کرده، همین هست.

 

برای تبدیل کدهای ++C/C و Fortran به MEX نیاز به کامپیایلر همین زبان ها داریم، حتی در ورژن های جدید متلب بعضی از بلوک های سیمولینک مثل Matlab Function بدون کامپالر قابل استفاده نیستن، برای معرفی یه کامپایلر به متلب می تونیم از دستور MEX استفاده کنیم، داخل Command Window می نویسیم:

 

:100: البته این صحبت ها بیشتر در مورد متلب 64 بیتی هستش، توی ورژن های 32 بیتی همزمان با نصب متلب یه کامپایلر هم نصب میشه، که متلب برای بیشتر کارها می تونه ازش استفاده کنه.

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
 

 

بعد از اینکه این دستور رو اجرا می کنیم، متلب کامپایلر هایی که روی سیستم نصب هست رو لیست می کنه. مثلا اگه از ++Visual Studio C استفاده می کنین، توی این لیست نشون داده میشه. با وارد کردن عدد کنار هر کدوم از این کامپایلرهای لیست شده، می تونیم اون رو به عنوان کامپایلری که متلب ازش استفاده کنه انتخاب کنیم. در ادامه هم از ما برای تایید این کامپالر سوال می کنه، که باید تایید کنیم. در آخر هم یه چنین عبارتی رو بهمون نشون میده:

 

 

MEX configured to use 'Microsoft Windows SDK 7.1 ©' for C language compilation.

Warning: The MATLAB C and Fortran API has changed to support MATLAB variables with more than 2^32-1 elements. In the near future

 

you will be required to update your code to utilize the

new API. You can find more information about this at:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
.

 

 

 

 

اینجا کامپایلر مورد استفاده متلب Microsoft Windows SDK 7.1 مشخص شده.

اما در صورتی که کامپایلری روی سیستم نصب نباشه چیکار کنیم، این رو توی پست بعد توضیح میدم.

سلام.

اشاره کردید که موقع استفاده مستقیم از کد های سی توی متلب باید سی رو به مکس تبدیل کنیم که برای تبدیل به MEX هم باید یه تغییراتی توی کدنویسی فایل ها انجام بشه. یه چیزایی توی mathwork راجع به c MEX API خوندم که متاسفانه خیلی متوجه نشدم.می خواستم ببینم این تغییرات چی هستند و از کجا میتونم یه مطلب آموزشی خوب در این مورد پیدا کنم؟ چون کد سی که میخوام تبدیل کنم خیلی پیچیده است و شامل کلی هدر و توابع مختلف میباشد.  

متشکرم.

 

لینک به دیدگاه
  • 1 سال بعد...
در در 30 تیر 1393 در 14:41، Imaaan گفته است :

 

gij4x8av40pnjw4imsyh.png

 

 

 

متلب با استفاده از فایل های MEX می تونه برنامه های نوشته شده به زبان های ++C/C و Fortran رو اجرا کنه، MEX از MATLAB Executable گرفته شده، شامل کدها و توابع کامپایل شده ی ++C/C و Fortran هستن که همانند M-fileها و فانکشن های Build-in متلب از داخل Command Window قابل اجرا هستن.

استفاده از MEX فایل ها دو مزیت می تونه داشته باشه:

 

 

 

  1. استفاده از کد های ++C/C و Fortran موجود، بدون نیاز به نوشتن دوبارشون داخل متلب و تبدیلشون به M-file (البته برای تبدیل به MEX هم باید یه تغییراتی توی کدنویسی فایل ها انجام بشه)
  2. حل مشکل سرعت در عملیات های تکراری (مثل حلقه های for)، کاهش زمان اجرای محاسبات کند با استفاده از نوشتن برنامه به زبان های ++C/C و Fortran و تبدیلشون به MEX. حتی خود شرکت Mathworks هم یکی از کارهایی که برای افزایش سرعت اجرای بعضی از فانکشن های Build-in متلب استفاده کرده، همین هست.

 

برای تبدیل کدهای ++C/C و Fortran به MEX نیاز به کامپیایلر همین زبان ها داریم، حتی در ورژن های جدید متلب بعضی از بلوک های سیمولینک مثل Matlab Function بدون کامپالر قابل استفاده نیستن، برای معرفی یه کامپایلر به متلب می تونیم از دستور MEX استفاده کنیم، داخل Command Window می نویسیم:

 

:100: البته این صحبت ها بیشتر در مورد متلب 64 بیتی هستش، توی ورژن های 32 بیتی همزمان با نصب متلب یه کامپایلر هم نصب میشه، که متلب برای بیشتر کارها می تونه ازش استفاده کنه.

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
 

 

بعد از اینکه این دستور رو اجرا می کنیم، متلب کامپایلر هایی که روی سیستم نصب هست رو لیست می کنه. مثلا اگه از ++Visual Studio C استفاده می کنین، توی این لیست نشون داده میشه. با وارد کردن عدد کنار هر کدوم از این کامپایلرهای لیست شده، می تونیم اون رو به عنوان کامپایلری که متلب ازش استفاده کنه انتخاب کنیم. در ادامه هم از ما برای تایید این کامپالر سوال می کنه، که باید تایید کنیم. در آخر هم یه چنین عبارتی رو بهمون نشون میده:

 

 

MEX configured to use 'Microsoft Windows SDK 7.1 ©' for C language compilation.

Warning: The MATLAB C and Fortran API has changed to support MATLAB variables with more than 2^32-1 elements. In the near future

 

you will be required to update your code to utilize the

new API. You can find more information about this at:

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
.

 

 

 

 

اینجا کامپایلر مورد استفاده متلب Microsoft Windows SDK 7.1 مشخص شده.

اما در صورتی که کامپایلری روی سیستم نصب نباشه چیکار کنیم، این رو توی پست بعد توضیح میدم.

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

Error using mex
Not enough input arguments.
لینک به دیدگاه
×
×
  • اضافه کردن...