کلیدستان

نسخه‌ی کامل: یکی منو راهنمایی کنه
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
من در متلب یه برنامه نوشتم که خروجیش یک ماتریس 3*3 میباشد
مثلا جواب میده

 2 3 5
1 6 9
9 5 7

اگه بخوام به فرم زیر خروجی بده باید چه دستوری بدم :

q=9 w=8 e=8
a=1 s=2 d=3
z=1 x=2 c=3

منتظر کمکتون هستم 
ممنون
 
سلام.
براتون یک مثال ساده می زنم تا شیوه کلی کدنویسی را متوجه بشوید :

کد:
clear all
close all
clc

A=[1 3; 2 4];
B=['a' 'c'; 'b' 'd'];
for nn=1:4
    string=strcat(B(nn),'=',num2str(A(nn)));
    disp(string);
end

سه خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در نرم افزار متلب می باشد. دستور strcat برای اتصال دو یا چند رشته (string) به هم، به کار می رود و دستور disp برای نمایش یک رشته در خروجی می باشد.
نتیجه اجرای کد متلب بالا :

کد:
a=1
b=2
c=3
d=4
با تشکر از کمکتون
میخواستم بگم توی استفاده از کد بالا به یه مشکل خوردم
خروجی تابع A اینه: 0.0266   -0.8638   -0.5031
   -0.6209    0.3802   -0.6855
    0.7834    0.3306   -0.5262

خروجی تابع B
l(1)m(1)n(1)
l(2)m(2)n(2)
l(3)m(3)n(3)
حالا وقتی این دو تابع رو به هم متصل میکنم خروجی زیر رو میده:
l=0.026608
l=-0.62093
l=0.78342
(=-0.8638
(=0.38016
(=0.33065
1=-0.50313
2=-0.68552
3=-0.52624

اگه مکنه کد کامل رو میدم یه نگا بهش بندازید 
و راهنماییم کنید
ممنون
اینم کد کامل:


کد:
clear all;
clc;
X = xlsread('input.xlsx',1,'B1');
Y = xlsread('input.xlsx',1,'B2');
Z = xlsread('input.xlsx',1,'B3');
TXY = xlsread('input.xlsx',1,'B4');
TXZ = xlsread('input.xlsx',1,'B5');
TYZ = xlsread('input.xlsx',1,'B6');
I1=X+Y+Z;
I2=X*Y+X*Z+Y*Z-TXY^2-TXZ^2-TYZ^2;
I4=[X TXY TXZ;TXY Y TYZ;TXZ TYZ Z];
I3=det(I4);
a=I1;
b=I2;
c=I3;
p=[1 -a b -c];
r=roots(p);
k=r(1);
l=r(2);
m=r(3);
w=[k l m];
Q=sort(w,'descend')
for i=1:3
a(i)=det([(Y-Q(i)) TYZ ; TYZ (Z-Q(i)) ]);
b(i)=-det([TXY TYZ ;TXZ (Z-Q(i)) ]);
c(i)=det([TXY (Y-Q(i));TXZ TYZ ]);
k(i)=1/((a(i))^2+(b(i))^2+(c(i))^2)^.5;
ll(i)=a(i)*k(i);
mm(i)=b(i)*k(i);
nn(i)=c(i)*k(i);
aaaa(i)=(ll(i))^2+(mm(i))^2+(nn(i))^2;
end
F=[ll(1) mm(1) nn(1);ll(2) mm(2) nn(2);ll(3) mm(3) nn(3)]
G=['l(1)' 'm(1)' 'n(1)';'l(2)' 'm(2)' 'n(2)';'l(3)' 'm(3)' 'n(3)']
for nnn=1:9
string=strcat(G(nnn),'=',num2str((F(nnn))));
disp(string);
end
clear all;
clc;
X = xlsread('input.xlsx',1,'B1');
Y = xlsread('input.xlsx',1,'B2');
Z = xlsread('input.xlsx',1,'B3');
TXY = xlsread('input.xlsx',1,'B4');
TXZ = xlsread('input.xlsx',1,'B5');
TYZ = xlsread('input.xlsx',1,'B6');
I1=X+Y+Z;
I2=X*Y+X*Z+Y*Z-TXY^2-TXZ^2-TYZ^2;
I4=[X TXY TXZ;TXY Y TYZ;TXZ TYZ Z];
I3=det(I4);
a=I1;
b=I2;
c=I3;
p=[1 -a b -c];
r=roots(p);
k=r(1);
l=r(2);
m=r(3);
w=[k l m];
Q=sort(w,'descend')
for i=1:3
a(i)=det([(Y-Q(i)) TYZ ; TYZ (Z-Q(i)) ]);
b(i)=-det([TXY TYZ ;TXZ (Z-Q(i)) ]);
c(i)=det([TXY (Y-Q(i));TXZ TYZ ]);
k(i)=1/((a(i))^2+(b(i))^2+(c(i))^2)^.5;
ll(i)=a(i)*k(i);
mm(i)=b(i)*k(i);
nn(i)=c(i)*k(i);
aaaa(i)=(ll(i))^2+(mm(i))^2+(nn(i))^2;
end
F=[ll(1) mm(1) nn(1);ll(2) mm(2) nn(2);ll(3) mm(3) nn(3)]
G=['l(1)' 'm(1)' 'n(1)';'l(2)' 'm(2)' 'n(2)';'l(3)' 'm(3)' 'n(3)']
for nnn=1:9
string=strcat(G(nnn),'=',num2str((F(nnn))));
disp(string);
end


که باید دو تابع F و G رو به هم متصل کنه