سؤال بسيط بالفور لووب

ليش ما يعطيني الا اخر القيم بالفور لوب؟

مثلا اخر صف او اخر عمود من قيمة الفور لوب

وكيف اتغلب عليها؟

حتى تتغلب على هالمشكلة
عرفها على اساس انها مصفوفة
ورح اوضحلك بمثال
انتظر

لو افترضنا اننا نريد ايجاد مربع الارقام من واحد الى خمسة من خلال فور لووب
وكتبنا الكود التالي :

for i=1:5
x=i^2
;end

ثم بعد ذلك طبعنا اله التالي :

x

سيعطينا اخر قيمة لاكس لاته اكس بالطريقه هاي كل لووب ستتغير قيمتها وتأخذ اخر قيمة فقط
لذلك تظهر عندنا اخر قيمة فقط

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

for i=1:5
x(i)=i^2;
end

لا حظ انني عرفت الاكس على اساس انها مصفوفة في كل لووب يضاف اليها عنصر جديد
واذا طبعنا بعد ذلك له :

x

ستظهر لنا مصفوفة بخمسة عناصر
وهو المطلوب

وصلت الفكرة ؟؟؟؟؟
لا تتردد بالسؤال

الله يبارك فيك استاذي الفاضل

مو هنا المشكلة عندي اذا حطيتها مصفوفة يطلع خطأ

واذا حطيتها عادي يعطي اخر القيم

شوف اللي عندي

 dh(i)

يطلع خطأ

واذا شلت i يشتغل بس ما يعطيني الا اخر القيم


close all
clear all
clc
phi=40
for i=1:5
 
delta(i)=23.45*sind(((284+i)/365)*360); 
omegasun(i)=(24/360)*acosd(-tand(phi)*tand(delta(i)));
daylength(i)=omegasun(i)*2;
sunrise(i)=12-omegasun(i);
sunset(i)=12+omegasun(i);
dh(i)=linspace(sunrise(i),sunset(i),daylength(i));
 
end
 

عدلها ياسعود الله يعدل حظنا وحظك ويبارك فيك



close all
clear all
clc
phi=40;
for i=1:5
 
delta(i)=23.45*sind(((284+i)/365)*360); 
omegasun(i)=(24/360)*acosd(-tand(phi)*tand(delta(i)));
daylength(i)=omegasun(i)*2;
sunrise(i)=12-omegasun(i);
sunset(i)=12+omegasun(i);
dh(i,(1:daylength(i)))=linspace(sunrise(i),sunset(i),daylength(i))

end 



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

الله يوفقك ويوسع لك في رزقك

اشتغل الى 10 او 11 بعدها يعطي خطأ

جرب هذا


close all
clear all
clc
phi=input ('Enter the latitude: '); % phi is the  latitude which i a given value
for i=1:365
delta(i)=23.45*sind(((284+i)/365)*360); %(checked OK)
omegasun(i)=(24/360)*acosd(-tand(phi)*tand(delta(i)));
daylength(i)=omegasun(i)*2;
sunrise(i)=12-omegasun(i);
sunset(i)=12+omegasun(i);
dh(i,(1:daylength(i)))=linspace(sunrise(i),sunset(i),daylength(i));
for j=1:length(dh)
nhfn(i,j)=dh(i,j)-12;
omega(i,j)=nhfn(i,j)*360/24; % where nhfn means number of hours from the noon, it is positive afternoon and negative before the noon
theta(i,j)=acosd((cosd(phi)*cosd(delta(i))*cosd(omega(i,j)))+(sind(phi)*sind(delta(i)))); %(checked OK)
if theta(i,j)>=90
    theta(i,j) = theta(i,j)-90;
else
end
nr=1.33;
r(i,j)=asind((sind(theta(i,j))/nr)); 
% the solar radiation Qsr is assumed to be full absorbed by the storage zone
cc(i,j)=1/(cosd(r(i,j))+nr*cosd(theta(i,j)));
dc(i,j)=1/(cosd(theta(i,j))+nr*cosd(r(i,j)));
tau(i,j)=2*nr*cosd(theta(i,j))*cosd(r(i,j))*((cc(i,j))^2+(dc(i,j))^2); 
end
end

