اطلاعیه

Collapse
No announcement yet.

یه مشکل بزرگ و خیلی مهم در برنامه متلب خواهشا راهنمایی کنید

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    یه مشکل بزرگ و خیلی مهم در برنامه متلب خواهشا راهنمایی کنید

    با سلام من یه مشکل بزرگ و خیلی خیلی مهم در برنامه متلب دارم :angry: :cry2: :cry2:
    خواهشا منو راهنمایی کنید .... من برنامه ای رو در متلب دارم که در حال حاضر این برنامه در فایل وورد هست وقتی کپی میکنم سورس برنامه رو در برنامه متلب پیام زیر رو میده :
    از تابع ایراد میگیره ....چرا؟؟؟؟؟؟؟؟؟؟ راهنمایی کنید لطفا oo: :angry:
    ??? function نام تابع من
    Error: Function definitions are not permitted at the prompt or in scripts.
    فایل هلپ (راهنما)رو هم که خوندم اینجوری نوشته: :NO:
    help function name
    FUNCTION Add new function.
    New functions may be added to MATLAB's vocabulary if they
    are expressed in terms of other existing functions. The
    commands and functions that comprise the new function must
    be put in a file whose name defines the name of the new
    function, with a filename extension of '.m'. At the top of
    the file must be a line that contains the syntax definition
    for the new function. For example, the existence of a file
    on disk called STAT.M with:

    function [mean,stdev] = stat(x)
    %STAT Interesting statistics.
    n = length(x);
    mean = sum(x) / n;
    stdev = sqrt(sum((x - mean).^2)/n);
    راستش بازم من نمیدونم چه جوری این کارو باید کنم هر کاری میکنم بازم پیام خطا رو میده ... تورو خدا راهنمایی ام کنید من واقعا گیر این مشکلم ...من یه تازه کارم :cry2:...و هر کاری میکنم نمیشه خواهشا راهنمایی کنید مشکلم حل شه ... :cry: :cry2: :cry2:
    [url=http://wiki.eca.ir/]http://www.ecapic.ir/image/ECA-091005091909.gif[/url

    #2
    پاسخ : یه مشکل بزرگ و خیلی مهم در برنامه متلب خواهشا راهنمایی کنید

    سلام ..................

    شما برنامتون رو در Mfile کپی کنید و بعد هم اون رو توی Workspace فراخوانی کنید فکر کنم مشکلتون با شناختن تابع حل بشه .. البته اگه کدهایی که نوشتین خطای سینتکس نداشته باشه .. موفق باشید ..
    دوستان! مدتی کمتر به سایت میام ..

    دیدگاه


      #3
      پاسخ : یه مشکل بزرگ و خیلی مهم در برنامه متلب خواهشا راهنمایی کنید

      با سلام.
      همون طور که حسام خان گفتند،تو M-File کپی کنین،بعد به اسم تابع اونو save کنین(m.اسم تابع) بعد تو workspace فراخوانی کنین.

      دیدگاه


        #4
        پاسخ : یه مشکل بزرگ و خیلی مهم در برنامه متلب خواهشا راهنمایی کنید

        سلام ممنون حالا دیگه خطای تابع نمیده اما این حطا رو میده میشه کمکم کنید من تازه کارم
        از این خط خطا میگیره :
        % 1. Initialize t=0, learning rate parameter a, and set weights
        W(0)=arbitrary values
        % i.e. wi(0)=arbitrary for i=0,...,n;
        اینم پیغام خطای هست که میده :
        Missing MATLAB operator.
        حالا چی کار کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
        ممنون میشم راهنمایی ام کنید ...
        [url=http://wiki.eca.ir/]http://www.ecapic.ir/image/ECA-091005091909.gif[/url

        دیدگاه


          #5
          پاسخ : یه مشکل بزرگ و خیلی مهم در برنامه متلب خواهشا راهنمایی کنید

          سلام ..............

          متغییر w رو چی تعریف کردید؟ آرایه یا رشته یا هیچ کدوم؟ یک مقدار برنامتون رو توضیح بدین .. موفق باشید ..
          دوستان! مدتی کمتر به سایت میام ..

          دیدگاه


            #6
            پاسخ : یه مشکل بزرگ و خیلی مهم در برنامه متلب خواهشا راهنمایی کنید

            سلام
            برنامه من شبکه تک لایه پرسپترون رو قرار مثلا آموزش بده ... w یه تابع با سه متغییر هست که میخوام ازش مشتق بگیرم ... متاسفانه برای ائلین بار هست که دارم با متلب کار میکنم ... حماقت کردم ... حالا گیر کردم ... راهنمایی ام کنید لطفا :redface: :smile:.... تازه من دارم یاد میگیرم ......... :nerd: oo:اونم چه یادگیری ... :cry2: :cry2:
            [url=http://wiki.eca.ir/]http://www.ecapic.ir/image/ECA-091005091909.gif[/url

            دیدگاه


              #7
              پاسخ : یه مشکل بزرگ و خیلی مهم در برنامه متلب خواهشا راهنمایی کنید

              سلام .................

              برنامه ی کاملتون رو بذارید اینجا تا تستش کنیم ..
              دوستان! مدتی کمتر به سایت میام ..

              دیدگاه


                #8
                پاسخ : یه مشکل بزرگ و خیلی مهم در برنامه متلب خواهشا راهنمایی کنید

                با سلام
                امیدوارم کمکم کنید واسه این کد که درست اجرا شه این برنامه واسه آموزش شبکه عصبیSLP هست :nerd

                اما نمیدونم چه طوری فایل رو پلود کنم ؟؟؟؟؟؟؟؟؟؟؟؟؟ :redface: :angry:
                [url=http://wiki.eca.ir/]http://www.ecapic.ir/image/ECA-091005091909.gif[/url

                دیدگاه


                  #9
                  پاسخ : یه مشکل بزرگ و خیلی مهم در برنامه متلب خواهشا راهنمایی کنید

                  کد رو اینجا قرار میدم ... خواهشا راهنمایی کنید ...
                  کد:
                  % This is a function to train a SLP. It takes as input a unipolar vector X,
                  % which is an [n,k] matrix where n is the number of inputs to the SLP and k
                  % is the number of training sets. Y is [1,k] unipolar for the output class
                  % and alpha is the learning parameter
                  
                  function W = slp(X, D, alpha)
                  
                  % Add x0 = 1 to input and get values for n, k, m
                  [n,k] = size(X);
                  X = [ones(1,k); X];
                  [n,K] = size(X);
                  [m,k] = size(D);
                  
                  if (K ~= k)
                    disp('Error: X and D do not match.');
                  return;
                  end
                  
                  % 1. Initialize t=0, learning rate parameter a, and set weights
                  W(0)=arbitrary values
                  %  i.e. wi(0)=arbitrary for i=0,...,n;
                  t = 0;
                  W = rand(n,m);	% n dimensional column vector
                  
                  % Prepare for the loop (2-5)
                  disp(sprintf('Epoch#\tM.S.E.\t\tElapsed Time (s)\tIterations w/o change'));
                  not_done = k;	% not_done = k since we need k iterations where weights dont
                  change
                  
                  % 2. For each pair (xk,dk) from the training set, do Steps 3–5;
                  time = cputime;	% Get the current CPU time
                  totalmse = 0;	% total the M.S.E.
                  maxrun = 0;	% longest run without updating W
                  
                  while (not_done > 0)
                  
                    i = mod(t,k) + 1;	% current index
                  
                  %  3. Compute ?W(t)=aekxk, i.e. ?wi(t)=aekxik for i=0,...,n, where
                  %    ek=dk-yk and yk=f(?i=0...nwi(t)xik);
                  if (m > 1)
                      y = ((W' * X(:,i)) >= 0);
                      e = (D(:,i) - y);
                      dW = (alpha * e * X(:,i)')';
                  else
                      y = (dot(W, X(:,i)) >= 0);	% optimized for speed
                      dW = alpha * (D(i) - y) * X(:,i);
                  end
                  
                  %  4. Increment t=t+1;
                    t = t + 1;
                  
                  %  5. Update W(t)=W(t-1)+?W(t-1), i.e. wi(t)=wi(t-1)+?wi(t-1) for
                  i=0,...,n;
                    W = W + dW;
                  
                  % 6. If no weight changes occurred during last epoch (iteration of Steps 3–
                  5),
                  %  or other stopping condition is true, then stop; otherwise, repeat from
                  Step 2.
                  
                  if (nnz(dW) == 0)
                      not_done = not_done - 1;
                  else
                      not_done = k;
                  end
                  
                  if (cputime - time) > 3600
                      disp(sprintf('Giving up, over one hour of CPU time used.\n'));
                      not_done = 0;
                  end
                  
                  % Display data about this iteration
                    thismse = mse(dW);	% !!! Comment these out if runtime too long
                    totalmse = totalmse + thismse;
                  
                    showstats = false;
                  if (t <= 25)
                      showstats = true;
                  end
                  if (maxrun < (k - not_done))
                      maxrun = (k - not_done);
                      showstats = true;
                  end
                  
                  if (showstats == true)
                      disp(sprintf('%d\t\t%f\t\t%f\t\t%d', t, mse(dW), (cputime - time), (k
                  - not_done)));
                  end
                  
                  end
                  
                  disp(sprintf('Average M.S.E. is %f for %d epochs', (totalmse / t), t));	%
                  Display mean M.S.E.
                  disp(sprintf('Total CPU Time: %f (seconds).', (cputime - time)));	% Display
                  elapsed time
                  حیلی باید ایراد داشته باشه لطفا کمکم کنید من یه تازه کارم ....
                  [url=http://wiki.eca.ir/]http://www.ecapic.ir/image/ECA-091005091909.gif[/url

                  دیدگاه


                    #10
                    پاسخ : یه مشکل بزرگ و خیلی مهم در برنامه متلب خواهشا راهنمایی کنید

                    سلام ................

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

                    فایل های پیوست شده
                    دوستان! مدتی کمتر به سایت میام ..

                    دیدگاه


                      #11
                      پاسخ : یه مشکل بزرگ و خیلی مهم در برنامه متلب خواهشا راهنمایی کنید

                      با سلام
                      ممنون لطف کردید
                      میدونید من چون این نرم افزار رو بلد نیستم و تازه دارم یاد میگیرم ... اینه که خیلی مشکل دارم ... من میخوام برنامه من ورودیها و وزن اولیه رو داشته باشه در آموزش با شبکه عصبی پرسپترون و بعد وزنهای نهایی رو حساب کنه ... و همگرایی رو هم محاسبه کنه .... یعنی آلفا .. از طرفی باید یه زمان هم داشته باشه که در طی اون زمان برنامه بتونه اجراشه .. و آموزش شبکه انجام شه ...
                      W(0)=arbitrary values ، در واقع W(0) رو بعنوان وزن اولیه در نظر گرفتم ... دقیقا یکی از خطاها
                      مربوط به همین خط هست ...
                      ممنون میشک راهنمایی ام کنید که این برنامه من جواب بده ...
                      [url=http://wiki.eca.ir/]http://www.ecapic.ir/image/ECA-091005091909.gif[/url

                      دیدگاه


                        #12
                        پاسخ : یه مشکل بزرگ و خیلی مهم در برنامه متلب خواهشا راهنمایی کنید

                        be in email kargarvahid@yahoo mail bezanid ta shomare tamas sabet bedam zang bezanid rahnemaieton konam.

                        دیدگاه

                        لطفا صبر کنید...
                        X