أول مشاركة أريد حل لهذه المصفوفة

z=rentabilidad;
>> f=fechassplit(:,3);
>> act=fechassplit(:,1);
>> n=length(f);
>>  k=1;
>> i=1:1; 
>> t=find(z(:,1)==f(1));
>> antes=z(t-105:t-6,:);
>> antes=[z(1,:);antes];
>> jj=fechasalto(i,4:66); 
>>  n=length(jj);
>>  m=length(antes);
>>  k=1;
>>  i=1:n;
>>  j=1:m;
>>  jj(1,i)==antes(1,j)
    alto(:,k)=antes(:,j);
??? Error using ==> eq
Matrix dimensions must agree.

نرجو ارسال الكود وليس كوبى من سطر الأوامر

أخي أحمد الكود التالي

[FONT=Courier New][SIZE=2]
[SIZE=2][FONT=Courier New]jj=fechasalto(i,4:ultimo numero de empresaalto);[/font][/size]
[/size][/font]

ultimo numero de empresaaltoيعني أني أخذ من الصف أخر رقم موجود لدي لانها في كل صف تختلف من رقم لاخر فأنا ارجع أكتب أخر رقم في الصف .مثلا الصف الاول وقف عند 66

jj=fechasalto(i,4:66);

مثلا الصف الأخر تأخذ أخر رقم 76

jj=fechasalto(i,4:76);

أخي أحمد هذه الأكواد المستخدمة لدي

[FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]
z=rentabilidad;
f=fechassplit(:,3);
act=fechassplit(:,1);
n=length(f);


