زمان کنونی: ۰۳ آذر ۱۴۰۳, ۰۲:۵۲ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

پرانتز گذاری ضرب ماتریس ها

ارسال:
  

shirin ftf پرسیده:

پرانتز گذاری ضرب ماتریس ها

یه برنامه سی شارپ برای پرانتز گذاری ضرب ماتریس ها نوشتم یکم خطا داره
هیشکی خیر هست برناممو براش بفرستم اشکالامو بگه؟؟Blush


فایل‌(های) پیوست شده
zarb basic.txt
اندازه فایل: ۱/۳۴ KB
نقل قول این ارسال در یک پاسخ

۱
ارسال:
  

Behnam‌ پاسخ داده:

RE: پرانتز گذاری ضرب ماتریس ها

(۱۳ خرداد ۱۳۹۵ ۰۹:۰۱ ب.ظ)shirin ftf نوشته شده توسط:  یه برنامه سی شارپ برای پرانتز گذاری ضرب ماتریس ها نوشتم یکم خطا داره
هیشکی خیر هست برناممو براش بفرستم اشکالامو بگه؟؟Blush
برنامه که دارای اشکال هست اما منظورتون از پرانتزگذاری چی هست؟ قرار هست دقیقاً چه کاری انجام بدید؟
نقل قول این ارسال در یک پاسخ

۱
ارسال:
  

Behnam‌ پاسخ داده:

RE: پرانتز گذاری ضرب ماتریس ها

نقل قول: که این مدل وقتی ماتریس ها ضرب میشن(با این روش پرانتز گذاری) جواب ضرب از روش های دیگر کمتر است
نکنه منظورتون از "جواب ضرب"، تعداد عملیات لازم برای انجام عمل ضرب هست!؟ چون تغییر پرانتزها فقط روی تعداد عملیات لازم اثر میذاره.
شبه‌کد و یا کد جاوای لینک زیر رو نگاه کنید، به راحتی میتونید به سی‌شارپ تبدیل کنید. خصوصاً جاوا که کافی هست خط به خط تبدیل کنید

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

۰
ارسال:
  

blackhalo1989 پاسخ داده:

RE: پرانتز گذاری ضرب ماتریس ها

کار من سی شارپ نیست. اگه یه سی شارپ کار کدتون رو ببینه بهتر میتونه نظر بده. پرانتز گذاری ضرب ماتریس رو هم فراموش کردم. فقط چند تا نکته که به ذهنم میرسه رو میگم:
- بهتر بود خطای کدتون رو مشخص کنید. مثلا خطای سینتکسی داره یا خطای منطقی؟
- فاصله گذاری ها رو رعایت کنید. بعد و قبل از عملگر ها (مثل >=) و همینطور بعد از "," باید یه اسپیس بذارید.
- بهتره برای هر متدی که مینوسید یه داکیومنتیشن کوچیک بنویسید. مثلا اینکه اون متد چیکار می کنه، هر ورودی قراره چه مقداری بگیره، مقدار خروجی چیه، چه استثناها (exception) هایی رو میندازه بیرون و هر استثنا رو در چه صورتی میندازه بیرون.
- از اسم های فینگلیش (zarb) استفاده نکنید. zarb3 اسم خوبی نیست.
- بهتره بالای کد مشخص باشه این کد رو چه کسی و در چه تاریخی نوشته و یه توضیح کلی بدید که این کد قراره چیکار کنه.
- سعی کنید متد ها خودشون چیزی رو چاپ نکنن (مگر اینکه log باشه). بهتره خروجی رو return کنن و موارد خطا و استثنایی و غیر قابل انتظار رو به صورت استثنا (exception) بندازن بیرون.
- پیشنهاد میشه ساختار هایی مثل if‌ همیشه بریس ({}) داشته باشن حتی مواقعی که قسمت بدنه اونها یه دستوره و از لحاظ سینتکس احتیاجی به بریس ندارن.
- بعضی از قسمت ها indentation کدتون به هم خورده. IDE ها معمولا دارای ابزاری هستن که به صورت خودکار فاصله گذاری ها و همینطور indentation کد رو درست می کنه. چون من با visual studio کار نمی کنم نمیتونم نظر بدم که چجوری میشه تو visual studio این کار رو انجام داد.
- بهتره که کد قسمت هایی که به صورت موقت کامنت میشن نداشته باشه مگر اینکه دلیل خوبی برای وجودشون داشته باشید.
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

