رفتن به مطلب

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

فایل jpeg_read.mexw32 چی؟ اینم برا لینوکسه؟

حالا که win من 64 بیتی، نمیشه از این استفاده کرد؟ حتما باید 32 باشه؟

 

خب اینم 32 بیتی هست دیگه، توی این آدرس مثل اینکه 64 بیتی ش هم وجود داره:

 

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

 

ببینین می تونین ازش استفاده کنین، اینجا هم فایل mexش رو می ذارم.

 

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

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

لینک به دیدگاه
دوباره سلام

من فایل c رو برای IDCT و DCT پیدا کردم، حالام visual stadio 2012 رو نصب دارم.

چطور میتونم فایل mexw64 تولید کنم؟

 

سلام

اول چک کنین، ام فایلی به نام compile یا mex یا مثلا فایل readme و چیزایی شبیه به اینا وجود نداره، اگه باشه خب از همون روشی که توضون توضیح داده استفاده کنین، اگه هم نداشته باشه یه بار با دستور mex امتحان کنین، شاید جواب بده. البته قبلش که باید این ویژوال استدیو رو به متلب معرفی کنین.

لینک به دیدگاه

ممنون آقای انصاری:icon_gol::icon_gol:

خداروشکر درس شد:w16:

خودش توضیح خاصی نداشت، طبق آموزشتون اول ویژال استادیو رو بهش معرفی کردم بعدش بادستور mex IDCT.c تونستم فایل mex برای ویندوز 64 بیتی رو تولید کنم.

بازم ممنون:icon_gol:

لینک به دیدگاه
  • 1 ماه بعد...

با [SIZE=3][FONT=bnazanin][RIGHT][I] سلام
من [/I][/RIGHT][/FONT][B][FONT=bnazanin]Microsoft SDK 7.1 رو نصب کردم. وقتی فرمان mex -setup را در command window میزنم پیغام زیر را میده:

[/FONT][/B][/SIZE][B][B]MEX configured to use 'Microsoft Windows SDK 7.1 (C)' 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:
[url]http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html[/url].


To choose a different language, select one from the following:
mex -setup C++
mex -setup FORTRAN

و وقتی که دستور mex -setup C++ را میزنم پیغام زیر میاد:

MEX configured to use 'Microsoft Windows SDK 7.1 (C++)' 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:
[url]http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html[/url].

اما وقتی که دستور mex -setup fortran را میزنم خطای زیر را نشان میده:

Error using mex
No supported compiler or SDK was found. For options, visit [url]http://www.mathworks.com/support/compilers/R2014a/win64[/url].

کسی میدونه علت چیه؟
سوال بعدی کتاب یا مقاله ای هست که نوشتن کدهای فرترن در متلب و نحوه اجرای آنها را آموزش بده؟

با تشکر
[email]am_221gh@YAHOO.com[/email]


[/B][/B]

لینک به دیدگاه
با

سلام

من

Microsoft SDK 7.1 رو نصب کردم. وقتی فرمان mex -setup را در command window میزنم پیغام زیر را میده:

 

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:

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

 

 

To choose a different language, select one from the following:

mex -setup C++

mex -setup FORTRAN

 

و وقتی که دستور mex -setup C++ را میزنم پیغام زیر میاد:

 

MEX configured to use 'Microsoft Windows SDK 7.1 (C++)' 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:

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

 

اما وقتی که دستور mex -setup fortran را میزنم خطای زیر را نشان میده:

 

Error using mex

No supported compiler or SDK was found. For options, visit

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

 

کسی میدونه علت چیه؟

سوال بعدی کتاب یا مقاله ای هست که نوشتن کدهای فرترن در متلب و نحوه اجرای آنها را آموزش بده؟

 

با تشکر

am_221gh@YAHOO.com

 

 

سلام

دوست عزیز این کامپایلر C و ++C هست، نیاز هم نیست که برای هر دو از دستور mex -setup استفاده کنین، همینکه یه بار معرفیش کردین کافیه. برای فورترن هم باید از کامپیایلر این زبان استفاده کنین و معرفیش کنین به متلب.

راستش آشنایی با این زبان ندارم، ولی اشتباه نکنم یه فایلی بود که کد فورترن رو به متلب تبدیل می کرد، اگه پیداش کنم اینجا براتون می ذارم.:a030:

لینک به دیدگاه

سلام

دوست عزیز این کامپایلر C و ++C هست، نیاز هم نیست که برای هر دو از دستور mex -setup استفاده کنین، همینکه یه بار معرفیش کردین کافیه. برای فورترن هم باید از کامپیایلر این زبان استفاده کنین و معرفیش کنین به متلب.

