اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

بسم الله الرحمن الرحيم 

السلام عليكم و رحمة الله و بركاته  ..

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

 

لدي امور متعلقة بزوايا الدائرة و كما تعرفون هي بين 0 و حتى 360

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

فمثلا اذا اعتبرنا لدينا زاوية هي 330 و زاوية اخرى هي 10  بالطريقة العادية نحصل على 140 و لكن بالنسبة للدائرة يجب ان تكون  350   و عندما تكون عندي زاويتين فقط فالامر ربما سهل و لكن عندما توجد اكثر من زاويتين فاحتاج فوامر فهل ممكن المساعدة و مرفق ملف  و شكرا لكم و تقبل الله صيامكم 

قام بنشر

أخي الكريم أبو لجين

لا يوجد ملف مرفق .. يرجى ضغط الملف ثم رفعه

نقطة أخرى حاول توضحها كيف يتم حساب المتوسط الحسابي للزوايا بشكل يدوي .. لأننا نجهل هذا الأمر ..

تقبل تحياتي

قام بنشر (معدل)

و عليكم السلام و رحمة الله و بركاته

طوال حياتى الدراسية رحلة أستغرقت 17 عام منها عام رسبت فيه فى الثانوية العامة بسبب مادة الكيمياء ، لم يمر موضوع بهذا الشكل طوال فترة الدراسة و كنت متفوقا فى الرياضيات و كل ما يتعلق بها و كنت بين الزملاء مشهورا بالعبقرى ..

لم أدرس شئ بهذا الشكل يقول ان المتوسط الحسابى لزوايا الدائرة  يختلف عن المتوسط الحسابى لأى شئ آخر هذا شئ .. و ما أعلمه أن المتوسط الحسابى هو مجموع القيم على عددها و لذلك 330 و 10 متوسطها الحسابى هو 170 و ليس 140

و تذكر بالنسبة للدائرة انها 350 .. لا بد أنك تقصد شئ آخر ؟ ستجعلنى بعد هذا العمر الطويل الذى يقترب من الأربعين عام أراجع معلوماتى بل قد أعيد دراسة المناهج كلها لعل هناك شئ فاتنى منها و لم أنهل منه بعد ؟ يرجى التوضيح فالموضوع قلب أفكارى رأسا على عقب .. دمت بخير و أعزك الله .

تم تعديل بواسطه علاء رسلان
  • Like 1
قام بنشر

على رسلك أخي الحبيب علاء رسلان

فربما لم يمر الأمر بك أو أن الأمر حديث عهد بالرياضيات

عموماً ضع الزاوية الأولى في الخلية A1 والزاوية الثانية في الخلية B1 ثم جرب في الخلية C1 المعادلة التالية علها تفي بالغرض

=IF(SIN(A1-B1)>0,(A1+B1)/2,(A1+B1+360)/2)

يا عاشق الرياضيات .. لك قرين يعشق الرياضيات (اللي هو العبد لله) بس طبعاً مستوايا لا يرقى أبداً إلى مستواك

تقبل تحياتي وحبي واحترامي

  • Like 2
قام بنشر

أخى الحبيب ياسر خليل أبو البراء .. رويدك

لم تذكر تحت أى عنوان يندرج هذا الكلام هل هو الزاويا المثلثية ؟ أم ماذا ؟ على ما يبدوا إننى بحاجة لمراجعة لهذا العلم الجميل .. هل تذكر اللوغاريتمات و استخدام الكتاب لإستخراج القيم قبل الآلة الحاسبة التى سهلت الكثير من الأمور ..لقد قدمت الحل عندما تكون هناك زاويتين فقط فماذا عن أكثر من زاويتين .. أنت لا تدرى أخى الحبيب هيامى و عشقى للرياضيات و على ذكر الرياضيات و بما اننا فى منتدى الأكسيل لى سؤال

كم تستغرق من الوقت لتملأ ورقة واحدة فى ملف أكسيل اصدار 2007  فى كل خلية من خلاياها بالقيمة 1 ؟ و هل هو ممكن أساسا ؟