shirin ftf پاسخ داده:

Sad RE: پرانتز گذاری ضرب ماتریس ها

یعنی هیشکییییییییییییی سی شارپ بلد نیست که کمک کنه؟؟!!!!Huh

(۱۳ خرداد ۱۳۹۵ ۱۰:۲۳ ب.ظ)behnam5670 نوشته شده توسط:  
(13 خرداد ۱۳۹۵ ۰۹:۰۱ ب.ظ)shirin ftf نوشته شده توسط:  یه برنامه سی شارپ برای پرانتز گذاری ضرب ماتریس ها نوشتم یکم خطا داره
هیشکی خیر هست برناممو براش بفرستم اشکالامو بگه؟؟Blush
برنامه که دارای اشکال هست اما منظورتون از پرانتزگذاری چی هست؟ قرار هست دقیقاً چه کاری انجام بدید؟

خوب پرانتز گذاری ضرب ماتریس هاست
ورودی تعدادی ماتریس هست .که تعداد ماتریس و ابعاد ان ها از کاربر گرفته میشه بعد باتوجه بهmin جواب ضرب انها رو پرانتز گذاری میکنه
مثلا خروجی باید این مدلی باشه(CD)(AB)
که این مدل وقتی ماتریس ها ضرب میشن(با این روش پرانتز گذاری) جواب ضرب از روش های دیگر کمتر است
فهمیدین چی شد؟؟Big Grin
نقل قول این ارسال در یک پاسخ

ارسال:
  

Behnam‌ پاسخ داده:

RE: پرانتز گذاری ضرب ماتریس ها

جواب ضرب ماتریس‌ها ربطی به نحوه‌ی پرانتزگذاری نداره، یعنی جواب برابر هست در هر حالت! یعنی مثلاً [tex]A(BC)=(AB)C[/tex]
چیزی به اسم مینیمم نداریم.
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

shirin ftf پاسخ داده:

RE: پرانتز گذاری ضرب ماتریس ها

(۱۴ خرداد ۱۳۹۵ ۰۱:۱۴ ق.ظ)behnam5670 نوشته شده توسط:  جواب ضرب ماتریس‌ها ربطی به نحوه‌ی پرانتزگذاری نداره، یعنی جواب برابر هست در هر حالت! یعنی مثلاً [tex]A(BC)=(AB)C[/tex]
چیزی به اسم مینیمم نداریم.
خوب با مثال میگم منظورمو بفهمی

۴ماتریس abcd داریم:a4*5......b5*2.............c2*6..........d6*3 با این ابعادی که نوشتم
۱۰۰=(cd)(ab)
a(bc)d=256
جوابمون میشه اولیه که ۱۰۰ هست و کمتره.همون میشه مینیمم تعداد ضرب ها
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

Behnam‌ پاسخ داده:

RE: پرانتز گذاری ضرب ماتریس ها

(۱۵ خرداد ۱۳۹۵ ۰۱:۴۶ ق.ظ)shirin ftf نوشته شده توسط:  
(14 خرداد ۱۳۹۵ ۰۱:۱۴ ق.ظ)behnam5670 نوشته شده توسط:  جواب ضرب ماتریس‌ها ربطی به نحوه‌ی پرانتزگذاری نداره، یعنی جواب برابر هست در هر حالت! یعنی مثلاً [tex]A(BC)=(AB)C[/tex]
چیزی به اسم مینیمم نداریم.
خوب با مثال میگم منظورمو بفهمی

