عاجل وسؤال ايضا بسيط


(السكروب1) #1

حسبت مجموع كل صف وابغى احسب المتوسط بقسمته على عدد الاعمدة مثل المصفوفة هي لكن مشكلتي


1  2  2  0  0
2  3  3   4  2
4  1  2  3  0
1  5  0  0  0
 

مشكلتي لما اقسم على عدد الاعمدة ابغى اقسم على عدد الاعمدة الفعلي (بدون اللي نتائجها اصفها ) حتى يعطيني المتوسط

يعني مثلا الصف الاول عندنا مفروض يقسم مجموعه على 3 لان عدد الاعمدة الحقيقية 3 لكن هو يقسمها على 5 لان عدد الاعمدة للمصفوفة خمسة

وهذا يسبب لي اخطاء في النتائج

كيف نتغلب عليها الله يغلبكم على مصاعبكم


(ايجيبت) #2
  

clear
a=[1,2,3,0,0;4,5,6,2,0;7,8,9,10,0];
[n,m]=size(a);

for i=1:n
   r=(a(i,(1:m)));
   result(i,1)=sum(r);
   f=find(r==0);
   r(f)=[];
   l=length(r);
   mid(i,1)= result(i,1)/l;

end
a
result
mid









(السكروب1) #3

شكرا اخوي ايجبت الله يبارك فيك

هذا انا حطيته بس مثال

لكن المصفوفة اللي عندي كبيرة 365 *13

وهل حذف العنصر يحذف خانته من الصف؟

اشكرك مجددا


(ايجيبت) #4

بيلغي مكانه في الحسابات بس

لكن المصفوفه الاصليه مش هتتاثر

الله يوفقك


(السكروب1) #5

الله يبارك فيك ياباشا

برضو حصلت امر يعطي المصفوفة بدون اصفار وهو
nonzeros

بس يكتب المصفوفة كلها (بدون اصفار) في عمود واحد

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

معليش ياباشا غلبناك وغلبنا الطيبين معانا


(system) #6

تكفون ابي حل وعندي إختبار وضروري وعاجل
x-a^)2+(y-b^)2=r^2