دمت بخير و أعزك الله .

  • 4 weeks later...
قام بنشر

السلام عليكم و رحمة الله و بركاته 

آسف جدا لتاخري و غيابي و أشكركم لتفاعلكم و ردودكم الطيبة و آسف لعدم رفع الملف بشكل جيد 

الدائرة طبعا هي 360 كما تفضلتم و كان خطا كتابي و بالنسبة لكيفية حساب المتوسط يوجد مشاركة بعنوان قياسات زوايا الدائرة و الاخت ام عبد الله اجابت بحل لها و ممكن بتقسيم الناتج على 2  اضافة الناتج الجديد للقيمة الاصغر 

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

 

الفرق ين زاويتين.rar

قام بنشر

بالنسبة لمعادلة الاخ الطيب ياسر أبو البراء  المعادلة  جيدة لكن ندخل لا تصلح لكل الحالات  و مذكور بالملف الذي ارفقته كيف اننا يجب ان نضطر لاضافة 360 او 180 او طرحهما لذا الامر سيكون حسب ظني  اما الحصول على المتوسط بمرحلتين او ستكون معادلة معقدة تحي اداة الشرط حسب الحالات و تحوي معادلة الحصول على المتوسط و بارك الله بكم جميعا

قام بنشر

ربما لم أفهم المطلوب بشكل جيد

قمت بعمل دالة معرفة تتعامل مع كل زاوية .. إذا كانت الزاوية أقل من 180 يتم إضافة 360 لها وهكذا ثم يتم عد الزوايا وحساب المتوسط على حسب العدد

أرجو أن يكون المطلوب ..

Function AnglesAverage(Rng As Range)
    Dim Cell As Range, Counter As Long, Temp
    For Each Cell In Rng
        If Cell.Value < 180 And Not IsEmpty(Cell) Then
            Temp = Temp + Cell.Value + 360
        Else
            Temp = Temp + Cell.Value
        End If
        If Not IsEmpty(Cell) Then Counter = Counter + 1
    Next Cell
    AnglesAverage = Temp / Counter
End Function

تقبل تحياتي

Angles Average UDF Function.rar

  • Like 2
قام بنشر (معدل)

و عليكم السلام و رحمة الله و بركاته

أهلا بك اخي ياسر خليل أبو البراء 

أشكرك لجهدك الطيب  و عملك المبدع 

 

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

و بالنسبة للدالة التي تفضلت بعملها فهي جيدة و ممتازة و لكن تظهر مشكلة و تحتاج لامر 

المشكلة تظهر لما تكون الزاوية اقل من 180 ثم تصبح 180 او اكثر هنا يحدث فرق بين المتوسطين اللذين تم حسابهما بالدالة الجديدة 

 

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

و بالملف المرفق توضيح للمشكلة و للامر و جزاكم الله كل خير 

Angles Average UDF Function 2.zip

تم تعديل بواسطه أبو لجين
قام بنشر

السلام عليكم ورحمة الله وبركاته

الأخوة الأكارم ما كنت أعلمه أن الدائرة تنقسم إلى  360  ْ   وقد قرأت استغراب أخي علاء أن الدائرة أصبحت     350 ْ  

سبحان مغير الأحوال من حال إلى حال

راجياً من الأخوة المشرفين العمل على تغيير العنوان بداية ...لا أعلم أن الزوايا دائرية ....وذلك لأنني لم أدرس الثانوية العلمي بل الأدبي.

والسلام عليكم.

  • Like 1
قام بنشر

أخي الكريم أبو لجين

إليك التعديل ليناسب طلبك إن شاء المولى

Function AnglesAverage(Rng As Range)
    Application.Volatile
    Dim Cell As Range, Counter As Long, Temp
    For Each Cell In Rng
        If Cell.Value < 180 And Not IsEmpty(Cell) Then
            Temp = Temp + Cell.Value + 360
        Else
            Temp = Temp + Cell.Value
        End If
        If Not IsEmpty(Cell) Then Counter = Counter + 1
    Next Cell
    AnglesAverage = Temp / Counter
    If AnglesAverage >= 360 Then AnglesAverage = AnglesAverage - 360