k=1;
[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]for[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#000000] i=1:n; [/color]
t=find(z(:,1)==f(i));[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22]%identifica la fila donde aparece la fecha de referencia (fecha del split)
[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]antes=z(t-105:t-6,:);[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22]%crea una matriz, donde la primera fila empieza -6 hasta-105
[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]antes=[z(1,:);antes];[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22]%rentabilidad de fecha para cada empresa antes split.
[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]jj=fechasalto(i,4:ultimo numero de empresaalto); [/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22]%es el archivo para cada activo el fechasalto.

[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]n=length(jj);
m=length(antes);
k=1;
[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]for[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#000000] i=1:n;[/color]
[COLOR=#000000][/color]
[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]for[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#000000] j=1:m;[/color]
[COLOR=#000000][/color]
[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]if[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2] jj(1,i)==antes(1,j)
alto(:,k)=antes(:,j);
k=k+1;
[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]end[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2] 
[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]end
end[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#000000] [/color]
[COLOR=#000000][/color]
[COLOR=#000000][/color]
clear [/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]antes[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2];
clear [/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]jj[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2];
clear [/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]n[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2];
clear [/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]m[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2];

[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]end
[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]
[/size][/font][/size][/font]

تحملنا على الإزعاج في الإجازة وجزاك الله خيراً عنا

سوف أرسل لك الملف مرة أخرى يحتوي على الأرشيف fechassplitالذي يحتوي على ثلاثة أعمدة الآن أنشاء الله على فكرة لوحة المفاتيح حقي أسباني لذلك توجد أخطاء مطبعية صعوبة في الطبع

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

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


[SIZE=2][FONT=Courier New][SIZE=2][FONT=Courier New]jj=fechasalto(i,4:ultimo numero de empresaalto);[/font][/size]
[/font][/size]

ultimo numero de empresaaltoيعني أخر رقم في الصف أخذ .كيفية الطريقة الأتوماتيكية؟

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

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

أخى العزيز راجع الكود مرة أخرى ويجب تغيير هذا السطر ويمكنك مثلا استخدام

variable_name(end,end)

لتحصل على أخر عنصر فى المصفوفة

أخي أحمد المعادلةjj هي مشتقه من المصفوفة fechasaltoحيث رمز(i) يرمز للشركة… .1.2ألخ وعندما كتبت 4يعني أبدأ من هذا العمود إلى أخر رقم في المصفوفة عندي صفر في عمود رقم 101ولكني اريد أخر عدد وهو مثلا في الصف الاول220 وهو يكون في العمود66 في السطر الأصلي للصف الأول وتكون النتجية 63وكذلك بالنسبة للصف الثاني نبدأ من 4عمود إلى غاية العمود76يكون في الصف الثاني الرقم 221اريد أن تكون النتجية 73لان العمود الأول رقم الشركة والعمود الثاني حجم التجزئة والعمود الثالث تاريخ التجزئة كلها لست في حاجة لها فقط أستخدم (i)لرقم الشركة لذلك بدأ من عمود رقم 4وأغير (i)لكي يتغير رقم الصف
وهذا لقد جربت الكود الذي أرسلته جزاك الله خيراً يطلع لي لكل الاعمدة وهي فعلا هذا الرقم 101وأنا أريدأن يعد لي الاعمدة لغاية الشركة رقم 220و ويكون 63عمود في الصف الأول يمكن تطلع عليه في الفايل عندك وجزاك الله خيراً

يعني شكل الكود كذا النهائي وهذا جربته يطلع لي صفر لان أخر عمود رقم101فيه صفر بينما أنا أريد أخر عمود 63ويحتوي على رقم الشركة 220لان بقية الأعمدة تحتوي على صفرمن 46لغاية 101ولست في حاجة لها
(i) رمز الشركة الأولى يتغير 1،2…الخ هذا المتغيرfechasalto=higherdateيعني أعلى تاريخ


[SIZE=2][FONT=Courier New][SIZE=2][FONT=Courier New]jj=fechasalto(i,4:end);[/font][/size]
[/font][/size]

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

كيف أخي أحمد ما هو الكودالذي يمكن أستخدمه ارسله لي فضلاً جزاك الله خيراً

أستخدم nanأو any

هذا أخي أحمد أبحث عنه يمكن ترشدني له أريد الكود جزاك الله خيراً

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

[FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]
tilalto=fechasalto(1,:);[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22]%es el archivo para cada activo el fechasalto( cortar columna cero).
[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]jj=find(tilalto);
analto=fechasalto(1,jj); [/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22]%no cero aquì
[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]gj=analto(1,4:length(analto));
[/size][/font][/size][/font]
[FONT=Courier New][SIZE=2]
[SIZE=2][FONT=Courier New]k=i;[/font][/size]
[/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]for[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#000000] i=1:i; [/color][/size][/font]
[SIZE=2][FONT=Courier New]t=find(z(:,1)==f(i));[/font][/size][/size][/font][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22]%identifica la fila donde aparece la fecha de referencia (fecha del split)[/color][/size][/font]
[/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]antes=z(t-105:t-6,:);[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22]%crea una matriz, donde la primera fila empieza -6 hasta-105[/color][/size][/font]
[/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]antes=[z(1,:);antes];[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22]%rentabilidad de fecha para cada empresa antes split.[/color][/size][/font]
[/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]tilalto=fechasalto(i,:);[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22]%es el archivo para cada activo el fechasalto( cortar columna cero).[/color][/size][/font]
[/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]jj=find(tilalto);[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22]%es numero del archivo [/color][/size][/font]
[/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]analto=fechasalto(i,jj); [/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22]%no cero aquì[/color][/size][/font]
[/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]gj=analto(1,4:length(analto));[/size][/font]
 
[SIZE=2][FONT=Courier New]clear [/font][/size][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]tilalto[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2];[/size][/font]
[SIZE=2][FONT=Courier New]clear [/font][/size][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]analto[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2];[/size][/font]
 
[SIZE=2][FONT=Courier New]n=length(gj);[/font][/size]
[SIZE=2][FONT=Courier New]m=length(antes);[/font][/size]
[SIZE=2][FONT=Courier New]k=1;[/font][/size]
[/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]for[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#000000] i=1:n;[/color][/size][/font]
 
[/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]for[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#000000] j=1:m;[/color][/size][/font]
 
[/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]if[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2] gj(1,i)==antes(1,j)[/size][/font]
[SIZE=2][FONT=Courier New]alto(:,k)=antes(:,j);[/font][/size]
[SIZE=2][FONT=Courier New]k=k+1;[/font][/size]
[/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]end[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2]
[/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]end[/color][/size][/font]
[SIZE=2][FONT=Courier New][COLOR=#0000ff]end[/color][/font][/size][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2]
 
 
[SIZE=2][FONT=Courier New]clear [/font][/size][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]antes[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2];[/size][/font]
[SIZE=2][FONT=Courier New]clear [/font][/size][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]jj[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2];[/size][/font]
[SIZE=2][FONT=Courier New]clear [/font][/size][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]n[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2];[/size][/font]
[SIZE=2][FONT=Courier New]clear [/font][/size][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]m[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2];[/size][/font]
 
[/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]end[/color][/size][/font]
[/color][/size][/font][/color][/size][/font]

وجدت الحل وهو أن أطبق من editorبالضغط على السهم الأخضر جزاك الله خيراً

جزاك الله خيرا وبالتوفيق ان شاء الله

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