۴ماتریس abcd داریم:a4*5......b5*2.............c2*6..........d6*3 با این ابعادی که نوشتم
۱۰۰=(cd)(ab)
a(bc)d=256
جوابمون میشه اولیه که ۱۰۰ هست و کمتره.همون میشه مینیمم تعداد ضرب ها

متوجه شدم منظورتون رو. توو پست بالا هم یه لینکی از ویکی‌پدیا دادم که این کد رو به صورت شبه کد و هم به صورت جاوا نوشتند که تفاوت جزئی با سی‌شارپ داره و میتونید خط به خط کدش رو تبدیل کنید.
علت اینکه بهتون کد رو نشون دادم این هست که خیلی شبیه کد خودتون هست و میتونید با مقایسه با کدی که نوشتید، متوجه بشید که کجا اشتباه کردید. یه سری متغیرها رو هم حواستون باید باشه که global تعریف کنید. اون تابع min هم که استفاده میکنید و هیچ جا هم تعریف نکردید اشتباه هست چون min باید حداقل دو تا عدد بگیره، اینجا شما یه عدد میگیرید اگه اشتباه نکنم. باید با مقدار قبلی cost مقایسه کنید به نظرم (یعنی min بگیرید).
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

shirin ftf پاسخ داده:

RE: پرانتز گذاری ضرب ماتریس ها

(۱۵ خرداد ۱۳۹۵ ۰۲:۰۱ ق.ظ)behnam5670 نوشته شده توسط:  
(15 خرداد ۱۳۹۵ ۰۱:۴۶ ق.ظ)shirin ftf نوشته شده توسط:  
(14 خرداد ۱۳۹۵ ۰۱:۱۴ ق.ظ)behnam5670 نوشته شده توسط:  جواب ضرب ماتریس‌ها ربطی به نحوه‌ی پرانتزگذاری نداره، یعنی جواب برابر هست در هر حالت! یعنی مثلاً [tex]A(BC)=(AB)C[/tex]
چیزی به اسم مینیمم نداریم.
خوب با مثال میگم منظورمو بفهمی

۴ماتریس abcd داریم:a4*5......b5*2.............c2*6..........d6*3 با این ابعادی که نوشتم
۱۰۰=(cd)(ab)
a(bc)d=256
جوابمون میشه اولیه که ۱۰۰ هست و کمتره.همون میشه مینیمم تعداد ضرب ها

متوجه شدم منظورتون رو. توو پست بالا هم یه لینکی از ویکی‌پدیا دادم که این کد رو به صورت شبه کد و هم به صورت جاوا نوشتند که تفاوت جزئی با سی‌شارپ داره و میتونید خط به خط کدش رو تبدیل کنید.
علت اینکه بهتون کد رو نشون دادم این هست که خیلی شبیه کد خودتون هست و میتونید با مقایسه با کدی که نوشتید، متوجه بشید که کجا اشتباه کردید. یه سری متغیرها رو هم حواستون باید باشه که global تعریف کنید. اون تابع min هم که استفاده میکنید و هیچ جا هم تعریف نکردید اشتباه هست چون min باید حداقل دو تا عدد بگیره، اینجا شما یه عدد میگیرید اگه اشتباه نکنم. باید با مقدار قبلی cost مقایسه کنید به نظرم (یعنی min بگیرید).
اهووم
ممنون
حالا یه تغییراتی دادم بهش

(۱۵ خرداد ۱۳۹۵ ۰۲:۰۱ ق.ظ)behnam5670 نوشته شده توسط:  
(15 خرداد ۱۳۹۵ ۰۱:۴۶ ق.ظ)shirin ftf نوشته شده توسط:  
(14 خرداد ۱۳۹۵ ۰۱:۱۴ ق.ظ)behnam5670 نوشته شده توسط:  جواب ضرب ماتریس‌ها ربطی به نحوه‌ی پرانتزگذاری نداره، یعنی جواب برابر هست در هر حالت! یعنی مثلاً [tex]A(BC)=(AB)C[/tex]
چیزی به اسم مینیمم نداریم.
خوب با مثال میگم منظورمو بفهمی