End Function

قم بإدراج الكود مكان الكود القديم واذهب لورقة العمل وإذا وجدت النتائج لم تتغير يرجى الضغط على Ctrl + Shift + F9

 

لا تنسى أن تحدد أفضل إجابة ، ولو فيها رزالة مني متنساش تضغط على "أعجبني هذا"

  • Like 3
قام بنشر

أخي وحبيبي في الله علاء رسلان

ربما يكون شيء مستحدث في علم الرياضيات لم نسمع به ... وفوق كل ذي علمٍ عليم

أنا حاولت فهم الطريقة التي يتم بها حساب متوسط الزوايا من خلال المرفق لأبو لجين فقمت على أساسها بعمل الدالة المعرفة التي تؤدي المطلوب

وإن شاء الله يفيدنا أخونا الكريم أبو لجين بمعلومات أكثر حول طريقة حساب متوسط الزوايا الدائرية

  • Like 2
قام بنشر

أخي وحبيبي في الله علاء رسلان

ربما يكون شيء مستحدث في علم الرياضيات لم نسمع به ... وفوق كل ذي علمٍ عليم

أنا حاولت فهم الطريقة التي يتم بها حساب متوسط الزوايا من خلال المرفق لأبو لجين فقمت على أساسها بعمل الدالة المعرفة التي تؤدي المطلوب

وإن شاء الله يفيدنا أخونا الكريم أبو لجين بمعلومات أكثر حول طريقة حساب متوسط الزوايا الدائرية

السلام عليكم ورحمة الله وبركاته إخوتي الأكارم :

لماذا نحن نقرأ الأسماء التي علمنا إياها من هم أقدم منا ...فمثلاً رياضيات ...طب ...إلخ ...؟.

تعالوا نقترح للزوايا الدائرية اسماً جديداً ...نطلق عليها اسم :(رياضيات ما بعد الحديثة)

أقول هذا على سبيل الدعابة ..وأعتذر لأخي أبو لجين المحترم..فالجفاف يسبب أخاديد في الوجه كما كثرة الضحك سواء بسواء.

ولكم في رسول الله أسوة حسنة..مازح عجوزاً بقوله صلى الله عليه وآله وسلم:(لا تدخل الجنة عجوز!.)

والسلام عليكم ورحمة الله وبركاته.

  • Like 1
قام بنشر

الفائدة الأولى

قانون إيجاد متوسط الزوايا

              sum of sines of angles

  A = arctan ------------------------

             sum of cosines of angles

 

مثال \المطلوب إيجاد متوسط الزاويتين 5 و 15

 

  sin(5) + sin(15)   0.08716+0.25882   0.34597

  ---------------- = --------------- = ------- = 0.17633

  cos(5) + cos(15)   0.99619+0.96593   1.96212

 

  A = arctan(0.17633) = 10

الفائدة الثانية

المثلث المستوي هو مثلث مجموع زواياه تساوي 180 درجة وأضلاعه خطوط مستقيمة

المثلث الكروي (أو الفلكي) هو مثلث مجموع زواياه أكبر من 180 درجة وأصغر من 540 درجة وأضلاعه أقواس من الدائرة

  

قام بنشر

السلام عليكم و رحمة الله و بركاته 

الاخ الطيب ياسر أبو البراء التتعديل لم يحل المشكلة بالنسة لما تتغير الدرجة من 179 الى 180 يبقى هناك اختلاف كبير في المتوسط   و  بالنسبة للامر الاخر فهو تمام  و أشكرك لجهوك  و أشكر الاخ أبو عيد لاضافه القانون و أتمنى أن يتم كابته بصيغه  دالة  أخرى .

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

و جزاكم الله كل خير

قام بنشر

أخي الكريم أبو لجين

أنا لما عملت الدالة المعرفة عملتها على أساس المرفقات التي تقدمت بها والشرح الذي تقدمت به

ببساطة عشان تقدر تحل الموضوع انسى الرياضيات وكلمني بلغة عادية .. اشرح بالتفصيل الممل الخطوات التي تقوم بها لإيجاد المتوسط .. كل الخطوات بالتفصيل ..

يمكن الاعتماد على آخر مشاركة لي من ناحية تصحيح النتائج الخاطئة وتوضيح سبب الخطأ لمحاولة معالجته ويا ريت تتابع الموضوع لأني بنسى بعد فترة .. حاول تتابع عشان تقدر توصل لحل ونقفل الموضوع

تقبل تحياتي

قام بنشر (معدل)

السلام عليكم و رحمة الله و بركاته 

الاخ الطيب ياسر أبو البراء 
 
بداية أشكرك و أشكر الاخ أبو عيد لاسعافه لي بالمعادلة التي تريحنا 
 
الان اعمل للتدقيق بالمطلوب لان تظهر لددي بعض الاخطاء حتى بمعادلة الاخ ابو عيد لذا ساقوم بدراسة الامر و اجيبكم غدا بحول الله و مشيئته
 

 

 

تم تعديل بواسطه أبو لجين
قام بنشر (معدل)

أخي الكريم أبو لجين

إليك الدالة المعرفة التالية علها تفي بالغرض

Function AnglesAverage(Rng As Range)
    Application.Volatile
    Dim Cell As Range, Counter As Long, Temp
    For Each Cell In Rng
        Temp = Temp + Tan(Cell.Value * Application.WorksheetFunction.PI() / 180)
    Next Cell
    Temp = Atn(Temp) * 180 / Application.WorksheetFunction.PI()
    If Temp <= 0 Then Temp = Temp + 360
    AnglesAverage = Temp
End Function

 

تم تعديل بواسطه ياسر خليل أبو البراء
  • Like 1
قام بنشر (معدل)

يمكنك تجربة المعادلة التالية علها تنهي الموضوع ...

=MOD(DEGREES(ATAN(SUMPRODUCT(TAN(RADIANS(B2:E2))))), 360)

 

تم تعديل بواسطه ياسر خليل أبو البراء
  • Like 1
قام بنشر (معدل)

السلام عليكم
أجد الشاشة غريبة في ثوبها الجديد
الإخوة الأعزاء
لا أستطيع تنزيل الملفات ، ربما بعض الإصلاح مازال مستمرا
عموما أحببت أشارك بنقاط توضيحية
1- شدني جزء من مشاركة أبولجين حيث يقول"والامر الذي احتاج اليه  هو اذا كانت قيمة المتوسط اكثر او تساوي 360  نقوم بطرح 360"
أخي العزيز إذا كانت جميع الزوايا أقل من 360 فلايمكن أن تكون قيمة المتوسط اكثر او تساوي 360  ، إلا إذا كنت تقصد  المجموع وليس المتوسط

2- رياضيا يمكن التعبيرعن الزاوية بالموجب باتجاه عكس عقارب الساعة وبالسالب في إتجاه عقارب الساعة 
أي أن الزاوية 30 هي نفسها الزاوية (-330)
والزاوية 350 هي نفسها الزاوية (-10)
ويستخدم هذا الأسلوب (التعبير بالسالب عن الزوايا) لتلك التي تزيدعن 180 

3- قد تكون الملحوظتان السابقتان بلافائدة إذا استطعت تحميل الملف  :wallbash:

4- مما أثار اللخبطة لكثير من القراء أن مصطلح "زوايا دائرية" الذي استخدمه أبولجين هو في عالم الرياضيات له معني آخر غير مايقصده هنا
حيث تقسم الدائرة في نظام الزوايا الدائرية (بدلا من 360 درجة) إلي ضعف النسبة التقريبية أي أن الـ 360 تكون مكافئة لـ حوالي 6.283183 درجة دائرية
وبالمقلوب الزاوية الدائرية التي تساوي (1) هي الزاوية التي يتساوي طول قوسها مع نصف قطر الدائرة

تم تعديل بواسطه طارق محمود
  • Like 2
قام بنشر (معدل)

السلام عليكم و رحمة الله و بركاته 

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

المعادلة الاخيرة و الكود كلاهما يعطي نفس النتيجة بالضبط لكن يبقى هناك اخطاء حيث تغير يمة المتوسط بشكل كبير بمجرد ان احد زوايا كانت اقل من 90 او 270 او 300  ثم ثم زادت عنها و ستراها موضحه بالمرفق 

المشكلة بالنسبة للدالة  TANA  انها فقط تعطي نتيجة بين 90 و -90   لذا لاتعد مناسبة 

و بحثت في جوجل و رايت هاتين الصفحتين  و حاولت اجرب لكن الاوامر ليست ضمن فيجوال بيزك بل C++ او غيرها  لذا  ساضع رابط الصفحة و اضع الكود الذي رايته انه مناسب و بالحقيقة توجد عده اكواد بالصفحة و لم اعرف ايها الاصح لان لم ااستطع ان اجربها و بالملف المرفق ايضا جدول يمكن نسخه و التجربة عليه كي يتبين اذا في خطا ام لا فلا يجب ان تتغير قيمة المتوسط بشكل كبير فجاة 

و الاخ طارق محمود الطيب اهلا بك نورتنا و ملاحظتك صحيحة لكن للتوضيح كنت اقصد المتوسط الذي تحسبه الدالة حيث بعض الاحيان بسبب برمجتها (تتم اضافة قيم عددية للزوايا ) يصبح المتوسط اكبر من 360  ^_^

 public static GeoCoordinate GetCentralGeoCoordinate(
        IList<GeoCoordinate> geoCoordinates)
    {
        if (geoCoordinates.Count == 1)
        {
            return geoCoordinates.Single();
        }

        double x = 0;
        double y = 0;
        double z = 0;

        foreach (var geoCoordinate in geoCoordinates)
        {
            var latitude = geoCoordinate.Latitude * Math.PI / 180;
            var longitude = geoCoordinate.Longitude * Math.PI / 180;

            x += Math.Cos(latitude) * Math.Cos(longitude);
            y += Math.Cos(latitude) * Math.Sin(longitude);
            z += Math.Sin(latitude);
        }

        var total = geoCoordinates.Count;

        x = x / total;
        y = y / total;
        z = z / total;

        var centralLongitude = Math.Atan2(y, x);
        var centralSquareRoot = Math.Sqrt(x * x + y * y);
        var centralLatitude = Math.Atan2(z, centralSquareRoot);

        return new GeoCoordinate(centralLatitude * 180 / Math.PI, centralLongitude * 180 / Math.PI);
    }

 

الروابط هي :

http://stackoverflow.com/questions/6671183/calculate-the-center-point-of-multiple-latitude-longitude-coordinate-pairs?lq=1

 

http://stackoverflow.com/questions/491738/how-do-you-calculate-the-average-of-a-set-of-angles

 

http://stackoverflow.com/questions/5189241/how-to-find-the-average-of-a-set-of-bearings?lq=1

 

و جزاكم الله كل خير 

 

NEW3.zip

تم تعديل بواسطه أبو لجين
قام بنشر (معدل)

المشكلة الآن أنني لا أدري كيف يتم حساب المتوسط !! .. أنا لا أفقه الكثير في الرياضيات ولذا طلبت منك الخطوات المطلوبة لحساب المتوسط ... وفي المشاركات الأخيرة أرفقت ملف فيه الخطوات وأنا قمت بتتبع الخطوات وعملت الدالة تبعاً لذلك والنتائج مطابقة للنتائج في الملف  المرفق ..فأنى لي أن أدري إن كان هناك خطأ أم لا؟؟؟؟؟؟

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

الموضوع تشعب بدون الوصول لنتيجة مرضية للأسف

يرجى إرفاق  ملف نهائي بنتائج متوقعة ...صحيحة حتى يتسنى للجميع المساعدة وإلا فإننا ندور في دائرة مغلقة

تم تعديل بواسطه ياسر خليل أبو البراء
  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information