ترفند متلب: برازش منحنی مبتنی بر داده در متلب

ترفند متلب: برازش منحنی مبتنی بر داده در متلب

یکی از سئوالاتی که غالبا در میان ایمیلهای ارسالی می بینم، و در کلاس های آموزشی نیز به کرات مطرح می شوند، چگونگی برازش منحنی در متلب بر اساس داده است. فرض کنید:

  • شما یک دیتا ست دارید که متشکل از دو متغیر است، که آن ها را در این پست با نام X و Y نشان خواهیم داد؛
  • شما نیازمند مدلی (تابعی) هستید که ارتباط میان این دو متغیر را به صورت ریاضی توصیف نماید؛
  • و هیچ دانش اولیه ای در مورد چگونگی معادلات ریاضی توصیف کننده این ارتباط ندارید و فقط می بایست با استفاده از داده ای که در دست دارید، این مسأله را حل نمایید.

سئوال اصلی: چگونه می توان بهترین منحنی توصیف کننده ارتباط X و Y را به دست آورد؟

برای حل این مسأله روش های مختلفی عددی ارائه شده اند که می توان از روش های کلاسیک مبتنی بر چند جمله ای (مثلا روش لاگرانژ)، سیستم های فازی و شبکه های عصبی مصنوعی نام برد. در این پست، که از سلسله ترفندهای متلب در متلب سایت است، قصد داریم برخی از امکانات جعبه ابزار (تولباکس) برازش منحنی یا Curve Fitting Toolbox را برای حل مسأله برازش منحنی مبتنی بر داده به کار بگیریم. با ما در ادامه مطلب همراه باشید.

ترفند متلب: برازش منحنی مبتنی بر داده در متلب

یکی از سئوالاتی که غالبا در میان ایمیلهای ارسالی می بینم، و در کلاس های آموزشی نیز به کرات مطرح می شوند، چگونگی برازش منحنی در متلب بر اساس داده است. فرض کنید:

  • شما یک دیتا ست دارید که متشکل از دو متغیر است، که آن ها را در این پست با نام X و Y نشان خواهیم داد؛
  • شما نیازمند مدلی (تابعی) هستید که ارتباط میان این دو متغیر را به صورت ریاضی توصیف نماید؛
  • و هیچ دانش اولیه ای در مورد چگونگی معادلات ریاضی توصیف کننده این ارتباط ندارید و فقط می بایست با استفاده از داده ای که در دست دارید، این مسأله را حل نمایید.

سئوال اصلی: چگونه می توان بهترین منحنی توصیف کننده ارتباط X و Y را به دست آورد؟

برای حل این مسأله روش های مختلفی عددی ارائه شده اند که می توان از روش های کلاسیک مبتنی بر چند جمله ای (مثلا روش لاگرانژ)، سیستم های فازی و شبکه های عصبی مصنوعی نام برد. در این پست، که از سلسله ترفندهای متلب در متلب سایت است، قصد داریم برخی از امکانات جعبه ابزار (تولباکس) برازش منحنی یا Curve Fitting Toolbox را برای حل مسأله برازش منحنی مبتنی بر داده به کار بگیریم.

تولید داده برای انجام برازش منحنی

هر چند کسی که قصد حل مسأله برازش منحنی را دارد، اصولا بایستی داده های مربوط به مسأله اش را داشته باشد، اما به دلیل این که این پست به منظور استفاده آموزشی نوشته می شود، ترجیح دادم که داده های مورد استفاده را به صورت مصنوعی و توسط خود متلب ایجاد نمایم. قطعا برای کسانی که قصد استفاده از مطالب مندرج در این پست را دارند، انجام مرحله تولید داده الزامی نیست. داده های مورد استفاده در این پست را با استفاده از قطعه کد زیر تولید می کنیم:

 

s = RandStream(‘mt19937ar’,’seed’,1971);
RandStream.setDefaultStream(s); 

X = linspace(1,10,100);
X = X’;

% Specify the parameters for a second order Fourier series

