انجمن سایت کلیدستان


رتبه موضوع:
  • 1 رای - 4 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
سوال : رسم ماتریس سه بعدی

سوال : رسم ماتریس سه بعدی

#18
سلام ، ببخشید من فکر میکنم تو فراخوانی بعدهای ماتریس سه بعدی مشکل دارم ، کد الگوریتم بازسازی یک سیگنال سه بعدی رو نوشتم ، همانطور که در شکل زیر میبینید شکل اول از سمت چپ داده اصلی من است ( همان ماتریس سه بعدی d_x_true که تا 30 درایه از هر بعد رو بریدم و به عنوان داده ورودی کوچکتر برای تست الگوریتم به کار بردم) شکل دوم از سمت چپ به همه داده ها دامنه رندوم به عنوان نویز اضافه کردم و شکل سوم مقدار 20 درصد از ستون های ماتریس رو حذف کردم ( منظورم ستون هایی است که به سمت داخل صفحه نمایش هستند از این نما که شکل ها دیده میشود ) و شکل چهارم بازسازی با الگوریتم است.  ولی همانطور که میبینید شکل خروجی با شکل ورودی مطابقت ندارد و فکر میکنم در بازخوانی ابعاد مشکل وجود دارد . کدهایی که برای تبدیل فوریه نوشتم می نویسم و همین طور در شکلی که در زیر میبینید نمایی از ماتریس سه بعدی است که با این تصور من اقدام به کدنویسی کردم. نمیدونم این دید درست است ؟ و تصوری از اینکه یک ماتریس سه بعدی به چه صورت در متلب ذخیره میشود ندارم مثلا یک ماتریس 30*20*10 به چه شکل در متلب ذخیره میشود و چه بعدی x , چه بعدی y و چه بعدی z  محسوب میشود. در کاری که انجام میدهم برای همین ماتریس با ابعاد ذکر شده من بعد زمان یا محور عمودی به طرف داخل زمین رو 10 و بعد 20 رو به خطی که بر روی سطح زمین به صورت یک خط دیده میشود و بعد سوم 30 رو به بعدی که عمود بر شکل به طرف داخل صفحه است تصور میکنم . کدهایی که برای تبدیل فوریه نوشتم رو هم در زیر آورده ام . لطفا منو راهنمایی کنید. پیشاپیش از وقتی که برای پاسخگویی میگذارید کمال تشکر را دارم.


   

   

   



کد:
[color=#FFA07A]%  1D Fourier Transform %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[/color]
[color=#008000]m_fft=zeros(m_size(1),m_size(2),m_size(3));
    for iy=1:m_size(2)    %1 to 121  
        m_fft(:,:,iy)=fft(m(:,:,iy));      [/color]
[color=#FF8C00]%   (it  ix  iy ) 121 ta matrix 76 dar 121   >> Domain Output = ( f , x , y )[/color]
[color=#008000]    end
    [/color]

[color=#FFA07A]%  3D Fourier Transform %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[/color]
[color=#008000]m_fft3=zeros(m_size(1),m_size(2),m_size(3));
       for it=1:m_size(1)    %1 to 76
           m_fft3(it,:,:)=fft2(m_fft(it,:,:));     [/color]
[color=#FFA07A]%   (it  ix  iy ) 121 ta matrix 76 dar 121   >> Domain Output = ( f , kx , ky )[/color]
[color=#008000]       end[/color]


توجه : در شکل خروجی الگوریتم ، هر 4 شکل با دستور imagesc رسم شده ولی شکل آخر سمت راست ، چون دستور imagesc اعداد مختلط رو نمیتونه بخونه ، abs داده خروجی رو رسم کردم.

برای حذف ستونهای رندوم از کذ زیر استفاده کردم ( مقداری کد شما رو تغییر دادم ) ماتریس mask برای این اضافه شده تا بعدا متوجه بشم چه ستون هایی حذف شده است.





کد:
% Eliminate Random Traces
percent=40;
number_delete_trace=floor(percent*(m_size(2)*m_size(3))/100);
mask=ones(m_size(2),m_size(3));
check_random_numbers=zeros(1,2);
number_delete=0;

while (number_delete~=number_delete_trace)
    x_random=randi([1,m_size(2)],1,1);
    y_random=randi([1,m_size(3)],1,1);
    p=0;
    for i=1:number_delete
        if ([x_random,y_random]==check_random_numbers(i,:))
            p=1;
        end
    end
    if (p==0)
        m_noise(:,x_random,y_random)=0;
        mask(x_random,y_random)=0;
        number_delete=number_delete+1;
        check_random_numbers(number_delete,:)=[x_random,y_random];
    end      
end


 
دوست دارم زندگی رو . . . 
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پیام‌های این موضوع
سوال : رسم ماتریس سه بعدی - توسط 4i469x - ۱۳۹۲/۰۲/۰۶, ۰۵:۵۵ ب.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط 4i469x - ۱۳۹۲/۰۲/۰۶, ۰۶:۵۶ ب.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط admin - ۱۳۹۲/۰۲/۰۷, ۰۵:۰۳ ب.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط 4i469x - ۱۳۹۲/۰۲/۰۸, ۱۲:۵۸ ب.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط admin - ۱۳۹۲/۰۲/۰۸, ۰۱:۴۵ ب.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط 4i469x - ۱۳۹۲/۰۲/۰۸, ۰۵:۲۳ ب.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط admin - ۱۳۹۲/۰۲/۰۹, ۰۲:۲۶ ق.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط 4i469x - ۱۳۹۲/۰۲/۰۹, ۰۱:۲۳ ب.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط admin - ۱۳۹۲/۰۲/۰۹, ۰۲:۱۰ ب.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط 4i469x - ۱۳۹۲/۰۲/۱۰, ۰۳:۲۲ ق.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط 4i469x - ۱۳۹۲/۰۲/۱۰, ۱۱:۵۶ ق.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط admin - ۱۳۹۲/۰۲/۱۰, ۰۳:۵۳ ق.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط 4i469x - ۱۳۹۲/۰۲/۱۰, ۱۲:۲۷ ب.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط admin - ۱۳۹۲/۰۲/۱۰, ۱۲:۲۱ ب.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط 4i469x - ۱۳۹۲/۰۲/۱۰, ۱۲:۳۵ ب.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط admin - ۱۳۹۲/۰۲/۱۰, ۱۲:۳۳ ب.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط admin - ۱۳۹۲/۰۲/۱۰, ۱۲:۳۹ ب.ظ
RE: سوال : رسم ماتریس سه بعدی - توسط 4i469x - ۱۳۹۲/۰۲/۱۱, ۰۲:۵۳ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 2 مهمان