ارسالها: 139
موضوعها: 41
تاریخ عضویت: مهر ۱۳۹۲
اعتبار:
0
سپاس ها 6
سپاس شده 47 بار در 29 ارسال
حالت من: هیچ کدام
۱۳۹۲/۰۹/۱۱, ۱۰:۴۷ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۲/۰۹/۱۲, ۰۱:۳۶ ق.ظ توسط admin.)
کد پیاچپی: function X = jordan(a,b) [m,n]=size(a); for j=1:m-1 for z=2:m if a(j,j)==0 t=a(1,:);a(1,:)=a(z,:); a(z,:)=t; end end for i=j+1:m a(i,:)=a(i,:)-a(j,:)*(a(i,j)/a(j,j)); end end
for j=m:-1:2 for i=j-1:-1:1 a(i,:)=a(i,:)-a(j,:)*(a(i,j)/a(j,j)); end end
for s=1:m a(s,:)=a(s,:)/a(s,s); x(s)=a(s,n); end disp('Gsuss-jordan method:') a x'
ادمین مشکل این تابع چی هستش ؟؟/
این دستور رو میدم که تابع حلش کنه اما اررور میده
کد پیاچپی: X=jordan([-2 1 -1;1 2 3;3 0 1],[4;13;-1])
باید بگم که این دستورات برای حل معادلات بروش حذفی گاوس جردن هستش.
سپاس شده توسط | |
|
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
۱۳۹۲/۰۹/۱۲, ۰۱:۳۹ ق.ظ
(آخرین تغییر در ارسال: ۱۳۹۲/۰۹/۱۲, ۰۱:۳۹ ق.ظ توسط admin.)
سلام.
خطای زیر رو میده :
کد: ??? Output argument "X" (and maybe others) not assigned during call to "C:\Program
Files\MATLAB\R2011a\bin\jordan.m>jordan".
که منظورش اینه که خروجی تابع برابر X تعیین شده اما در کدهای تابع، این مقدار محاسبه نشده است.
اگر به خط اول کدهای تابع دقت کنید، باید X را که حرف بزرگ است به x (یعنی حرف کوچک) تغییر بدهید. با این کار مشکل حل می شود و خروجی خواهیم داشت.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
ارسالها: 139
موضوعها: 41
تاریخ عضویت: مهر ۱۳۹۲
اعتبار:
0
سپاس ها 6
سپاس شده 47 بار در 29 ارسال
حالت من: هیچ کدام
۱۳۹۲/۰۹/۱۲, ۰۷:۵۵ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۲/۰۹/۱۲, ۰۹:۴۲ ب.ظ توسط admin.)
کاملا درسته ادمین برنامه هیچ ارروری نمیده
فقط یه مشکلی داره اونم اینه که هر ماتریسی داده بشه به ماتریس تا حل کنه یه جواب ثابت میاره که اشتباه هستش
مثلا همون کدی که گفتم کد پیاچپی: x=jordan([-2 1 -1;1 2 3;3 0 1],[4;13;-1])
باید این جوابو بیاره: که این جوابو میده : کد پیاچپی: Gsuss-jordan method:
a =
1 0 0 0 1 0 0 0 1
ans =
0 0 1
x =
0 0 1
بازم میگم که هر ماتریسی که به تابع بدی این جوابو میاره
میشه مشکلش رو بگین/؟/؟
ممنون میشم بگین اشکال کدها کجا هستش و برطرف کنین
سپاس شده توسط | |
|
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
کدهای تابع ساده است، اگر تلاش کنید حتما خودتان مشکل آن را پیدا می کنید. در ضمن باید ببینید بر اساس چه فرمول هایی بوده.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
ارسالها: 139
موضوعها: 41
تاریخ عضویت: مهر ۱۳۹۲
اعتبار:
0
سپاس ها 6
سپاس شده 47 بار در 29 ارسال
حالت من: هیچ کدام
۱۳۹۲/۰۹/۱۴, ۰۲:۴۵ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۲/۰۹/۱۵, ۰۵:۲۵ ق.ظ توسط admin.)
از دست شما ادمین!!!!
کاملا میخوای که مثل پروژه های قبلی خودم نکته شو پیدا کنم
فقط برای پیدا کردن مشکلش باید یه ماتریسی رو با همون الگوریتمی که تابع رو نوشتیم بصورت دستی حل کنیم رو کاغذ
یعنی هر مرحله ای که تو تابع نوشتیم رو تو کاغذ پیاده منیم و در نهایت مشکلش رو پیدا میکنیم
فقط یه مشکلی هست اونم اینه که من نمیدونم چطوری این کارو انجام بدم
بعنوان مثال این قسمت از کدها که حلقه فور اول و دوم هست
کد پیاچپی: [m,n]=size(a); for j=1:m-1 for z=2:m if a(j,j)==0 t=a(1,:);a(1,:)=a(z,:); a(z,:)=t; end end
رو میشه با یه مثال عددی بهم یاد بدین که چطوری ماتریس رو بااین دستورات بطور دستی محاسبه کنم
اگه بگین فکر کنم بتونم با این روش مشکلشو حل کنم
بعنوان مثال همین ماتریس رو در نطر بگیرین
کد پیاچپی: x=([-2 1 -1;1 2 3;3 0 1],[4;13;-1])
سپاس شده توسط | |
|
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
۱۳۹۲/۰۹/۱۵, ۰۵:۳۴ ق.ظ
(آخرین تغییر در ارسال: ۱۳۹۲/۰۹/۱۵, ۰۵:۳۵ ق.ظ توسط admin.)
از دست شما cloner !!!
دو خط زیر را توضیح می دهم :
کد: t=a(1,:);a(1,:)=a(z,:);
a(z,:)=t;
این دو خط از کدها، باعث می شود که جای تمامی مقادیر عناصر ردیف اول ماتریس a با ردیف z ام آن جابجا شود. متغیر t هم برای نگهداری موقت مقادیر ردیف اول است زیرا ابتدا باید مقادیر ردیف z ام در ردیف اول کپی شود، سپس مقادیر ذخیره شده در t که همان مقادیر قدیمی ردیف اول است، در ردیف z ام ذخیره خواهد شد.
برای یک گام حلقه، یک ماتریس a را روی کاغذ بنویسید. بعد عناصر ردیف اول آن را در برداری به اسم t بنویسید، بعد عناصر ردیف z ام ماتریس a را به جای عناصر ردیف اول آن بنویسید. سپس عناصر موجود در t را به جای عناصر ردیف z ام ماتریس a بنویسید. نتیجه، جاباجایی عناصر ردیف اول و z ام ماتریس a است.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
ارسالها: 139
موضوعها: 41
تاریخ عضویت: مهر ۱۳۹۲
اعتبار:
0
سپاس ها 6
سپاس شده 47 بار در 29 ارسال
حالت من: هیچ کدام
۱۳۹۲/۰۹/۱۸, ۰۹:۰۴ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۲/۰۹/۱۹, ۰۵:۲۱ ب.ظ توسط admin.)
ادمین توضیحاتت خیلی خوب بود و تا حدودی بقیه کدهارو تو کاغذ پیاده کردم اما نتونستم متوجه اشکال بشم
برای اطمینان یه بار دیگه انجام دادم اما باز موفق نشدم
با اینکه شما تجربه زیادی دارین تو این زمینه بنظر شما کجاش مشکل داره؟؟؟
این اخرین پروژه درسی من هستش بخاطر همینم وقت زیادی ندارم که تحویل بدم
اگه یه پروزه غیر درسی بود و وقت کافی داشتم حتما خودم مشکل برنامه رو پیدا میکردم و ازتون تقاضای کمک نمیکردم
خواهش میکنم که کمک کنین وبگین مشکل این تابع چیه که همش جواب ثابتی میاره
باتشکر از شما
سپاس شده توسط | |
|
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
اگر فرمول های الگوریتم را بنویسید (البته به طور کامل و دقیق)، شاید بتوانم بگویم که مشکل از کجاست.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
ارسالها: 139
موضوعها: 41
تاریخ عضویت: مهر ۱۳۹۲
اعتبار:
0
سپاس ها 6
سپاس شده 47 بار در 29 ارسال
حالت من: هیچ کدام
۱۳۹۲/۰۹/۲۰, ۱۰:۱۵ ب.ظ
(آخرین تغییر در ارسال: ۱۳۹۲/۰۹/۲۱, ۰۷:۲۶ ب.ظ توسط admin.)
دستت درد نکنه ادمین خیلی ممنون میشم
الگوریتم برنامه رو تو کاغذ نوشتم :
ادمین باید بگم که صورت کامل پروژه به این صورت هست که در زیر میگم و دو بخش الف و ب داره
الف:تابعی بنویسید که دو ماتریس BوA را از دستگاه AX=B بعنوان ورودی دریافت نموده و پس از بررسی سازگار بودن انها دستگاه داده شده را باروش گاوس جردن حل کند.(تابع باید قادر به محور گیری باشد)
ب:با استفاده از تابع بند الف تابعی جدید بنویسید بطوری که یک ماتریس A را دریافت نموده و با استفاده از روش گاوس جردن وارون انرا محاسبه کند.
(ادمین دقت کنید که باید دو تا ام فایل داشته باشیم.یکی برای بند الف و دیگری برای بند ب)
توضیحات:: ((منظور از محورگیری این هستش که اگه طی عملیاتی که داریم دستگاه رو حل میکنیم اگه یکی از عناصر قطر اصلی صفر شد اون سطر رو با سطر بالایش یا سطر پایینیش عوض کنیم تا موجب بشه که عناصر قطر اصلی برابر صفر نشه)))
مثال:
کد پیاچپی: A=[1 2 3 -1 0 -2 2 -1 3 ] که اگه محورگیری بشه به این صورت در میاد
سطر اول یا سوم رو با سطر دوم عوض کنیم A=[1 2 3 2 -1 3 -1 0 -2]
بخش اول همون کدهایی هست که تو پست های بالا مشاهده میکنی
برای توضیح بخش ب هم میتونم این توضیح رو بدم بهتون
با یه مثال توضیح میدم بهتون
وارون ماتریس A را با استفاده از روش گاوس جردن بدست میاریم کد پیاچپی: این ماتریس مون هست:
A=[1 2 3 -1 1 -2 2 -1 3]
حل: ابتدا با افزودن یک ماتریس همانی 3*3 ماتریس زیر را تشکیل میدیم [A|I]= که (آی) برابر با I=[1 0 0 0 1 0 0 0 1] با جاگزاری این دو ماتریس در فرمول بالا با یه سری عملیات تو این دوتا ماتریس. ماتریس (آ) به روش گاوس جردن حل میکنیم به صورتی که همه درایه هاش صفر بشن به غیر از درایه های قطر اصلی که یک میشن وهمون اعمالی که رو ماتریس (آ) انجام دادیم رو بر روی ماتریس همانی (آی) انجام میدیم که حاصل ماتریس همانی برابر با [-1/4 9/4 7/4 1/4 3/4 1/4 1/4 -5/3 -3/4]
سپاس شده توسط | |
|
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
من نگاهی به کدها انداختم، ببینید مثلا در ورودی تابع، بردار b داریم، اما در میان کدهای تابع، هیچ استفاده ای از بردار b نشده. نمیدونم این کدها را شما نوشتید یا شخص دیگری، ولی از همین نکته می توان متوجه شد که کدها دارای مشکلات اساسی است و نوشتن یک برنامه جدید، زمان کمتری نسبت به خطایابی کدهای فعلی می برد.
دیگر وقتتان را روی این کدها تلف نکنید.
موفق باشید.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
ارسالها: 139
موضوعها: 41
تاریخ عضویت: مهر ۱۳۹۲
اعتبار:
0
سپاس ها 6
سپاس شده 47 بار در 29 ارسال
حالت من: هیچ کدام
(۱۳۹۲/۰۹/۲۱, ۰۷:۳۱ ب.ظ)'admin' نوشته: ببین ادمین من کدهارو تو قسمت script برنامه متلب ذخیره میکنم و اکثر دستگاهی که بهش میدم رو حل میکنه به جز چندتا ولی نمیدونم که چرا تو فانکشن که میبرم کدها جواب نمیده کد پیاچپی: a=[-2 1 -1 4 1 2 3 13 3 0 1 -1]; [m,n]=size(a); for j=1:m-1 for z=2:m if a(j,j)==0 t=a(1,:);a(1,:)=a(z,:); a(z,:)=t; end end for i=j+1:m a(i,:)=a(i,:)-a(j,:)*(a(i,j)/a(j,j)); end end
for j=m:-1:2 for i=j-1:-1:1 a(i,:)=a(i,:)-a(j,:)*(a(i,j)/a(j,j)); end end
for s=1:m a(s,:)=a(s,:)/a(s,s); x(s)=a(s,n); end disp('Gsuss-jordan method:') a x'
که باید جوابها بصورت زیر بیاد که درست میاد
-1و4و2
ولی نمیدونم که چرا اینجا درست نمیده
دمتگرم ادمین لطفا کمک کن تا این پروژه رو حل کنم یکی دو روز دیگه بیشتر وقت ندارم
خواهشا کمک کن
اگه باز بنظرت اشتباه میان کدها که بعید میدونم اشتباه باشن
طبق الگوریتمی که ذکر کردم دو قسمت (الف) و( ب) رو یه سری کد بنویس که جور در بیان
اگه بخاطر درسام نبود باور کن خودم مینوشتم ولی چون شما بیشتر تجربه داری میتونی سریع تر بنویسی
بازم تشکر میکنم اگه حل کنی
سپاس شده توسط | |
|
ارسالها: 2,933
موضوعها: 191
تاریخ عضویت: تير ۱۳۹۱
اعتبار:
126
سپاس ها 1688
سپاس شده 3507 بار در 2023 ارسال
حالت من:
شرمنده ام. اگر سایر موضوعات را دیده باشید، من در حد راهنمایی کمک می کنم و کدهای زمان بر را نمی نویسم.
من نیز همانند شما، زمان کم دارم.
موفق باشید.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
سپاس شده توسط | |
|
ارسالها: 139
موضوعها: 41
تاریخ عضویت: مهر ۱۳۹۲
اعتبار:
0
سپاس ها 6
سپاس شده 47 بار در 29 ارسال
حالت من: هیچ کدام
(۱۳۹۲/۰۹/۲۱, ۱۱:۰۰ ب.ظ)'admin' نوشته: بله مسلما وقت شما هم کمه اشکالی نداره مرسی از راهنمایتون
|