ماتلاب مخططات فرعية متعددة في واجهة المستخدم الرسومية

0

أعمل حاليًا على الانحدار المتعدد في Matlab Gui . لدي متغير باسم A ومصفوفة باسم X مع العديد من الأعمدة ، يشار إليها باسم X1 ، X2 ، ... Xn. أريد أن أجعل الشكل الذي يحتوي على قطع فرعية (2 في كل صف) مع مخططات بين A وكل عمود X. تكمن المشكلة في أنه عندما يقوم المستخدم بإدراج مصفوفة X الخاصة به ، فقد تكون هذه الأعمدة 1 أو 2 أو 10. أعتقد أنه يجب علي عمل حلقة for X. هل هذا ممكن حتى في المخططات الفرعية؟ أفكر في شيء مشابه لذلك. هل يستطيع أحد مساعدتي في جعلها تعمل؟

     cols = size(X,2);
figure;
for i = 1:cols
    subplot(ceil(cols/2),2,i)
    scatter(A,X(i,:));
end

يجب أن تحتوي المخرجات التي أريدها على مخططات فرعية مع المتجه A في المحور Y مع كل عمود من المصفوفة XIe إذا كان X يحتوي على 5 أعمدة ، أريد شكلاً يحتوي على 5 مخططات فرعية.

1 إجابة

1
افضل جواب

نعم يمكنك ذلك. أدناه مظاهرة.

نقلا عن حبكة فرعية :

subplot(m,n,p) divides the current figure into an m-by-n grid and creates axes in the position specified by p.

لذلك ، لديك a يجب أن يكون إجمالي عدد الأعمدة مقسومًا على 2. ومع ذلك ، قد يؤدي هذا إلى عدم الأعداد الصحيحة لعدد فردي من الأعمدة. ستحتاج إلى التفاف حاصل القسمة مع ceil .

randomColNum = randi([1,10]);
randomRowNum = randi([10,20]);
A = rand(1,randomRowNum ); % make a random vector to imitate matrix A.
X = rand(randomRowNum, randomColNum ); % make a random matrix to imitate user input X.
cols = size(X,2);
figure;
for i = 1:cols
    subplot(ceil(cols/2),2,i)
    scatter(X(:,i), A);
end
:مؤلف
فوق
قائمة طعام