۴ماتریس abcd داریم:a4*5......b5*2.............c2*6..........d6*3 با این ابعادی که نوشتم
۱۰۰=(cd)(ab)
a(bc)d=256
جوابمون میشه اولیه که ۱۰۰ هست و کمتره.همون میشه مینیمم تعداد ضرب ها

متوجه شدم منظورتون رو. توو پست بالا هم یه لینکی از ویکی‌پدیا دادم که این کد رو به صورت شبه کد و هم به صورت جاوا نوشتند که تفاوت جزئی با سی‌شارپ داره و میتونید خط به خط کدش رو تبدیل کنید.
علت اینکه بهتون کد رو نشون دادم این هست که خیلی شبیه کد خودتون هست و میتونید با مقایسه با کدی که نوشتید، متوجه بشید که کجا اشتباه کردید. یه سری متغیرها رو هم حواستون باید باشه که global تعریف کنید. اون تابع min هم که استفاده میکنید و هیچ جا هم تعریف نکردید اشتباه هست چون min باید حداقل دو تا عدد بگیره، اینجا شما یه عدد میگیرید اگه اشتباه نکنم. باید با مقدار قبلی cost مقایسه کنید به نظرم (یعنی min بگیرید).
اهووم
ممنون
حالا یه تغییراتی دادم بهش


فایل‌(های) پیوست شده
zarbmat.txt
اندازه فایل: ۲/۶۸ KB
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
Sad ذخیره ماتریس پایین مثلثی / بالا مثلثی به شیوه سطری یا ستونی shayesteNEY ۵ ۱۰,۹۴۶ ۲۲ مهر ۱۳۹۹ ۱۱:۲۸ ب.ظ
آخرین ارسال: Negiiin
  ضرب ماتریس ها roller1829 ۰ ۲,۰۲۸ ۱۹ مهر ۱۳۹۸ ۰۲:۴۸ ب.ظ
آخرین ارسال: roller1829
  ماتریس ها در متلب safoora s ۱ ۲,۱۴۳ ۱۲ مرداد ۱۳۹۷ ۱۲:۲۲ ب.ظ
آخرین ارسال: BBumir
  صعودی کردن ماتریس mدرn The BesT ۷ ۷,۲۸۸ ۲۳ اردیبهشت ۱۳۹۷ ۰۲:۲۴ ب.ظ
آخرین ارسال: Behnam‌
  پروتکل قفل گذاری چند اسلوبی-پایگاه داده پیشرفته-دکتری ۹۶ b.kiani ۰ ۲,۳۶۸ ۲۲ بهمن ۱۳۹۶ ۱۱:۰۸ ب.ظ
آخرین ارسال: b.kiani
Sad دخیره ماتریس قطری و سه قطری hossein14 ۰ ۲,۰۴۳ ۲۷ آبان ۱۳۹۶ ۱۲:۱۷ ب.ظ
آخرین ارسال: hossein14
  حل مشتق ماتریس hanie_M ۰ ۳,۷۵۳ ۲۵ آبان ۱۳۹۶ ۱۱:۵۹ ب.ظ
آخرین ارسال: hanie_M
  تبدیل تصویر به ماتریس در نرم افزار متلب negar.v ۳ ۹,۴۲۹ ۲۸ مهر ۱۳۹۶ ۱۲:۴۹ ق.ظ
آخرین ارسال: farahnaz
  معرفی منابع و گرایش های مرتبط با فایل های صوتی و تصویری و پخش کننده های صوت و تصویر R.g- ۴ ۴,۰۴۲ ۱۵ شهریور ۱۳۹۶ ۰۹:۳۲ ب.ظ
آخرین ارسال: blackhalo1989
Exclamation یک سوال از ماتریس استراسن senator2011 ۱ ۲,۳۷۳ ۰۶ مرداد ۱۳۹۶ ۰۷:۴۵ ب.ظ
آخرین ارسال: BBumir

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close