w = .6067;
a0 = 1.6345;
a1 = -.6235;
b1 = -1.3501;
a2 = -1.1622;
b2 = -.9443;

% Fourier2 is the true (unknown) relationship between X and Y
Y = a0 + a1*cos(X*w) + b1*sin(X*w) + a2*cos(2*X*w) + b2*sin(2*X*w);

% Add in a noise vector

K = max(Y) – min(Y);
noisy = Y + .2*K*randn(100,1);

% Generate a scatterplot
scatter(X,noisy,’k’);
L2 = legend(‘Noisy Data Sample’, 2);
snapnow

این داده ها در واقع از یک سری فوریه دو جمله ای که با نویز جمع شده است، ایجاد شده اند. نمودار داده های تولید شده به صورتی است که در ادامه مشاهده می کنید:

نمودار داده های تولید شده

رگرسیون غیر خطی

اگر شما (بر فرض محال) بدانید که داده های فوق از یک قاعده سری فوریه دو جمله ای تبعیت می کنند، با استفاده از رگرسیون غیر خطی می توانید تابعی مانند $$Y=f(X)$$ را بیابید. این کار با استفاده از کد زیر قابل انجام است:

 

foo = fit(X, noisy, ‘fourier2’)

% Plot the results

hold on
plot(foo)
L3 = legend(‘Noisy Data Sample’,’Nonlinear Regression’, 2);
hold off
snapnow

نتیجه اجرای این کد، که به صورت متغیر foo است، در ادامه نشان داده شده است. همچنین نموداری که پس از اجرای این قطعه کد نمایش داده می شود، در ادامه آمده است.

foo =
General model Fourier2:
foo(x) = a0 + a1*cos(x*w) + b1*sin(x*w) +
a2*cos(2*x*w) + b2*sin(2*x*w)
Coefficients (with 95% confidence bounds):
a0 = 1.734 (1.446, 2.021)
a1 = -0.1998 (-1.065, 0.6655)
b1 = -1.413 (-1.68, -1.146)
a2 = -0.7688 (-1.752, 0.2142)
b2 = -1.317 (-1.867, -0.7668)
w = 0.6334 (0.5802, 0.6866)

نتیجه حاصل از برازش منحنی با استفاده از سری فوریه درجه دو

برازش منحنی بدون پارامتر

ظاهرا همه چیز مرتب به نظر می آید. اما در واقع ما تقلب کرده ایم. زیرا در ابتدای همین پست، فرض را بر این گذاشته بودیم که هیچ دانش اولیه ای در خصوص نوع رابطه موجود میان متغیرها نداریم. اما در کدی که در بند پیش نوشته شد، فرض کردیم که رابطه ریاضی موجود میان متغیرها، به صورت یک سری فوریه قابل توصیف است. در نتیجه، اعدادی هم که برای ضرایب به دست آمدند، نزدیک به اعدادی هستند که ما در مرحله تولید داده ها استفاده کرده بودیم.

در ادامه کدی را ارائه خواهیم کرد که بدون استفاده از هیچ دانش اضافی، و فقط صرفا با تکیه بر داده های اصلی (و البته با کمی فشار آوردن بر CPU کامپیوتر) مسأله برازش منحنی مبتنی بر داده را حل می کند. برای انجام این کار از الگوریتمی به نام LOWESS استفاده خواهیم کرد. دقت این الگوریتم وابسته به پارامتری است که در این الگوریتم به کار برده شده است و به نام پارامتر هموارسازی یا Smoothing شناخته می شود. ما در این بخش ۹۹ مدل LOWESS ایجاد خواهیم کرد که پارامتر هموارسازی آنها از صفر تا یک تغییر می کنند. از میان ۹۹ مدل ایجاد شده، بهترین مدل را انتخاب خواهیم کرد.

