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



تبدیل فوریه دوگانه در متلبزمان کنونی: ۱۳۹۵/۰۹/۱۴، ۱۲:۰۹ ق.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: shahri8890@yahoo.com
آخرین ارسال: admin
پاسخ 6
بازدید 1777

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

تبدیل فوریه دوگانه در متلب

#1
با سلام. میخوام از یک تابع دو بعدی بر حسب x و y تبدیل فوریه بگیرم. یعنی انتگرال دوگانه!!!
چه جوری باید فوریه دوگانه بگیرم؟
آیا باید برنامشو خودم بنویسم؟
آیا باید حتما متغیرها syms باشند؟؟
با تشکر
 
پاسخ

تبدیل فوریه دوگانه در متلب

#2
سلام.
در سوالتان گفته بودید ((انتگرال دوگانه)) که فکر کنم منظورتان همان ((تبدیل فوریه دوگانه)) می باشد.
معمولا در شبیه سازی ها، ما مقادیر تابع برای x و y های مختلف را به صورت یک ماتریس دو بعدی داریم. در نرم افزار متلب، دستور fft برای گرفتن تبدیل فوریه از مقادیر گسسته به کار می رود. اما این کار را تنها در یک جهت مشخص انجام می دهد، بنابراین ما باید از ماتریس مورد نظر، یک بار در جهت x و یک بار هم در جهت y ، با دستور fft ، تبدیل فوریه بگیریم.
بنابراین یک بار از دستور fft استفاده کنید، سپس برای اینکه در جهت دیگر نیز تبدیل فوریه بگیریم، با علامت ' جای ستون ها و سطرها را عوض می کنیم و سپس با دستور fft تبدیل فوریه می گیریم و در آخر، نتیجه را با علامت ' به گونه ای تغییر می دهیم که جای ستون ها و  سطرها دوباره مثل اول شود. در مورد علامت ' که برای محاسبه ترانهاده یک ماتریس به کار می رود، کلید زیر را بخوانید :

http://www.kelidestan.com/keys/keys.php?key=86

البته دستور fft2 نیز وجود دارد، بنابراین نگاهی هم به آن بیندازید و ببینید که کدامیک مد نظرتان می باشد.

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

تبدیل فوریه دوگانه در متلب

#3
ممنون از جوابتون ولی دوتا سوال: اول اینکه خب بعد برا ترکیب دوتا جواب باید چیکار کنم؟!!!!!!!
پس دستور fft2 اینجا کاربرد نداره؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
ممنون
پاسخ

تبدیل فوریه دوگانه در متلب

#4
باید موردی که بنده ذکر کردم و همچنین دستور fft2 را بررسی کنید و ببینید که کدامیک مد نظر بوده است. زیرا ممکن است که برای هر دو، لفظ ((تبدیل فوریه دوگانه)) به کار برود (در صورتیکه ممکن است متفاوت باشند --> تصحیح : در پایان این موضوع مشخص شد که متفاوت نیستند). دستور ffft2 برای ((تبدیل فوریه دو بعدی)) می باشد.

 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

تبدیل فوریه دوگانه در متلب

#5
فک کنم تازه متوجه شدم چی شد!یعنی تبدیل فوریه دوبعدی با دوگانه فرق داره؟!!!!!
طبق چیزی که گفتید، برای همین، جوابی که میخوام بدست نمیاد اما من فرق این دوتا رو کاملا درک نمیکنم.انگار از نظر ریاضی تفاوتی ندارن!!!!.
من یه تابع دومتغیره دارم که بهم یه ماتریس داده، حالا در ادامه باید از معادلم تبدیل فوریه ای بگیرم که بر حسب x و y باشه(یعنی دوگانه.درسته؟؟؟؟).گیج شدم خب الان که دیگه یه ماتریس عددی از xو y بدست اومده!!!!!!!!!!!!!!چیکار کنم؟اگر اشتباه نکنم روش اولی که گفتید مضمون چیزیه که میخوام.درسته؟؟
پاسخ

تبدیل فوریه دوگانه در متلب

#6
برای بررسی متفاوت بودن یا نبودن این دو روش، کدهای متلب زیر را می نویسیم (3 حالت را بررسی می کنیم) :

کد:
clear all
close all
clc

A=[1 2 3; 4 5 6; 7 8 9; 10 11 12]

A_1=fft(A);
A_1=(fft(A_1'))'

A_2=(fft(A'))';
A_2=fft(A_2)


A_3=fft2(A)

نتیجه اجرای کد متلب بالا :

کد:
A =

     1     2     3
     4     5     6
     7     8     9
    10    11    12


A_1 =

  78.0000            -6.0000 - 3.4641i  -6.0000 + 3.4641i
-18.0000 +18.0000i        0                  0          
-18.0000                  0                  0          
-18.0000 -18.0000i        0                  0          


A_2 =

  78.0000            -6.0000 - 3.4641i  -6.0000 + 3.4641i
-18.0000 +18.0000i        0                  0          
-18.0000                  0                  0          
-18.0000 -18.0000i        0                  0          


A_3 =

  78.0000            -6.0000 + 3.4641i  -6.0000 - 3.4641i
-18.0000 +18.0000i        0                  0          
-18.0000                  0                  0          
-18.0000 -18.0000i        0                  0

مشاهده می کنید که در هر 3 حالت، نتایج یکسان شده است. بنابراین تفاوتی ندارند.

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط 4i469x


پرش به انجمن:


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

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)