|
خطای نتیجه در متلب - نسخهی قابل چاپ
|
خطای نتیجه در متلب - The BesT - 17 تیر ۱۳۹۷ ۰۹:۲۷ ب.ظ
سلام دوستان
لطفاااا کسانیکه نرم افزار متلب را دارید ،این تیکه کد را اجرا بفرمایید. چرا برای همه متغیرها عدد ۴۸ را در خروجی چاپ میکنه؟
میخوام اعداد موجود در آرایه را دونه دونه اعداد را به باینری هشت بیتی تبدیل کنه و هر بیت را در یک page بریزه. بیت اول در page1 ،بیت دوم در page2 و .....
آخر دست که میرم خونه های pageها را چک میکنم همش عدد ۴۸ را داخلشون چاپ کرده. چرا؟؟!
ممنون
کد:
a=[1 2 3 4;5 6 7 8;9 10 11 12];
page1=zeros(3,4);
page2=zeros(3,4);
page3=zeros(3,4);
page4=zeros(3,4);
page5=zeros(3,4);
page6=zeros(3,4);
page7=zeros(3,4);
page8=zeros(3,4);
data2=zeros(3,4);
for i=1:3
for j=1:4
data2(i,j)=a(i,j);
end
end
for i=1:3
for j=1:4
m=data2(i,j);
temp=dec2bin(m,8);
page1(i,j)=temp(1);
page2(i,j)=temp(2);
page3(i,j)=temp(3);
page4(i,j)=temp(4);
page5(i,j)=temp(5);
page6(i,j)=temp(6);
page7(i,j)=temp(7);
page8(i,j)=temp(8);
end
end
|
RE: خطای نتیجه در متلب - BBumir - 17 تیر ۱۳۹۷ ۱۰:۰۵ ب.ظ
(۱۷ تیر ۱۳۹۷ ۰۹:۲۷ ب.ظ)The BesT نوشته شده توسط: سلام دوستان
لطفاااا کسانیکه نرم افزار متلب را دارید ،این تیکه کد را اجرا بفرمایید. چرا برای همه متغیرها عدد ۴۸ را در خروجی چاپ میکنه؟
میخوام اعداد موجود در آرایه را دونه دونه اعداد را به باینری هشت بیتی تبدیل کنه و هر بیت را در یک page بریزه. بیت اول در page1 ،بیت دوم در page2 و .....
آخر دست که میرم خونه های pageها را چک میکنم همش عدد ۴۸ را داخلشون چاپ کرده. چرا؟؟!
ممنون
کد:
a=[1 2 3 4;5 6 7 8;9 10 11 12];
page1=zeros(3,4);
page2=zeros(3,4);
page3=zeros(3,4);
page4=zeros(3,4);
page5=zeros(3,4);
page6=zeros(3,4);
page7=zeros(3,4);
page8=zeros(3,4);
data2=zeros(3,4);
for i=1:3
for j=1:4
data2(i,j)=a(i,j);
end
end
for i=1:3
for j=1:4
m=data2(i,j);
temp=dec2bin(m,8);
page1(i,j)=temp(1);
page2(i,j)=temp(2);
page3(i,j)=temp(3);
page4(i,j)=temp(4);
page5(i,j)=temp(5);
page6(i,j)=temp(6);
page7(i,j)=temp(7);
page8(i,j)=temp(8);
end
end
سلام به خاطر اینه که temp رشته کرکتریه.
کد اصلاح شده:
کد:
a=[1 2 3 4;5 6 7 8;9 10 11 12];
page1=zeros(3,4);
page2=zeros(3,4);
page3=zeros(3,4);
page4=zeros(3,4);
page5=zeros(3,4);
page6=zeros(3,4);
page7=zeros(3,4);
page8=zeros(3,4);
data2=zeros(3,4);
for i=1:3
for j=1:4
data2(i,j)=a(i,j);
end
end
for i=1:3
for j=1:4
m=data2(i,j);
%%temp is string or array of char
temp=dec2bin(m,8);
page1(i,j)=str2num(temp(8));
page2(i,j)=str2num(temp(7));
page3(i,j)=str2num(temp(6));
page4(i,j)=str2num(temp(5));
page5(i,j)=str2num(temp(4));
page6(i,j)=str2num(temp(3));
page7(i,j)=str2num(temp(2));
page8(i,j)=str2num(temp(1));
end
end
|
خطای نتیجه در متلب - The BesT - 17 تیر ۱۳۹۷ ۱۰:۳۳ ب.ظ
ممنووون
چرا فقط عدد ۴۸ را برای همشون نشون میده؟
|
RE: خطای نتیجه در متلب - BBumir - 17 تیر ۱۳۹۷ ۱۱:۱۲ ب.ظ
(۱۷ تیر ۱۳۹۷ ۱۰:۳۳ ب.ظ)The BesT نوشته شده توسط: ممنووون
چرا فقط عدد ۴۸ را برای همشون نشون میده؟
خواهش میکنم چون عدد اسکی حرف ۰ هست.
|
خطای نتیجه در متلب - The BesT - 19 تیر ۱۳۹۷ ۰۵:۱۰ ب.ظ
سلام
اگر مقدارهای زیر داشته باشیم:
a1=0 , a2=0 , a3=0 , a4=0 , a5=0 , a6=1 , a7=0 , a8=1
چجوری میتونم در متلب بگم این ارقام را کنار هم بگذار و عدد باینری که تولید میشه را دسیمال کند؟
یعنی این را ایجاد کند : ۰۰۰۰۰۱۰۱
و بعد چاپ کند ۵
ممنون
|
خطای نتیجه در متلب - The BesT - 19 تیر ۱۳۹۷ ۰۸:۱۷ ب.ظ
اینجوری میشه
کد:
bin2dec(strcat(num2str(a1),num2str(a2),num2str(a3),num2str(a4),num2str(a5),num2str(a6),num2str(a7),num2str(a8)))
|
خطای نتیجه در متلب - Behnam - ۲۰ تیر ۱۳۹۷ ۱۰:۳۹ ق.ظ
من، بعد از دیدن این مدل کد زدن:
|