این روش منجر به ایجاد مشکل Over-fitting خواهد شد. زیرا الگوریتم LOWESS بخش های زاید داده ها (نویزها) را با همان دقتی تخمین خواهد زد که بخش اصلی داده ها را تخمین زده است. برای پیشگیری از پدیده Over-fitting از تکنیکی به نام اعتبار سنجی متقابل یا Cross Validation استفاده خواهیم کرد. در این روش داده های تولید شده به دو گروه تقسیم می شوند: (الف) داده های آموزش یا Train Data و (ب) داده های آزمایش یا Test Data.

الگوریتم LOWESS از داده های آموزش برای ایجاد مدل استفاده خواهد کرد، اما دقت مدل ارائه شده، با توجه به داده های آزمایش (تست) تعیین خواهند شد. معیار مورد استفاده برای ارزیابی مدل نیز، مجموع مربعات خطا در نظر گرفته شده است.

کدی که این عملیات را انجام می دهد در ادامه آمده است:

 

num = 99;
spans = linspace(.01,.99,num);
sse = zeros(size(spans));
cp = cvpartition(100,’k’,10); 

for j=1:length(spans),
f = @(train,test) norm(test(:,2) – mylowess(train,test(:,1),spans(j)))^2;
sse(j) = sum(crossval(f,[X,noisy],’partition’,cp));
end

[minsse,minj] = min(sse);
span = spans(minj);

در کد فوق از تابعی به نام mylowess استفاده شده است که می بایست در فایلی به نام mylowess.m ذخیره شود. محتویات این فایل در ادامه آمده است:

 

function ys=mylowess(xy,xs,span)
%MYLOWESS Lowess smoothing, preserving x values
% YS=MYLOWESS(XY,XS) returns the smoothed version of the x/y data in the
% two-column matrix XY, but evaluates the smooth at XS and returns the
% smoothed values in YS. Any values outside the range of XY are taken to
% be equal to the closest values. 

if nargin<3 || isempty(span)
span = .3;
end

% Sort and get smoothed version of xy data
xy = sortrows(xy);
x1 = xy(:,1);
y1 = xy(:,2);
ys1 = smooth(x1,y1,span,’loess’);

% Remove repeats so we can interpolate
t = diff(x1)==0;
x1(t)=[]; ys1(t) = [];

% Interpolate to evaluate this at the xs values
ys = interp1(x1,ys1,xs,’linear’,NaN);

% Some of the original points may have x values outside the range of the
% resampled data. Those are now NaN because we could not interpolate them.
% Replace NaN by the closest smoothed value. This amounts to extending the
% smooth curve using a horizontal line.
if any(isnan(ys))
ys(xsx1(end)) = ys1(end);
end

مقایسه نتایج به دست آمده

در ادامه نمودار مربوط به

  • داده های اصلی (که از معادله سری فئریه دو جمله ای تبعیت می کنند)،
  • نمونه های نویزی،
  • مدل رگرسیون غیر خطی (به دست آمده از تابع fit)،
  • و مدل به دست آمده از طریق الگوریتم LOWESS

را در کنار یکدیگیر و به منظور مقایسه ترسیم می کنیم. کدی که این کار را برای ما انجام می دهد، در ادامه آمده است.

 

plot(X,Y, ‘k’);
hold on
scatter(X,noisy, ‘k’);
plot(foo, ‘r’) 

x = linspace(min(X),max(X));
line(x,mylowess([X,noisy],x,span),’color’,’b’,’linestyle’,’-‘, ‘linewidth’,2)
legend(‘Clean Data’, ‘Noisy Sample’, ‘Nonlinear Regression’, ‘LOWESS’, 2)
hold off
snapnow

نمودار به دست آمده پس از اجرای این کد در ادامه نمایش داده شده است:

مقایسه نتایج به دست آمده

مشاهده می شود که نمودار مربوط به الگوریتم LOWESS بسیار نزدیک به نمودار اصلی است و توانسته است که به خوبی رفتار داده ها را مدل سازی نماید.

ترسیم بازه های اطمینان

با استفاده از قطعه کد زیر می توان بازه اطمینان مربوط به مدل LOWESS به دست آمده را نمایش داد:

 

