ابغى مساعدتكم لاني مو فاهمه شي بالماتلاب


(شجون المجروحه) #1

السلام عليكم

بصرأحه انا عندي واجب وهو بسيط جدا بس انا مو عارفه شي بالماتلاب وهو زي التمرين

لي لكن ماني فاهمه شي عشان فيه كتابه كود وارجو مساعتدي فيه

السوال عباره عن معادله نوجد جذورها ونستخدم طريقة نيوتن
ياليت الي عنده خبره يكلمني عشان اعطيه المعادله ويساعدني في حلها

بليززززززز ساعدوني


(شجون المجروحه) #2

وين الردوووووووود ماحد يبي يساعدني


(mts) #3

these books may help you
Numerical Methods in Engineering with MATLAB
pass: gigapedia.org

An Introduction to Programming and Numerical Methods in MATLAB


(شجون المجروحه) #4

شكرا
بس بصراحه مو راضي تحمل معايه ولا قادره اتصفح فيه فياليت تاكدلي من الرابط او تعطيني رابط ثاني


(fawzy) #5

الرابط يعمل انا جربته بنفسى حاولى مره ثانيه و اخبرينى


(شجون المجروحه) #6

مو راضي معايه بعدين الي اعرفه ان الموقع هاذا لازم ادفع رسوم عشان احمل منه


(ahmed.aero) #7

اهلا بيكي
اسف على التاخير
بس انا موجود حاليا
ومستعد اشرحلك كيف تعملي كود مات لاب تنفذي فيه المعادلة
شكرا

engineer.egypt@yahoo.com


(ahmed.aero) #8

[LEFT]بسم الله الرحم الرحيم

ساشرح الكوود

اولا يجب عليك وضع المعادلة في هذه الصورة

f(x)=0

مثلا لو المعادلة

X3-X=1

نضعها في هذه الصورة

f(x)=X3-X-1

وبعد ذلك نكتب الكود

انا قمت بكتابته الان

طبعا اكيد عارفين نيوتن رابسون ميثود

والي مش عارف حيعرف في الكود

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Matlab Code %

% Programer: Ahmed Sayed %

% Cairo Univercity F.of.Eng %

% Contact info %

% engineer.egypt (At) yahoo (Dot) com %

% Mob:+2 0111699996 %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clc

clear all

close all

%--------

هنا حنعرف متغير اكس لاننا حنفاضل

syms x

هنا حنكتب المعادلة

f=‘x-2*sin(x)’;

هنا حنشتق المعادلة علشان دة مطلوب في الحل

df=char(diff(f,x));

هنا حنبسط الحل لاننا مش محتاجين النتايج فحنحل في ذاكرة البرنامج المؤقته

علشان احنا محتاجين القيم عند نقط

ff=inline(f,‘x’);

dff=inline(df,‘x’);

هنا حنفرض اول قيمة الي حنبتدي بيها نيوتن رابسون

xr(1)=1;

هنا لازم نحدد عدد مرات الحساب نبتدي من رقم صغير لغاية لما نلائي الخطا يقل اوي للقيمة الي تريحنا

n=20; %% N.O iteration try to change this value to give a min err

حنبتدي اللوب

for i=2:n

xx=xr(i-1);

هيا دي بقى نيوتن رابسون

xr(i)=xx-(ff(xx)/dff(xx));

وهنا حنحسب الخطا

er=abs(xr(i-1)-xr(i));

err=er/xr(i-1);% err=(old-new)/old value

end

في الاخر حنطبع قيمة الدالة الي هو الحل

xr(end)

ودة الخطا

err

اتمنى ان الكوود يكون سهل وهو مكتوب بطريقة قوية نوعا ما واستخدام اوامر جديدة

المهم لوفي اي استفسارات حتلائي بياناتي في اول الكوود شكراا

متنسوش تدعولي

اتمنى الشرح يكون تمام

ولو اقتبس الكود يترك بياناتي

الكود في المرفقات[/left]


(شجون المجروحه) #9

شكرا اخي احمد بس يالت نتواصل اكثر عشان بصراحه مافهمت كثير وبالنسبه لرابط الايميل مو واضح في الملف فياليت تكتبه لي

او ترسله رساله خاصه والف الف شكر