راستش آشنایی با این زبان ندارم، ولی اشتباه نکنم یه فایلی بود که کد فورترن رو به متلب تبدیل می کرد، اگه پیداش کنم اینجا براتون می ذارم.:a030:

 

با سپاس از پاسخ شما

حقیقتش تا اونجایی که تحقیق کردم فرترن سریع تر از CPP هست و من قصد دارم بجای اجرای توابع mex در CPP اونها را در فرترن اجرا کنم تا سریع تر جواب بگیرم. اما هرچی جستجو می کنم کتاب با وب سایتی که بتونه راهنماییم کنه پیدا نمی کنم. اگه شما منبعی سراغ دارید معرفی کنید.

در ضمن بلد نبودم پست شما را سپاس بزنم، برای همین اینجا می نویسم سپاس :ws3:

لینک به دیدگاه
با سپاس از پاسخ شما

حقیقتش تا اونجایی که تحقیق کردم فرترن سریع تر از CPP هست و من قصد دارم بجای اجرای توابع mex در CPP اونها را در فرترن اجرا کنم تا سریع تر جواب بگیرم. اما هرچی جستجو می کنم کتاب با وب سایتی که بتونه راهنماییم کنه پیدا نمی کنم. اگه شما منبعی سراغ دارید معرفی کنید.

در ضمن بلد نبودم پست شما را سپاس بزنم، برای همین اینجا می نویسم سپاس :ws3:

 

خواهش می کنم، خب به خاطر اینه که از C و ++C خیلی بیشتر برای اینکار استفاده میشه، تفاوت سرعتشون هم نمی دونم چجوری هست، ولی خب مهم ترین عاملی که وجود داره تسلط برنامه نویس به اون زبان هست، حتی با متلب هم خیلی وقت ها میشه یه کدی نوشت که سریع اجرا بشه، ولی توی روند های تکراری متلب نمی تونه سریع باشه.

 

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

 

سپاس زدین که، لطف دارین، ممنون.:ws3::icon_gol:

لینک به دیدگاه

با سلام

من یک برنامه توی متلب نوشتم یک حلقه تکرار داره و زمان اجرای اون هم خیلی زیاده. برای 100000 سیکل حدود 100 دقیقه طول میکشه. تا آنجایی که می توانستم کد را بصورت بهینه نوشتم تا سریعترین سرعت را داشته باشه. با تبدیل کد به mex (تبدیل به CPP) سرعت محاسبات حدودا 1.3 برابر بیشتر شد اما باز هم خیلی کمتر از انتظارات من هست. حالا می خواهم به mex فرترن تبدیل کنم تا شاید سرعتش بیشتر باشه اما نمیدونم چطوری و منبعش رو پیدا نمی کنم...

 

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

 

با سپاس

لینک به دیدگاه
با سلام

من یک برنامه توی متلب نوشتم یک حلقه تکرار داره و زمان اجرای اون هم خیلی زیاده. برای 100000 سیکل حدود 100 دقیقه طول میکشه. تا آنجایی که می توانستم کد را بصورت بهینه نوشتم تا سریعترین سرعت را داشته باشه. با تبدیل کد به mex (تبدیل به CPP) سرعت محاسبات حدودا 1.3 برابر بیشتر شد اما باز هم خیلی کمتر از انتظارات من هست. حالا می خواهم به mex فرترن تبدیل کنم تا شاید سرعتش بیشتر باشه اما نمیدونم چطوری و منبعش رو پیدا نمی کنم...

 

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

 

با سپاس

 

سلام

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

 

خود متلب هم فکر نکنم سرعت اجرای کد های mex برابر همون سرعت باشه که با سی نوشته بشه و از کامپایلر این زبان هم استفاده بشه.

لینک به دیدگاه
  • 3 هفته بعد...

سلام.

من نرم افزار

microsoft visual c

++

2010

روی سیستم من نصب هست. ولی وقتی تو محیط متلب مینویسم mex -setup و عباراتی میاد و من y رو میزنم ، باید لیستی بیاد که عدد مربوط به کامپایلر رو بزنم، اون نمیاد و ارور میده که:

Error using mex (line 206)

unable to complete successfully

 

نمیدونم چرا اینطوری میشه. من حتی تو c++ کد هم نوشتم. ولی تو این محیط این کانپایلر رو پیدا نمیکنه. ممنون میشم راهنماییم کنید.

لینک به دیدگاه
سلام.

من نرم افزار

microsoft visual c

++

2010

روی سیستم من نصب هست. ولی وقتی تو محیط متلب مینویسم mex -setup و عباراتی میاد و من y رو میزنم ، باید لیستی بیاد که عدد مربوط به کامپایلر رو بزنم، اون نمیاد و ارور میده که:

Error using mex (line 206)

unable to complete successfully

 

