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


(mohds) #1

[FONT=Courier New][SIZE=2][COLOR=#0000ff]أول مشاركة أريد حل لهذه المصفوفة

[/color][/size][/font]


[FONT=Courier New];z=rentabilidad[/font]
[FONT=Courier New];(f=fechassplit(:,3[/font]
 
[FONT=Courier New];(act=fechassplit(:,1[/font]
 
[FONT=Courier New];(n=length(f[/font]
 
 
[FONT=Courier New];(rentab=zeros(n, 101[/font]
 
 
 
[FONT=Courier New];k=1[/font]
[FONT=Courier New]; for i=1:n[/font]
[FONT=Courier New]t=find(z(:,1)==f(i));%identifica la fila donde aparece la fecha de referencia (fecha del split[/font]
[FONT=Courier New]antes=z(t-105:t-6,);%crea una matriz, donde la primera fila empieza -6 hasta-105[/font]
[FONT=Courier New]antes=[z(1, );antes];%rentabilidad de fecha para cada empresa antes split.[/font]
[FONT=Courier New]jj=fechasalto(i,4:end); %es el archivo para cada activo el fechasalto.[/font]
 
 
 
[FONT=Courier New];(n=length(jj[/font]
 
[FONT=Courier New];(m=length(antes[/font]
[FONT=Courier New];k=1[/font]
[FONT=Courier New];for i=1:n[/font]
 
 
[FONT=Courier New];for j=1:m[/font]
 
 
[FONT=Courier New]عندما أصل لهذ ه النقطة لم يطلع لي ناتج لماذا ساعدوني [/font]
 
[FONT=Courier New]هنا تكمن المشكلة(if jj(1,i)==antes(1,j [/font]
 
 
 
[FONT=Courier New]هنا تكمن المشكلة;(alto(:,k)=antes(:,j [/font]
 
[FONT=Courier New]end[/font]
[FONT=Courier New]end[/font]
[FONT=Courier New]end[/font]
 
 
 
[FONT=Courier New];k=k+1[/font]
[FONT=Courier New];clear v[/font]
[FONT=Courier New];clear antes[/font]
[FONT=Courier New]clear jj[/font]
[FONT=Courier New]end[/font]


#2

أخى العزيز أرفق الكود كامل
اين المتغيرات rentabilidad


(mohds) #3

rentabilidadهي المصفوفة الأساسية وهي مصفوفة كبيرة عملت لها تصدير من إكسل وتحتوي على 222عمود و 4020صف رمزها غيرتة لحرف zثم أستخرجت منها مصفوفة أصغر تحتوي على222 عمود 100صف أسمها antes وأما مصفوفة jjتحتوي على أرقام عشوائية 63عمود فقط وصف واحد أريد سحبها من مصفوفة antesالتي تحتوي على عوائد وأكون مصفوفة جديدة تسمى altoوشكرا على حسن التجاوب


#4

أخى العزيز أبعتلى هذه الملفات


(mohds) #5

أخي أحمد مركز الرفع الذي تابع المنتدى لايمكنه رفع الملفات نظراً للحجم الكبير لهم في طريقة أخرى أرشدنا بها وجزاك الله خيراً المشكلة عند تطبيق الشرط تطلع لي الإجابة الأتية
(jj(1,i)==antes(1,j
;(alto(:,k)=antes(:,j
??? Error using ==> eq
Matrix dimensions must agree.


#6

هذا الرابط الذى ارسلته لى وقمت بتحميل جميع المتغيرات
Download link: http://rapidshare.com/files/397888783/matlab.mat

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


(mohds) #7

هذه كافة الأكواد المستخدمة في التطبيق في معادلات أنا عملتها سابقا مثل
fechassplit and
fechasalto

وجزاك الله خيراً أخي احمد


[SIZE=2][FONT=Courier New][SIZE=2][FONT=Courier New][FONT=Courier New][SIZE=2]
[SIZE=2][FONT=Courier New]z=rentabilidad;[/font][/size]
[/size][/font][/font][/size][SIZE=2][FONT=Courier New]f=fechassplit(:,3);[/font][/size]
[SIZE=2][FONT=Courier New]act=fechassplit(:,1);[/font][/size]
[SIZE=2][FONT=Courier New]n=length(f);[/font][/size]
 
 
[SIZE=2][FONT=Courier New]k=1;[/font][/size]
[/font][/size][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=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]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);[/size][/font]
[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] jj(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][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]
 
 
[SIZE=2][FONT=Courier New][SIZE=2][FONT=Courier New]clear [/font][/size][/font][/size][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]


#8

هذا السطر غير صحيح

f=fechassplit(:,3);

لان المتغير fechassplit يحتوى على عمودين فقط


(mohds) #9

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


(mohds) #10

اخي احمد المشكلة عندي المعادلة الشرطية هل تحتوي على خطأ ام إن العمل يحتوي على أخطاء جزاك الله خيراً

jj(1,i)==antes(1,j)
    alto(:,k)=antes(:,j);
??? Error using ==> eq
Matrix dimensions must agree.

وهذه النتجية عند تطبيق الأمر أحصل عليها


(mohds) #11

ولو فرضاً أدخلنا الكود هي نفس نتجية السابقة fتاريخ التجزئة

 f=fechassplit(:,2);

#12

أتمنى انك تكون فهمت كلامى كويس
المتغير fechassplit يحتوى على عمودين فقط


#13

أخى العزيز هذا السطر غير صحيح

jj=fechasalto(i,4:ultimo numero de empresaalto); %es el archivo para cada activo el fechasalto.

[FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22]

[/color][/size][/font][/color][/size][/font]
اسم المتغير لا يحتوى مسافات


(mohds) #14

أخي أحمد لقد أسترجعت للماتلاب الملف الذي يحتوي على ثلاثة أعمدة الاول لرقم الشركات من 1إلى 85شركة بالترتيب الثاني يحتوي على حجم التجزئة ولست في حاجة له أمآلعمود الثالث تواريخ التجزئة لكل شركة مهم واخذته حسب المعادلة السابقة وحاولت أطبق عليه واصل لنفس النتجية هل عندما ارمز ل k مرة رقم الشركة في المعادلة الأولى أثر وفي المعادلة الأخير الشرطية تأخذ kرمز العد أم كيف جزاك الله خيراً


(mohds) #15

هذا النتجية دائما تطلع عندي في المعادلة الأخيرة

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];
>>  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.


#16

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


#17

يرجى تصحيح الكود وارساله مرة أخرى


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

وانا متأكد الخطأ في هذا الكود اشرح لي جزاك الله خيرا


(mohds) #19

سوف ارسله لك الآن أنشاء الله


#20

أخى العزيز ياريت تكتب لغة مفهومة

وانا متأكد الخطء