کلیدستان

نسخه‌ی کامل: راهنمایی2
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام دوستان کسی میتونه این عبارات در متلب پیاده سازی کند؟

[attachment=186]
این یکی از عبارات مورد استفاده در برنامه quantization هست که در پست قبلی گذاشته بودم
در آن برنامه از یک عبارت دیگر مربوط به قانون دیگری استفاده شده واین یک قانون جدیده که باید در بخش دیگری از برنامه اعمال بشه
ممنون از کمکتون
سلام.
برای دو فرمول نوشته شده، دو کد براتون نوشتم.

کد متلب مربوط به فرمول اول (مقادیری را برای x و A انتخاب کردم، شما می تونید کدها رو به تابع تبدیل کنید و بعد تابع رو فراخوانی کنید، بستگی به کاربرد مورد نظرتان دارد) :

کد:
clear all
close all
clc

x=0.5;
A=2;
if (abs(x)<1/A)
    y=sign(x)*(A*abs(x))/(1+log(A));
elseif (abs(x)>=1/A  && abs(x)<=1)
    y=sign(x)*(1+log(A*abs(x)))/(1+log(A));
end
y

کد متلب مربوط به فرمول دوم :

کد:
clear all
close all
clc

y=0.5;
A=2;
if (abs(y)<1/(1+log(A)))
    x=sign(y)*exp(abs(y)*(1+log(A))-1)/A;
elseif (abs(x)>=1/(1+log(A))  && abs(y)<=1)
    x=sign(y)*(1+log(A*abs(x)))/(1+log(A));
end
x

دقت کنید که مقادیر x یا y که انتخاب می کنید باید در بازه های تعریف شده باشد، وگرنه برنامه متلب، یک پیام خطا را نمایش خواهد داد.

موفق باشید.Smile
خیلی ممنونم