scatter(X, noisy) 

f = @(xy) mylowess(xy,X,span);
yboot2 = bootstrp(1000,f,[X,noisy])’;
meanloess = mean(yboot2,2);
h1 = line(X, meanloess,’color’,’k’,’linestyle’,’-‘,’linewidth’,2);

stdloess = std(yboot2,0,2);
h2 = line(X, meanloess+2*stdloess,’color’,’r’,’linestyle’,’–‘,’linewidth’,2);
h3 = line(X, meanloess-2*stdloess,’color’,’r’,’linestyle’,’–‘,’linewidth’,2);

L5 = legend(‘Localized Regression’,’Confidence Intervals’,2);
snapnow

نموداری که پس از اجرای این کد به دست می آید در ادامه نمایش داده شده است:

بازه اطمینان به دست آمده برای مدل LOWESS

امیدوارم که این مطلب بتواند پاسخگوی نیاز شما و سئوالاتی که در زمینه برازش منحنی داشته اید باشد. لطفا نظرات، سئوالات و پیشنهادهای خود را در بخش نظرات مربوط به همین پست وارد نمایید. منتظر پست های بعدی در زمینه ترفندهای متلب باشید.

مطالب پیشنهادی‎

۳۶ نظر در "ترفند متلب: برازش منحنی مبتنی بر داده در متلب"
  1. سلام دوست من
    پست بسیار مفیدی بود ولی در آخر نوع تابع رو به ما نمیداد
    من یه سری داده دارم که از روی یک نمودار درآوردم
    حالا میخوام رابطه بین x و y اونو مشخص کنم(تابع ریاضی) در حالی که هیچ پیش زمینه ای از نوع تابع ندارم(البته نمودار من شکل ساده ای داره و پیچیده نیست)
    در این صورت باید از کدوم دستور استفاده کنم؟
    خیلی خیلی ممنون میشم که کمکم میکنین.

    1. با سلام.

      با توضیحات شما، یک برازش منحنی چند جمله ای توسط دستور polyfit شاید کافی باشد. راهنمای متلب را در این مورد ببینید. چند مورد از حالت های استفاده این دستور در زیر آمده است.

      p = polyfit(x,y,n)
      [p,S] = polyfit(x,y,n)
      [p,S,mu] = polyfit(x,y,n)p = polyfit(x,y,n)
      [p,S] = polyfit(x,y,n)
      [p,S,mu] = polyfit(x,y,n)

      موفق باشید،
      متلب سایت

  2. سلام خسته نباشید
    من ۳۰ تا داده با مختصات متناظرشان را دارم ؛
    ممنون میشم اگه راهنمایی کنید که چجوری میشه منحنی بهشون برازش کرد .
    با تشکر

    1. در پاسخ: sadegh

      با سلام؛
      کافی است به جای متغیر های X و Y در نمودارهای فوق، از داده های خود استفاده نمایید.
      همچنین به سایر پست های مربوط به درون یابی در متلب سایت مراجعه نمایید.
      موفق باشید.

  3. با سلام ممنون از سایت بسیار خوبتون
    من یک سری داده دارم که میخوام به یک معادله لوگاریتمی فیت کنم و ثوابتشو بدست بیارم ممنون میشم اگه کمکم کنید
    (شکل معادله من در curve fitting toolbox وجود ندارد)

  4. با سلام و تشکر از مطالب مفیدتون
    من میخوام یه منحنی رو برای داده هام برازش کنم ولی نمودار سه بعدی میخوام یهنی دو متغیرم همزمان تغییر میکنن. ممنون میشم راهنماییم کنید

  5. سلام خسته نباشید
    می خواستم به من کمک کنید
    من یه سری داده آزمایشکاهی دارم که تابع مورد نظر داده ها رو هم دارم اما این توابع دارای ثابت هایی هست می خواستم بدونم چطور این ثابت هارو بدست بیارم
    با تشکر

  6. سلام
    اما اگر یک معادله ی دیفرانسیل معمولی داشته باشیم که در ان پارامتر وجود داشته باشد و ما بخواهیم پارامترها را طوری تعیین کنیم که بیشترین انطباق را با داده های تجربی داشته باشد باید چه کنیم؟

    1. با سلام؛
      برای این منظور، پیشنهاد می کنیم از فیلم آموزشی شناسایی سیستم با استفاده از الگوریتم ژنتیک (با کد MVRGA9011G) استفاده نمایید: https://matlabsite.com/mvrga9011g
      البته پیشنهاد ما این است که از بسته طلایی فیلم های آموزشی الگوریتم ژنتیک استفاده نمایید: https://matlabsite.com/mvrga9011
      تا مباحث مربوط به الگوریتم ژنتیک و حل مسائل عملی با استفاده از آن را، به صورت کامل فرا بگیرید.
      موفق باشید.

  7. سلام خسته نباشید.
    من چند سری داده دارم به این صورت که مانند انچه توضیح دادید یک متغیر y یک متغیر X1 دارم و در سری دوم y و X2 و الی اخر. می خوام یک معادله از y برحسب ۵ متغیر مورد نظر بدست بیارم. این امکان وجود دارد؟ ممنون

  8. سلام
    آیا در مطلب میشه دو منحنی را همزمان فیت کرد؟ برای روشن شدن سوالم یک مثال میزنم:
    فرض کنید دو سری دیتا داریم که معادله سری اول بصورت y1 = a*x^2 + b*x + c هست و معادله سری دوم دیتا بصورت y2 = a*x^2 + q*x + p است.
    در اینجا ما x و y1 و y2 را بصورت مجموعه ای از اعداد داریم و می خواهیم این دو منحنی را بر آنها بطور همزمان فیت کنیم و ضرایب a و b و c و q و p را بیابیم. دقت کنید که ضریب a در دو معادله مشترک است و فیت باید همزمان صورت گیرد.
    ممنون میشم اگه کسی راه حلی پیدا کنه به من ایمیل بزنه: am_221gh@yahoo.com

  9. بینهایت ممنون از مطالب خوبتون ممنون میشم اگه حالت کلی یافتن ضرایب معاده ax+b با روش least squares را در متلب بنویسیبد

  10. میخواهم یک تابعی به دادها فیت کنم که متشکل از جمع تابع نمایی و یک تابع خطا است پگونه این کار انجام دهم.
    ممنون

    1. در پاسخ اسماعیل:

      با سلام.

      هیات علمی متلب سایت تمام توان و تمرکز خود را بر روی تولید محصولات آموزشی جدید و بهینه سازی ساختار علمی سایت معطوف کرده و در عین تمام تمایل باطنی خود، از پاسخگویی به سوالات موردی علمی به دلیل محدودیت های زمانی معذور هستند.

      موفق باشید.

  11. سلام ممنونم از آموزشتون اما سوالی داشتم در رابطه با همین مطلب اگه بر فرض من بخوام مشتقی از همین خط به دست آمده با استفاده از lowess داشته باشم آیا متلب یک چنین توانایی رو داره که این کار رو برای من انجام بده؟اگه پاسخ مثبته لطفا راهنمایی بفرمایید!

    1. در پاسخ mehri:

      با سلام.

      هیات علمی متلب سایت تمام توان و تمرکز خود را بر روی تولید محصولات آموزشی جدید و بهینه سازی ساختار علمی سایت معطوف کرده و در عین تمام تمایل باطنی خود، از پاسخگویی به سوالات موردی علمی به دلیل محدودیت های زمانی معذور هستند.

      از توجه شما متشکریم.

  12. با سلام
    من یه سری داده دارم که پارامتر های موثر روی یک کمیت هستند در واقع دارم
    g(x,y,z,k) , تعداد داده هام در حدود ۲۰۰ داده هستند حالا میخوام تابعی روی این ها برازش کنم که تفاوتش با این ها حداقل باشه وبشه بین داده ها میانیابی هم بکنم

    x1 y1 z1 k1 …>g1
    x2 y2 z2 k2 …>g2
    x3 y3 z3 k3 …>g3
    ….
    ….
    ….
    g(x,y,z,k) = ?

    1. در پاسخ محمد:

      با سلام.

      هیات علمی متلب سایت تمام توان و تمرکز خود را بر روی تولید محصولات آموزشی جدید و بهینه سازی ساختار علمی سایت معطوف کرده و در عین تمام تمایل باطنی خود، از پاسخگویی به سوالات موردی علمی به دلیل محدودیت های زمانی معذور هستند.

      از توجه شما متشکریم.

  13. با عرض سلام و خسته نباشید.
    من یک سری داده تنش-زمان دارم که میخوام با دستور کروفیتینگ یک خط راست به اونها فیت کنم. این داده¬ها رو واسه چند تا دما داخل یک شکل رسم کردم. می¬خواستم بدون چه جوری میشه خطوط فیت شده رو یکجا داخل همون شکل نشون داد؟
    آخه وقتی دادههای یک دما رو با یک خط راست فیت میکنی و بعد میری سراغ دمای بعدی متلب خط قبلی رو پاک میکنه!!
    خدا خیرتون بده…

    1. در پاسخ به محمد رضا:
      با سلام،
      از تماس شما و مطرح کردن سوالتان با ما متشکریم.

      متاسفانه هیات علمی متلب سایت (فرادرس) به مکاتبات علمی شما دسترسی ندارند و همکاران دریافت کننده ایمیل های عمومی نیز توانایی و تخصص لازم جهت پاسخگویی به سوالات علمی را ندارند.

      از سوی دیگر نیز هیات علمی این پروژه جامع دانشگاهی، تمام توان و تمرکز خود را بر روی ارائه آموزشهای جدیدتر و بهینه سازی ساختار علمی سایت معطوف کرده و در عین تمام تمایل باطنی خود، به دلیل اولویت نیازهای سیستمی قشر بزرگتری از دانشجویان، از پاسخگویی به سوالات موردی علمی به دلیل محدودیت های تحمیل شده زمانی معذور هستند.

      مطمئن هستیم که این ناتوانی در پاسخگویی به سوال علمی شما، با نگرش مثبت شما نسبت به فعالیت سیستمی متلب سایت در گسترش دایره آموزش آکادمیک نادیده گرفته خواهد شد.

      پیشاپیش از بذل توجه شما به این موضوع متشکریم.
      موفق و پیروز باشید.

  14. آیا در مطلب میشه چند منحنی را همزمان فیت کرد؟
    من در کارم ۵ معادله دارم که همه این معادلات به هم وابسته اند یعنی متغیرهای مشترک هم دارند

    1. در پاسخ به مهتاب:
      با سلام:
      از تماس شما و مطرح کردن سوالتان با ما متشکریم.

      متاسفانه هیات علمی متلب سایت (فرادرس) به مکاتبات علمی شما دسترسی ندارند و همکاران دریافت کننده ایمیل های عمومی نیز توانایی و تخصص لازم جهت پاسخگویی به سوالات علمی را ندارند.

      از سوی دیگر نیز هیات علمی این پروژه جامع دانشگاهی، تمام توان و تمرکز خود را بر روی ارائه آموزشهای جدیدتر و بهینه سازی ساختار علمی سایت معطوف کرده و در عین تمام تمایل باطنی خود، به دلیل اولویت نیازهای سیستمی قشر بزرگتری از دانشجویان، از پاسخگویی به سوالات موردی علمی به دلیل محدودیت های تحمیل شده زمانی معذور هستند.

      مطمئن هستیم که این ناتوانی در پاسخگویی به سوال علمی شما، با نگرش مثبت شما نسبت به فعالیت سیستمی متلب سایت در گسترش دایره آموزش آکادمیک نادیده گرفته خواهد شد.

      پیشاپیش از بذل توجه شما به این موضوع متشکریم.
      موفق و پیروز باشید.

  15. سلام
    من یکسری داده x و y دارم می خوام معادله منحنی برازش رو از روش بدست بیارم؟ چیکار کنم
    ممنونت میشم جواب بدین
    یا حق

    1. در پاسخ به چنگیزی:
      با سلام،
      از تماس شما و مطرح کردن سوالتان با ما متشکریم.

      متاسفانه هیات علمی متلب سایت (فرادرس) به مکاتبات علمی شما دسترسی ندارند و همکاران دریافت کننده ایمیل های عمومی نیز توانایی و تخصص لازم جهت پاسخگویی به سوالات علمی را ندارند.

      از سوی دیگر نیز هیات علمی این پروژه جامع دانشگاهی، تمام توان و تمرکز خود را بر روی ارائه آموزشهای جدیدتر و بهینه سازی ساختار علمی سایت معطوف کرده و در عین تمام تمایل باطنی خود، به دلیل اولویت نیازهای سیستمی قشر بزرگتری از دانشجویان، از پاسخگویی به سوالات موردی علمی به دلیل محدودیت های تحمیل شده زمانی معذور هستند.

      مطمئن هستیم که این ناتوانی در پاسخگویی به سوال علمی شما، با نگرش مثبت شما نسبت به فعالیت سیستمی متلب سایت در گسترش دایره آموزش آکادمیک نادیده گرفته خواهد شد.

      پیشاپیش از بذل توجه شما به این موضوع متشکریم.
      موفق و پیروز باشید.

  16. با سلام و احترام
    من یک سری داده دارم که باید یک چند جمله ای درجه n v روش برازش بدم(انحراف معیار داده ها یکسان نیست)
    از توزیع پواسون هم باید استفاده کنم وانحراف معیار منحنی رو به دست بیارم و در اخر درجه منحنی،ضریب رگرسیون، متغیرهای مستقل را گزارش بدم
    لطفا راهنمایی ام کنید
    با تشکر فراوان

    1. در پاسخ به تارا:
      با سلام،
      از تماس شما و مطرح کردن سوالتان با ما متشکریم.

      متاسفانه هیات علمی متلب سایت (فرادرس) به مکاتبات علمی شما دسترسی ندارند و همکاران دریافت کننده ایمیل های عمومی نیز توانایی و تخصص لازم جهت پاسخگویی به سوالات علمی را ندارند.

      از سوی دیگر نیز هیات علمی این پروژه جامع دانشگاهی، تمام توان و تمرکز خود را بر روی ارائه آموزشهای جدیدتر و بهینه سازی ساختار علمی سایت معطوف کرده و در عین تمام تمایل باطنی خود، به دلیل اولویت نیازهای سیستمی قشر بزرگتری از دانشجویان، از پاسخگویی به سوالات موردی علمی به دلیل محدودیت های تحمیل شده زمانی معذور هستند.

      مطمئن هستیم که این ناتوانی در پاسخگویی به سوال علمی شما، با نگرش مثبت شما نسبت به فعالیت سیستمی متلب سایت در گسترش دایره آموزش آکادمیک نادیده گرفته خواهد شد.

      پیشاپیش از بذل توجه شما به این موضوع متشکریم.
      موفق و پیروز باشید.

    1. در پاسخ به بهزاد:
      با سلام،
      ضمن تشکر از پیشنهاد شما، این موضوع در دیتابیس مجموعه فرادرس به ثبت رسید تا در آینده و در صورت امکان، به لیست محصولات آموزشی فرادرس افزوده شود.
      موفق و موید باشید.

  17. سلام خواستم از اطلاعات مفیدی که در سایتتون قرار دادید و از اینکه با حوصله به سوالات دوستان پاسخ داید ، ازتون بسیار بسیار تشکر کنم حتی پاسخ هایی که داده بودید ، پاسخ گویی سوالات من نیز بود خسته نباشید خدا قوت

پاسخ دادن به مدیر روابط عمومی لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *