مساعدة في استخلاص بيانات معينة داخل نطاق دائرة


(eslamoo) #1

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

طبعا طلبي هو:

لدي مصفوفة تتكون من 500 صف و3 اعمدة

العمود الاول هي بيانات الاحداتيات في x
العمود التاني هي بيانات الاحداتيات في y
العمود الثالت هي قيم لتلك الاحداتيات

المطلوب :

اريد فقط حساب متوسط قيم الاحداتيات التى داخل نطاق الدائرة فقط.

علما بأن مركز الدائرة هو 0.3 في x و 0.5 في y كما موضح في الصورة المرفقة.
ملاحضة: افرض اي نصف قطر للدائرة مابين 0.1 الى 0.3

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

ارفق لكم
المصفوفة والصورة

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


(Ahmed) #2

يمكنك استخدام الكود التالي:


clear all; clc; close all

% Load mat file
load('b.mat');
r=0.3;
xo=0.3;
yo=0.5;
[m n]=size(b);

CMean=mean(b(find(((b(:,1)-xo).*(b(:,1)-xo))+((b(:,2)-yo).*(b(:,2)-yo))<=r*r)+m*2));


(eslamoo) #3

شكرا اخي DzArticles

انا وجدت الحل بطريقة تانية.

جزاء الله خيرا