نمیدونم چرا اینطوری میشه. من حتی تو c++ کد هم نوشتم. ولی تو این محیط این کانپایلر رو پیدا نمیکنه. ممنون میشم راهنماییم کنید.

 

سلام دوست عزیز

متن پیام ها رو کامل میذارین، از اولی که این دستور رو اجرا می کنین منظورمه، یا مثلا یه عکسی ازش بگیرین بذارین اینجا.

لینک به دیدگاه

سلام.

ببینید اول این که شبیه سازی که کردم و خواستم نتیجه بگیرم نشد این هست که یه ثابت constant به matlab function دادم و یه scope گذاشتم برای خروجی. وقتی اجرا میکنم ارور میده که :

unable to locate a c-compiler required by state flow and MATLAB Function blocks. use 'mex -setup' to select a supportd c-compiler

 

وقتی تو صفحه command windows مینویسم : mex -setup این میاد که:

 

please choose your compiler for building MEX-files:

would you like mex to locate installed compilers y/n?

 

و من تایپ میکنم y ، ارور میده:

 

no supported SDK or compiler was found on this computer.

 

error using mex (line 206)

unable to compelete-successfully

 

قبلا هم خدمتتون عرض کردم که من visual c++ 2010 رو سیستمم نصب هست.

 

یه برنامه دانلود کردم با پسوند

. mexw64

که این تا جایی که میدونم مربوط به این هست که این فایل توسط کامپایلر c خونده میشه و اینکه سیستمش 64 بیتی هست.

سیستم من هم 64 بیتی هست. و متلبی که نصب هست 2012 هست. اگه متلبم رو 2014 کنم این مشکل برطرف میشه؟ چون این برنامه که دانلود کردم داخل متلب 2014 شبیه سازی شده.

لینک به دیدگاه

سلام

یه سوال کلی!

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

حالا این گیر خاصی نداره؟

لینک به دیدگاه
سلام.

ببینید اول این که شبیه سازی که کردم و خواستم نتیجه بگیرم نشد این هست که یه ثابت constant به matlab function دادم و یه scope گذاشتم برای خروجی. وقتی اجرا میکنم ارور میده که :

unable to locate a c-compiler required by state flow and MATLAB Function blocks. use 'mex -setup' to select a supportd c-compiler

 

وقتی تو صفحه command windows مینویسم : mex -setup این میاد که:

 

please choose your compiler for building MEX-files:

would you like mex to locate installed compilers y/n?

 

و من تایپ میکنم y ، ارور میده:

 

no supported SDK or compiler was found on this computer.

 

error using mex (line 206)

unable to compelete-successfully

 

قبلا هم خدمتتون عرض کردم که من visual c++ 2010 رو سیستمم نصب هست.

 

یه برنامه دانلود کردم با پسوند

. mexw64

که این تا جایی که میدونم مربوط به این هست که این فایل توسط کامپایلر c خونده میشه و اینکه سیستمش 64 بیتی هست.

سیستم من هم 64 بیتی هست. و متلبی که نصب هست 2012 هست. اگه متلبم رو 2014 کنم این مشکل برطرف میشه؟ چون این برنامه که دانلود کردم داخل متلب 2014 شبیه سازی شده.

 

سلام

متلب کامپیایلری که نصب کردین رو نمی شناسه، می تونین از این لینک چک کنین که چه کامپایلر هایی رو میشه نصب کرد:

[h=1]

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

البته

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.
توی لیست هست، ولی احتمالا برای شما این ورژنش نباشه. می تونین SDK 7.1 که توی صفحه اول این تاپیک توضیح داده شده استفاده کنین، برای ورژن های بالاتر متلب هم به احتمال زیاد نمی تونین از این کامپایلر استفاده کنین.

 

 

اما در مورد فایلی که دانلود کردین، mex فایل ها کدهای کاپایل شده C و ++C و فورترن هستن که میشه داخل متلب ازشون استفاده کرد، برای استفاده ازشون نیاز به کامپایلر ندارین، برای تولیدشون نیاز به کامپایلر هست.:a030:

لینک به دیدگاه
سلام

یه سوال کلی!

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

حالا این گیر خاصی نداره؟

 

سلام

منظورتون استفاده از فایل های MEX هست؟

اگه برای همون سیستم عامل (مثلا ویندوز 64) ایجاد شده باشه، نه توی اجراش مشکل پیش نمیاد، البته موقع نصب کامپیایلر و معرفیش به متلب ممکنه یه خورده دردسر داشته باشه. هر کامپیایلر سی ساپورت نمی کنه، کد سی هم برای تبدیل به mex باید فرمت مشخصی داشته باشه.

لینک به دیدگاه
  • 4 هفته بعد...

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...