اظن انه هو الصحيح

[COLOR=#0000bb]close all
clear all
clc
phi[/color][COLOR=#007700]=[/color][COLOR=#0000bb]input [/color][COLOR=#007700]([/color][COLOR=#dd0000]'Enter the latitude: '[/color][COLOR=#007700]); % [/color][COLOR=#0000bb]phi is the  latitude which i a given value
[/color][COLOR=#007700]for [/color][COLOR=#0000bb]i[/color][COLOR=#007700]=[/color][COLOR=#0000bb]1[/color][COLOR=#007700]:[/color][COLOR=#0000bb]365
delta[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700])=[/color][COLOR=#0000bb]23.45[/color][COLOR=#007700]*[/color][COLOR=#0000bb]sind[/color][COLOR=#007700]((([/color][COLOR=#0000bb]284[/color][COLOR=#007700]+[/color][COLOR=#0000bb]i[/color][COLOR=#007700])/[/color][COLOR=#0000bb]365[/color][COLOR=#007700])*[/color][COLOR=#0000bb]360[/color][COLOR=#007700]); %([/color][COLOR=#0000bb]checked OK[/color][COLOR=#007700])
[/color][COLOR=#0000bb]omegasun[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700])=([/color][COLOR=#0000bb]24[/color][COLOR=#007700]/[/color][COLOR=#0000bb]360[/color][COLOR=#007700])*[/color][COLOR=#0000bb]acosd[/color][COLOR=#007700](-[/color][COLOR=#0000bb]tand[/color][COLOR=#007700]([/color][COLOR=#0000bb]phi[/color][COLOR=#007700])*[/color][COLOR=#0000bb]tand[/color][COLOR=#007700]([/color][COLOR=#0000bb]delta[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700])));
[/color][COLOR=#0000bb]daylength[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700])=[/color][COLOR=#0000bb]omegasun[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700])*[/color][COLOR=#0000bb]2[/color][COLOR=#007700];
[/color][COLOR=#0000bb]sunrise[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700])=[/color][COLOR=#0000bb]12[/color][COLOR=#007700]-[/color][COLOR=#0000bb]omegasun[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700]);
[/color][COLOR=#0000bb]sunset[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700])=[/color][COLOR=#0000bb]12[/color][COLOR=#007700]+[/color][COLOR=#0000bb]omegasun[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700]);
[/color][COLOR=#0000bb]dh[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],([/color][COLOR=#0000bb]1[/color][COLOR=#007700]:[/color][COLOR=#0000bb]daylength[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700])))=[/color][COLOR=#0000bb]linspace[/color][COLOR=#007700]([/color][COLOR=#0000bb]sunrise[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700]),[/color][COLOR=#0000bb]sunset[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700]),[/color][COLOR=#0000bb]daylength[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700]));
for [/color][COLOR=#0000bb]j[/color][COLOR=#007700]=[/color][COLOR=#0000bb]1[/color][COLOR=#007700]:size[/color][COLOR=#007700]([/color][COLOR=#0000bb]dh,2[/color][COLOR=#007700])
[/color][COLOR=#0000bb]nhfn[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700])=[/color][COLOR=#0000bb]dh[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700])-[/color][COLOR=#0000bb]12[/color][COLOR=#007700];
[/color][COLOR=#0000bb]omega[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700])=[/color][COLOR=#0000bb]nhfn[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700])*[/color][COLOR=#0000bb]360[/color][COLOR=#007700]/[/color][COLOR=#0000bb]24[/color][COLOR=#007700]; % [/color][COLOR=#0000bb]where nhfn means number of hours from the noon[/color][COLOR=#007700], [/color][COLOR=#0000bb]it is positive afternoon [/color][COLOR=#007700]and [/color][COLOR=#0000bb]negative before the noon
theta[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700])=[/color][COLOR=#0000bb]acosd[/color][COLOR=#007700](([/color][COLOR=#0000bb]cosd[/color][COLOR=#007700]([/color][COLOR=#0000bb]phi[/color][COLOR=#007700])*[/color][COLOR=#0000bb]cosd[/color][COLOR=#007700]([/color][COLOR=#0000bb]delta[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700]))*[/color][COLOR=#0000bb]cosd[/color][COLOR=#007700]([/color][COLOR=#0000bb]omega[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700])))+([/color][COLOR=#0000bb]sind[/color][COLOR=#007700]([/color][COLOR=#0000bb]phi[/color][COLOR=#007700])*[/color][COLOR=#0000bb]sind[/color][COLOR=#007700]([/color][COLOR=#0000bb]delta[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700])))); %([/color][COLOR=#0000bb]checked OK[/color][COLOR=#007700])
if [/color][COLOR=#0000bb]theta[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700])>=[/color][COLOR=#0000bb]90
    theta[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700]) = [/color][COLOR=#0000bb]theta[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700])-[/color][COLOR=#0000bb]90[/color][COLOR=#007700];
else
[/color][COLOR=#0000bb]end
nr[/color][COLOR=#007700]=[/color][COLOR=#0000bb]1.33[/color][COLOR=#007700];
[/color][COLOR=#0000bb]r[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700])=[/color][COLOR=#0000bb]asind[/color][COLOR=#007700](([/color][COLOR=#0000bb]sind[/color][COLOR=#007700]([/color][COLOR=#0000bb]theta[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700]))/[/color][COLOR=#0000bb]nr[/color][COLOR=#007700])); 
% [/color][COLOR=#0000bb]the solar radiation Qsr is assumed to be full absorbed by the storage zone
cc[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700])=[/color][COLOR=#0000bb]1[/color][COLOR=#007700]/([/color][COLOR=#0000bb]cosd[/color][COLOR=#007700]([/color][COLOR=#0000bb]r[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700]))+[/color][COLOR=#0000bb]nr[/color][COLOR=#007700]*[/color][COLOR=#0000bb]cosd[/color][COLOR=#007700]([/color][COLOR=#0000bb]theta[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700])));
[/color][COLOR=#0000bb]dc[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700])=[/color][COLOR=#0000bb]1[/color][COLOR=#007700]/([/color][COLOR=#0000bb]cosd[/color][COLOR=#007700]([/color][COLOR=#0000bb]theta[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700]))+[/color][COLOR=#0000bb]nr[/color][COLOR=#007700]*[/color][COLOR=#0000bb]cosd[/color][COLOR=#007700]([/color][COLOR=#0000bb]r[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700])));
[/color][COLOR=#0000bb]tau[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700])=[/color][COLOR=#0000bb]2[/color][COLOR=#007700]*[/color][COLOR=#0000bb]nr[/color][COLOR=#007700]*[/color][COLOR=#0000bb]cosd[/color][COLOR=#007700]([/color][COLOR=#0000bb]theta[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700]))*[/color][COLOR=#0000bb]cosd[/color][COLOR=#007700]([/color][COLOR=#0000bb]r[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700]))*(([/color][COLOR=#0000bb]cc[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700]))^[/color][COLOR=#0000bb]2[/color][COLOR=#007700]+([/color][COLOR=#0000bb]dc[/color][COLOR=#007700]([/color][COLOR=#0000bb]i[/color][COLOR=#007700],[/color][COLOR=#0000bb]j[/color][COLOR=#007700]))^[/color][COLOR=#0000bb]2[/color][COLOR=#007700]); 
[/color][COLOR=#0000bb]end
end 

[/color]

المشكلة في الفور لووب الثانية
لاحظت التغيير
انا جربتها وما طلع اخظاء
جربها وقلي
اخوك م . سعود

شكر الله سعيك اخي المهندس سعود

بالنسبة لحجم dh
size(dh,2)

ماذا يعني الرقم 2 ولماذا 2 بالذات


ثانيا هل للتحذر الذي يظهر مشكله وماهو سببه ، اقصد هذا

Warning: Integer operands are required for colon operator when used as index.
> In test4 at 11

اشكركم كثيرا

الرقم 2 الموجود في التعليمة هو لايجاد عدد الاعمدة في المصفوفة
ولكان واحد بدل اثنين لكان عدد الصفوف

اما بالنسبه للتحذير
فهو ينبهك الى ضرورة استخدام اعداد صحيحه عند استخدام ( النقطتان الرأسيتان) ك ااندكس لمصفوفة ما
وهو لا يؤثر على سير العمل

وصلت الفكرة؟؟؟؟
نحن هنا لخدمتكم باذن الله

سلمت الايادي

وصلت الفكرة ياريس

بس باقي فيها مشكلة وحدة بعد التعديل

هو ان الصفوف (عدد ساعات النهار) تتزايد الى المنتصف بعدين تتناقص

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

مفروض بالعمود الاخير واللي قبله واللي ايضا قبله في الاخير يعطي اصفار

صار مايعطي اصفار وانما يكرر الرقم

ياليت تتكرم وتشوفه يالطيب الغالي

ما انا فاهم عليك
وضح اكثر

شكرا للرد اخي سعود

انا اقصد نتائج tau

فالمفروض ان تكون بهذا الشكل (لاحظ الاصفار ) في اخر عمودين يكون الاصفار متماثلة بين الصفوف التي في الاعلى والصفوف التي في الاسفل

لان ساعات النهار او طول النهار (قيم j ) يفترض ان تبدا منخفضة فترتفع في نصف السنة ثم تعود للانخفاض

لاحظ الاصفار


 12  5  3  0  0
 2   1  7  0  0
 8  11  3  9  0
 5   1  6  3  0
 4   2  3  1  7
 5   4  1  9 25
 7   6  3  5  0
 8   2  9  1  0
 1   8  2  0  0
 8   6  5  0  0

بينما نتائج البرنامج في الصفوف العليا صحيحة وتعطي اصفار
لكن في الصفوف الدنيا يكرر الرقم الذي قبله مما يعني ان قيمة j مكررة في حين يجب ان لا يكون لها قيمة وعليه يعطي اصفار

مثل هذا (وضعت لك نجمة بجانب الرقم المكرر والذي يجب ام لا يكون له قيمة اي صفر بالمصفوفة )


12  5  3  0  0
 2   1  7  0  0
 8  11  3  9  0
 5   1  6  3  0
 4   2  3  1  7
 5   4  1  9 25
 7   6  3  5  *5
 8   2  9  1  *1
 1   8  2  *2 *2
 8   6  5  *5 *5

واسف جدا لاني غلبتك معي

بدي وقت لحين ما اقدر اتتبعه
لكن اعدك ان شاء الله
انا مشغول الان

الحقيقة انا حاولت اتبع برنامجك
ولا حظت
ان هذه المعادلات لم افهمها
ولذلك لا يمكن ان اعرف ان النتيجة صحيحة او لأ
لم الاحظ اي تكرار
الذي تقول عنه

شكرا لك اخي سعود ومتأسفين جدا لازعاجك

لاحظ اخر ثلاث اعمدة (11،12،13) لل tau

تجد القيم مكررة وهذه هي (هذا جزء منها) لاحظ كل صف تجد اعمدته مكرره


0.5033 0.5033 0.5033
0.49748 0.49748 0.49748
0.49193 0.49193 0.49193
0.48669 0.48669 0.48669
0.48175 0.48175 0.48175
0.47713 0.47713 0.47713
0.47285 0.47285 0.47285
0.46891 0.46891 0.46891
0.46532 0.46532 0.46532
0.4621 0.4621 0.4621
0.45925 0.45925 0.45925
0.45677 0.45677 0.45677
0.45468 0.45468 0.45468
0.45299 0.45299 0.45299
0.45168 0.45168 0.45168
0.45078 0.45078 0.45078
0.45028 0.45028 0.45028
0.45018 0.45018 0.45018
0.45048 0.45048 0.45048
0.45118 0.45118 0.45118
0.45229 0.45229 0.45229
0.45379 0.45379 0.45379
0.45568 0.45568 0.45568
0.45796 0.45796 0.45796
0.46063 0.46063 0.46063
0.46366 0.46366 0.46366
0.46707 0.46707 0.46707
0.47084 0.47084 0.47084
 

كانت يفترض ان تكون صفر بدل التكرار