أريد شرح لهذا الكود


(esay_programer) #1

السلام عليكم أخي / المشرف

[RIGHT]لو كان من أمر عليكم بارك الله فيكم …
أريد شرح مبسط لهذا الكود . ( الشرح بشكل عام )

** طلب **
طلبي منك ومن بقية الأعضاء في هذا المنتدى أن أستمر على هذا النهج ( شرح الأكواد ) والذي أسأل الله العلي القدير أن تعم الفائدة لي ولبقية أعضاء المنتدى وإن كان من ملاحظات أرجوا أن تفيدني بها حيث أن معظم الكتب التي عمدت أن أقرأها لا تعطي مزيداً من الشرح لبعض الأكواد .

إليكم الكود : [/right]

[LEFT]

 
p = 20; % precision
dt = 0:1/(p-1):1;
[th,ph] = meshgrid( dt*pi,dt*2*pi );
%================================================
x = cos(th);
y = sin(th).*cos(ph);
z = sin(th).*sin(ph);
%================================================
surf(x,y,z, z.*0);
%============================================
% some pretty rendering options
%shading interp; 
%lighting gouraud;
%camlight infinite; 
%axis square; 
%axis off;

أرجوا تجاهل مسألة الفواصل المنقوطة والأقواس الغير مكتملة وذلك لخلل في عملية النسخ [/left]

لكم جميعاً تحياتي !


#2

السلام عليكم
اخى العزيز تم تعديل الموضوع وان شاء الله سيتم الرد عليك قريبا


(esay_programer) #3

بارك الله فيك وجزاك الله خيرا

********************* لا تنسو أخواننا في فلسطين بالدعاء ( بيت حانون ) *****************


#4

[LEFT]

 
السلام عليكم ورحمة الله وبركاته 
اخى العزيز فى هذا الكود يبدا بتعريف ثابت اسمه p وقيمته تساوى 20 
ثم تعريف متغير dt ويتم استنتاج قيمه من المعادلة الاتية dt = 0:1/(p-1):1
ويساوى 
dt =
  Columns 1 through 12 
         0    0.0526    0.1053    0.1579    0.2105    0.2632    0.3158    0.3684    0.4211    0.4737    0.5263    0.5789
  Columns 13 through 20 
    0.6316    0.6842    0.7368    0.7895    0.8421    0.8947    0.9474    1.0000
وفى السطر الثالث يقوم باستخدام الامر meshgrid بتحويل ال vectors  
th=dt*pi
ph=dt*2*pi
متسلسله 
فمثلا لو كان لدينا المتجه  
x=1 2 3
و
y=4 5 6 
فان ال array الناتجه تساوى 
x= 1 2 3
     1 2 3
     1 2 3
y=4 5 6
    4 5 6
    4 5 6
من هذه المتسلسلات او ال array  تم حساب x  و y  و z
ثم تم استخدام الامر surf لتكوين سطح ثلاثى الابعاد 
ونجد استخدام القيمه z.*0 وهذه اختيارية 
وفى حاله عدم استخدامها يكون الحد الاخير يساوى z
كما لو كانت 
surf(x,y,z, z);
ويكون لون السطح متناسب مع ال z
ويكون شكل تنفيذ البرنامج النهائى كما يلى 


[/left]