درباره نویسنده

مطالب مشابه

یک دیدگاه

  1. 1

    afee

    سلام خسته نباشید
    برنامه ام خطایی با عنوان :
    Error using evalfismex
    Illegal parameters in fisGaussianMF() –> sigma =
    0

    Error in evalfis (line 84)
    [output,IRR,ORR,ARR] = evalfismex(input, fis,
    numofpoints);

    Error in ANFIS (line 32)
    TestOut=evalfis(rr,fis2);
    میده ک نمیدونم دلیل این خطا چیه
    میشه راهنماییم کنید؟
    ممنون میشم

    پاسخ
    1. 1.1

      eeiranmatlab

      سلام

      اين خطا يكي از خطاهاي رايج در هنگام آموزش انفيس در متلب مي باشد.

      دليل آن اين است كه مقدار سيگما در تابع عضويت يا همان membership function نمي تواند صفر باشد.

      چون انفيس يك الگوريتم آموزش سيستم فازي تاكاگي سوگونو مي باشد لذا ممكن است اين حالت اتفاق بيافتد.

      خوب براي حل اين خطا چه كار بايد بكنيم :

      1 – نوع تابعي كه با آن سييتم فازي را ساختيد عوض كنيد مثلا genfis1 را يه genfis2 تغيير دهيد.
      اين خطا بيشتر در genfis1 اتفاق مي افتد

      2 – تعداد نمونه هاي آموزش را كاهش دهيد.

      3 – قبل از اعمال داده ها به انفيس آنها را نرماليزه كنيد. دستورهاي نرماليزه كردن mapminamx و mapstd مي باشند.

      4 – نوع تابع عضويت در سيستم فازي را تغيير دهيد مثلا گايوسين را به مثلثي تبديل كنيد.

      5- تعداد توابع عضويت در سيستم فازي را كاهش دهيد.

      پاسخ
  2. 2

    بهار

    سلام برنامه من در اجرای کددستور زیر این خطا را می دهد لطفا راهنمایی کنید
    ruleview(fis);
    Error using &
    Not enough input arguments.

    Error in evalfis (line 84)
    [output,IRR,ORR,ARR] = evalfismex(input, fis,
    numofpoints);

    Error in ruleview (line 451)
    [v,irr,orr,arr]=evalfis(inputVector,fis, numPts);

    Error in ruleview (line 313)
    ruleview #update

    پاسخ
    1. 2.1

      eeiranmatlab

      قسمتی از کدتون را بگذارید را راهنمایی کنیم.

      پاسخ
  3. 3

    بهار

    سلام ممنون که وقت گذاشتید
    clc;
    clear;
    close all;

    %%creat fis
    fisName=’pr’;
    fisType=’mamdani’;
    andMethod=’min’;
    orMethod=’max’;
    impMethod=’and’;
    aggMethod=’max’;
    defuzzMethod=’bisector’;
    fis=newfis(fisName,fisType,andMethod,orMethod,impMethod, aggMethod,defuzzMethod) ;
    %%add var
    % fis=addvar(fis,’varType’,’varName’,varBounds)
    fis=addvar(fis,’input’,’distance’,[0 1.5]);
    fis=addmf(fis,’input’,1,’ld’,’trapmf’,[-inf -inf 0.25 0.5]);
    fis=addmf(fis,’input’,1,’ad’,’trapmf’,[0.25 0.5 0.75 1 ]);
    fis=addmf(fis,’input’,1,’gd’,’trapmf’,[0.75 1 inf inf]);

    fis=addvar(fis,’input’,’psc’,[0 1]);
    fis=addmf(fis,’input’,2,’wl’,’trapmf’,[-inf -inf 0.001 0.25]);
    fis=addmf(fis,’input’,2,’al’,’trapmf’,[0.001 0.25 0.5 0.75]);
    fis=addmf(fis,’input’,2,’sl’,’trapmf’,[0.5 0.75 inf inf]);

    fis=addvar(fis,’output’,’best ‘,[0 1]);
    fis=addmf(fis,’output’,1,’vb’,’trapmf’,[-inf -inf 0.1 0.25]);
    fis=addmf(fis,’output’,1,’bb’,’trimf’,[0.1 0.25 0.35]);
    fis=addmf(fis,’output’,1,’ab’,’trimf’,[0.25 0.35 0.55]);
    fis=addmf(fis,’output’,1,’gb’,’trimf’,[0.35 0.55 0.75]);
    fis=addmf(fis,’output’,1,’vg’,’trapmf’,[0.55 0.75 inf inf]);

    %add rules
    rules=[1 1 2 1 1
    1 2 4 1 1
    1 3 5 1 1
    2 1 1 1 1
    2 2 3 1 1
    2 3 4 1 1
    3 1 1 1 1
    3 2 2 1 1
    3 3 2 1 1];
    fis=addrule(fis,rules);

    پاسخ
    1. 3.1

      eeiranmatlab

      برنامه تون با با متلب 2015 اجرا کردم

      هیچ مشکلی ندارد

      پاسخ
      1. 3.1.1

        بهار

        سلام مممنون از پاسختون
        من هم با متلب 2012 اجرا می کنم خطا نداره،
        ولی وقتی دستور (ruleview(fis را میزنم خطای بالا را میدهد
        نمی دونم چرا ؟تمام وقتمم گرفته؟
        ایا شما هم این دستور را میزنید Rull ها را نشان میدهد یا همین خطا را دارید؟
        لطفا راهنمایی کنید

        پاسخ
        1. 3.1.1.1

          بهار

          سلام
          متوجه اشتباهم شدم در این خط از برنامه impMethod=’ به جای and باید از min استفاده می کردم
          باز هم بابت راهنمایی ها ممنون

          پاسخ
  4. 4

    بهار

    سلام
    یک سوال ایا می شود خروجی یک سیتم فازی را در یک ماتریس ذخیره کرد؟

    پاسخ
    1. 4.1

      eeiranmatlab

      سلام بله امکانش هست

      بعد از ساخت سیستم فازی اگر اسمش fis باشد

      کافی است بنویسید

      y =evalfis(fis,x)

      با این دستور شما ورودی x را به سیستم فازی می دهید و خروجی را در ماتریس y ذخیره می کنید.

      پاسخ
  5. 5

    بهار

    سلام
    ایا وروردی های دستور evalfis می تواند از دو ماتریس تشکیل شود؟یعنی به جای دادن عدد خاص می توان از اعدادی که قبلا در یک ارایه یا ماتریس ذخیره شده استفاده کرد؟
    متشکرم

    پاسخ
    1. 5.1

      eeiranmatlab

      سلام

      بله شما می توانید یک بار یک ماتریس را بدبد و سپس ماتریس بعدی

      مثلا فرض کنید دو ماتریس داریم به اسم های a1 و a2

      y1=evalfis(fis,a1)

      y2=evalfis(fis,a2)

      فقط حواستون باشد اعداد ورودی در بازه تغییرات ورودیهای سیستم فازی باشد.

      شاد باشید

      پاسخ
  6. 6

    بهار

    چگونه می توان یک مربع با قطر ۵۰۰m در متلب طراحی کرد که دارای ۲۰ نود باشد؟طوری که نود منبع و مقصد در ابتدا و انتهای قطر قرار داشته باشند؟
    باتشکر

    پاسخ
    1. 6.1

      eeiranmatlab

      لطفا بیشتر توضیح دهید. منظور از نود چیست؟

      آیا می خواهید در متلب مش بندی انجام دهید؟

      پاسخ
  7. 7

    بهار

    سلام
    بله قرار یک شبکه مش با تعداد ۴۰ نود یا گره تشکیل بدهم، که در یک فضا با قطر 500m باشد که گره اول و آخر در دو سر قطر قرار داشته باشند وسایر نودها در همین محدوده پخش شوند .من نودها را روی صفحه قرار دادم ولی نتوانستم قطر را برایش تعریف کنم.
    با تشکر

    پاسخ
    1. 7.1

      eeiranmatlab

      سلام

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

      پاسخ
  8. 8

    بهار

    این قسمتی از کد که برای تولید گره ها استفاده کردم که در واقع گره ها را ایجاد می کند ولی قطر را نتوانستم تعریف کنم

    clear all;
    clc;
    close all;
    tic;
    global n distanc distance ncand ci psc i j k
    %axis on;
    axis off; %hazf mehvar mokhtasat
    x1=0.15;
    y1=0.15;
    figure(1);
    hold on ;
    box on;
    grid off;
    % box off;
    plot (x1 , y1 , ‘r:o’, ‘MarkerSize’,20);
    text(x1,y1,’S’);
    hold on;
    % matris distance
    %*b=zeros(1,100);
    %*d=repmat(b,1,100);
    %tedad node
    n=input(‘n=’);
    ncand=input(‘ncand=’);%max tedad candid
    a.x=zeros(1,n);
    a.y=zeros(1,n);
    %m matris mokhtasat
    m=repmat(a,1,n);
    m(1).x=0.15;
    m(1).y=0.15;
    rng( 5);%ran num sabet
    for i=2:n-1
    hold on;
    %* disp(‘*****************************************************************************’);
    %* fprintf(‘node i= %d \n’,i);

    xx=rand(1);yy=rand(1);

    m(i).x=xx;
    m(i).y=yy;

    %* disp(‘coordinate=’ ); disp (m(i));

    plot (xx,yy,’k:o’, ‘MarkerSize’, 20 );
    %lable node
    labels = cellstr( num2str((i)) );

    text(xx,yy, labels);

    hold on;
    end
    xn=0.95;
    m(n).x=0.95;
    m(n).y=0.95;
    yn=0.95;
    plot (xn, yn , ‘r:o’, ‘MarkerSize’,20);
    text(xn,yn,’d’);
    hold on;
    o=zeros(1,1);
    p=zeros(1,1);
    q=zeros(1,1);
    c=zeros(1,1);
    distance=repmat(p,100,n);%matris distance for node to node
    distanc=repmat(o,1,n);%matris distanc to destinection
    %*dist=repmat(q,1,n);
    count=repmat(c,1,n);%%%%%%counter tedad neighber every node
    for i=1:n-1
    x2=m(i).x;
    y2=m(i).y;

    dn=((x2 – xn) .^ 2 + (y2 -yn) .^ 2);
    %* disp(‘***************************’);
    %* fprintf(‘node i= %d \n’,i);

    hn=abs(sqrt(dn));
    %* fprintf(‘dist to dest= %f \n’,hn);
    digits(3);
    distanc(i)=hn;
    end
    % distance is matris fasele node to node
    %* disp(‘***************************’);
    l=zeros(1,1);
    sp=repmat(l,1,n);%successprob

    x2=zeros(1,1);
    psc=repmat(x2,100,n);%sort sp base ci
    for i=1:n

    for j=1:n
    % j=j+1;
    x2 = m(j).x;
    y2 = m(j).y;
    d=((m(i).x – x2) .^ 2 + (m(i).y -y2) .^ 2);
    % *disp(‘***************************’);
    %* fprintf(‘node i,j= %d \n’,i);

    h=abs(sqrt(d));
    %ta 3 ragham ashar
    digits(3);
    %* fprintf(‘dist to dest= %f \n’,h);
    distance(i,j)=h;

    پاسخ
  9. 9

    بهار

    سلام ممنون
    پس در متلب نمی توان جایی داشت که قطر صفحه راتعریف کرد؟

    پاسخ
    1. 9.1

      eeiranmatlab

      قابل انجام است.
      برای مش بندی متلب ابزاری دارد به نام PDEtool

      که ما یک محصل در همین رابطه داریم. در این ابزار شما می توانید مش بندی را به راحتی انجام دهید.

      لینک محصول

      پاسخ
  10. 10

    meisam

    با سلام
    ایراد برنامه زیر کجاست که ران نمیشود.باتشکر از راهنمایی دوستان گرامی
    clc,clear,close all
    f1t=1080;
    f1c=620;
    f2t=39;
    f2c=128;
    f6=89;
    syms sx s1 s2 t6
    step=pi/6;

    for theta=0:step:pi/2;
    m=cos(theta);
    n=sin(theta);
    my_sys=[s1-m^2*sx,s2-n^2*sx,t6-m*n*sx,(1/f1t-1/f1c)*s1+(1/f2t-1/f2c)*s2+(1/(f1t*f1c))*s1^2+(1/(f2t*f2c))*s2^2+t6^2/f6^2-(1/(f1t*f1c*f2t*f2c)^0.5)*s1*s2-1];
    Resp=solve(my_sys);
    Maxsx(:,1+theta/step)=double(Resp.sx);
    end

    theta=(0:step:2*pi).*(180/pi); % Theta in Degree
    plot(theta,MaxSx),xlabel(‘Theta’),ylabel(‘Max Stress’)

    پاسخ
    1. 10.1

      eeiranmatlab

      سلام

      شما آخر برنامه رسم نمودار گذاشتید
      plot(theta,Maxsx),
      اما طول دو بردار ورودی دستور plot برابر نیست.
      در ضمن Maxsx ماتریس بدست می آید.
      کدت را مرحله به مرحله اجرا کن.

      ایران متلب

      پاسخ
  11. 11

    مهدی

    سلام برای نمایش trans در مطلب برنامم این ارور رو میده
    please error at ohm:usage might be invalid matlab syntax
    please error at’0.0090′:usage might be invalid matlab syntax

    این هم برنامه کامل اگه میشه کمکم کنید

    To obtain equivalent circuit from tests 1
    To input individual winding impedances 2
    To input transformer equivalent impedance 3
    To quit 0
    Select number of menu –> 2
    Enter Transformer rated power in kVA, S = 150
    Enter rated low voltage in volts = 240
    Enter rated high voltage in volts = 2400
    Enter LV winding series impedance R1+j*X1 in ohm=0.002+j*.0045
    Enter HV winding series impedance R2+j*X2 in ohm=0.2+j*0.45
    Enter ‘lv’ within quotes for low side shunt branch or
    enter ‘hv’ within quotes for high side shunt branch -> ‘hv’
    Shunt resistance in ohm (if neglected enter inf) = 1000
    Shunt reactance in ohm (if neglected enter inf) = 1500
    Shunt branch ref. to LV side Shunt branch ref. to HV side
    Rc = 10.000 ohm Rc = 1000.000 ohm
    Xm = 15.000 ohm Xm = 1500.000 ohm
    Series branch ref. to LV side Series branch ref.to HV side
    Ze = 0.0040 + j 0.0090 ohm Ze = 0.4000 + j 0.90 ohm
    Hit return to continue
    Enter load kVA, S2 = 150
    Enter load power factor, pf = 0.8
    Enter ‘lg’ within quotes for lagging pf
    or ‘ld’ within quotes for leading pf -> ‘lg’
    Enter load terminal voltage in volt, V2 = 240
    Secondary load voltage = 240.000 V
    Secondary load current = 625.000 A at -36.87 degrees
    Current ref. to primary = 62.500 A at -36.87 degrees
    Primary no-load current = 2.949 A at -33.69 degrees
    Primary input current = 65.445 A at -36.73 degrees
    Primary input voltage = 2453.933 V at 0.70 degrees
    Voltage regulation = 2.247 percent
    Transformer efficiency = 94.249 percent
    Maximum efficiency is 95.238 %occurs at 288 kVA with 0.8pf

    پاسخ
    1. 11.1

      eeiranmatlab

      دوست عزیر من اصلا متوجه سوال شما نمی شوم.

      پاسخ
  12. 12
  13. 13

    بهار

    سلام
    رابطه بازگشتی زیر راچگونه می توان در متلب کد نویسی کرد من در قسمت بازگشتی رابطه بعد مساوی( EAX(ci,d مشکل دارم نمی توانم کد بازگشتی این قسمت بنویسم.

    (EAX(s,d)=Ʃ EAX(ci,d)pi Π(1-pj
    بازه سیگما (i=1 …c) وبازه Π برابر j=1 ..i-1
    در حالتی که i=1 عبارت Π(1-pj)=1 می باشد.

    لطفا راهنمایی کنید
    با تشکر

    پاسخ
    1. 13.1

      eeiranmatlab

      سلام

      من نمیتونم دقیق کد را خدمتتون بگم فقط راهنمایی که میتونم بکنم این است که همیشه برای نوشتن هر رابطه بازگشتی دو چیز لازم است

      اول مقدار دهی اولیه متغییری که قرار است در فرایند مقداردهی شود

      دوم استفاده از یک حلقه FOR برای نوشتن فرایند

      خوب شما بیا اول
      Π(1-pj)=1
      بگذار
      سسپس یک حلقه FOR بنویس
      برای نوشتن حاصلضرب چندین (Π) عدد در هم از دستور prod استفاده کن.

      پاسخ
      1. 13.1.1

        بهار

        سلام من هر چه کد می نویسم بازم خطا داره لطفا راهنمایی کنید خیلی ضروری است

        function e=followeax(c,d)
        global n distanc distance ncand ci psc sp maxCandidateset res zzz c
        %%%%% eax 1)

        for i=2:zzz(k)
        for j=1:i-1

        mult1=1;
        EE=mult1*(1-sp(1,j));
        end
        % rr= maxCandidateset(1,i);
        % eax=1+(followeax(maxCandidateset(i,1),n))*sp(i,1)*EE ;

        rr= maxCandidateset(1,i);
        eax=1+followeax(rr,n)*sp(rr,i)*EE ;
        end
        end

        end

        %h=maxCandidateset(c,1);
        % eax= 1+followeax(h,n)*sp(c,1);

        مرتب خطا میدهد
        با تشکر

        پاسخ
  14. 14

    بهار

    این خطا را می دهد
    Output argument “e” (and maybe others) not assigned
    during call to “D:\ms
    hoosh\term2\tez1\followeax.m>followeax”.

    Error in followeax (line 9)
    eax=1+followeax(rr,n)*psc(rr,i);

    پاسخ
  15. 15

    بهار

    function e=followeax(c,n)
    global n psc sp maxCandidateset zzz eax rr d
    %%%%% eax 0)

    %if(zzz(rr) > 1)

    % for i=2:zzz(k)
    for j=1:i-1

    mult1=1;
    EE=mult1*(1-psc(1,j));
    end
    % rr= maxCandidateset(1,i);
    % eax=1+(followeax(maxCandidateset(i,1),n))*sp(i,1)*EE ;

    rr= maxCandidateset(rr,i);
    eax=eax+1+followeax(rr,d)*psc(rr,i)*EE ;
    end
    end
    end

    %end

    %h=maxCandidateset(c,1);
    % eax= 1+followeax(h,n)*sp(c,1);
    با این کد نیز خطا می دهد

    In followeax (line 11)
    eax=eax+1+followeax(rr,d)*psc(rr,i);
    هر چه دقت می کنم نمی دونم بابت چیه؟

    پاسخ
  16. 16

    مهدی

    سلام شما یکبار تست کنید برنامه رو متوجه خواهید شد

    To obtain equivalent circuit from tests 1
    To input individual winding impedances 2
    To input transformer equivalent impedance 3
    To quit 0
    Select number of menu –> 2
    Enter Transformer rated power in kVA, S = 150
    Enter rated low voltage in volts = 240
    Enter rated high voltage in volts = 2400
    Enter LV winding series impedance R1+j*X1 in ohm=0.002+j*.0045
    Enter HV winding series impedance R2+j*X2 in ohm=0.2+j*0.45
    Enter ‘lv’ within quotes for low side shunt branch or
    enter ‘hv’ within quotes for high side shunt branch -> ‘hv’
    Shunt resistance in ohm (if neglected enter inf) = 1000
    Shunt reactance in ohm (if neglected enter inf) = 1500
    Shunt branch ref. to LV side Shunt branch ref. to HV side
    Rc = 10.000 ohm Rc = 1000.000 ohm
    Xm = 15.000 ohm Xm = 1500.000 ohm
    Series branch ref. to LV side Series branch ref.to HV side
    Ze = 0.0040 + j 0.0090 ohm Ze = 0.4000 + j 0.90 ohm
    Hit return to continue
    Enter load kVA, S2 = 150
    Enter load power factor, pf = 0.8
    Enter ‘lg’ within quotes for lagging pf
    or ‘ld’ within quotes for leading pf -> ‘lg’
    Enter load terminal voltage in volt, V2 = 240
    Secondary load voltage = 240.000 V
    Secondary load current = 625.000 A at -36.87 degrees
    Current ref. to primary = 62.500 A at -36.87 degrees
    Primary no-load current = 2.949 A at -33.69 degrees
    Primary input current = 65.445 A at -36.73 degrees
    Primary input voltage = 2453.933 V at 0.70 degrees
    Voltage regulation = 2.247 percent
    Transformer efficiency = 94.249 percent
    Maximum efficiency is 95.238 %occurs at 288 kVA with 0.8pf

    پاسخ
  17. 17

    بهار

    سلام
    در کد زیر چرا لیبل محور x,yرا در نمودار در نظر نمی گیرد؟
    figure(2);
    axis on;

    % xlabel=(‘Number of node’);
    %ylabel=(‘excute time(sec)’);
    t=[0 2.74 3.09 5.38 6.57 7.63 8.50 9.72 10.52 11.37 12.48 14.74 16.24 16.84 17.02 ];
    %t1=[0 4.56 5.39 6.28 6.54 9.67 10.25 11.02 12.00 13.03 16.40 18.38 18.69 19 19.5];%t1base
    t1=[0 8 10.5 12.8 15 16.54 19.67 20.25 21.02 23.03 26.40 28.38 32.69 35 37];%baseaper
    number=[0 20 25 30 35 40 45 50 55 60 65 70 75 80 85];
    plot (number , t , ‘r:o’, number,t1,’b:+’);
    title(‘ Execution time for the case ncand = 5’);
    xlabel=(‘Number of node’);
    ylabel=(‘excute time(sec)’);
    hleg1=legend(‘Fuzzyor’,’Dpor’);
    set(hleg1,’Location’,’NorthWest’);
    با تشکر

    پاسخ
    1. 17.1

      ایران متلب

      سلام

      دستور
      xlabel=(‘Number of node’);

      اشتباه است

      علامت تساوی در این دستور وجود ندارد.

      پاسخ
  18. 18

    بهار

    سلام ممنون از راهنماییتون

    پاسخ
  19. 19

    حسین

    سلام وقت به خیر
    کد من همش اخطار not enough input argument میده
    مشکلش چی میتونه باشه ؟!

    پاسخ
    1. 19.1

      ایران متلب

      سلام

      خطا را به طور کامل قرار دهید.

      این خطا بیشتر موقعی ظاهر می شود که یک تابع تعداد ورودی ها کمتر از تعداد مدنظر بهش داده باشید

      پاسخ
  20. 20

    مهدیه

    سلام خسته نباشید, من یک سیستم فازی طراحی کردم ولی موقع وارد کردن تابع عضویت در بازه[0.1 0] در حالت گوسین این ارور رو میده invalid parametet vector.no change made to mf gaussmf
    دلیلش چیه باید چیکار کنم؟
    ممنون

    پاسخ
    1. 20.1

      ایران متلب

      سلام
      تابع عضویت gaussmf نمی تواند مقدار صفر را به عنوان پارامتر بگیرد.
      نوع تابع عضویت را عوض کنید یا بازه را از 0 به 0.0001 تغییر دهید.

      پاسخ
      1. 20.1.1

        مهدیه

        ممنون از پاسخگوییتون, به نظرتون چه تابعی میتونم جایگزین کنم؟

        پاسخ
        1. 20.1.1.1

          مهدیه

          و سوال دیگه ای هم که دارم, مشکلی نیست فقط در این بازه تابع تغییر کنه, و بقیه بازه ها همون گوسین بمونه؟

          پاسخ
        2. 20.1.1.2

          ایران متلب

          تابع های زیادی داریم. میتونید به فیلم آموزش منطق فازی مراجعه کنید.
          لینک

          پاسخ
  21. 21

    elhammk

    سلام برنامه من این خطا رو می ده باید چیکار کنم؟
    Reference to non-existent field ‘busdata’.

    Error in Cost (line 46)
    [row,column]=find(mpc.busdata(:,1)==a);

    Error in pso_opfff (line 52)
    particle(i).cost=Cost(particle(i).position);

    پاسخ
    1. 21.1

      ایران متلب

      سلام

      در آرایه های ساختاری یا structure باید تمام فیلدها تعریف شده باشد.
      شما فیلدی به نام busdata را فراخوانی کردید اما در خط های قبلی آنها را مقداری دهی یا تعریف نکردید و متلب از برنامه خطا گرفته که این فیلد busdata مشخص نیست.
      برای توضیح بیشتر به فیلم زیر مراجعه کنید
      لینک

      پاسخ
  22. 22

    میثم

    با سلام من یک کدنویسی متلب داشتم که وقتی به زوایه ها مقدار صفر میدهم برنامه بدون مشکل اجرا میشه اما وقتی زوایه را میخوام تغییر بدهم با این خطا مواجه میشم لطفا اگه امکان داره منو راهنمایی کنید این قسمتی از برنامه هست
    E11=39e9; E22=8.66e9; G12=3.8e9; G13=G12; G23=3.8e9; v12=0.28; v21=v12*E22/E11;
    teta=0;

    Q11=E11/(1-(v21*v12)); Q22=E22/(1-(v21*v12)); Q12=(v12)*E22/(1-(v21*v12)); Q66=G12; Q44=G23; Q55=G13;
    q_(1,1)=Q11*(cosd(teta))^4+Q22*(sind(teta))^4+2*(Q12+2*Q66)*((sind(teta))^2)*(cosd(teta))^2;
    q_(2,1)=(Q11+Q22-4*Q66)*sind(teta)^2*cosd(teta)^2+Q12(sind(teta)^4+cosd(teta)^4);
    این خطا را نشون میده وقتی زاویه را مقداری غیر از صفر میدم
    Subscript indices must either be real positive integers or logicals.

    پاسخ
    1. 22.1

      ایران متلب

      سلام
      در متلب اندیس های آرایه ها باید حتما عددی بزرگتر از 0 و عدد صحیح باشند. اگر عددی غیر از این بگذارید متلب خطا می دهد.

      مثلا

      a =[3 5 6 8]

      اگر در برنامه داشته باشید
      a(0)
      یا
      a(1.5)
      متلب این خطا می دهد.
      شما باید برنامه را خط به خط اجرا کنید. یکی از این روشها breakpoint می باشد. می توانید برای توضیح بیشتر به فیلم سیر تا پیاز ایران متلب مراجعه کنید.
      لینک

      پاسخ
  23. 23

    سعید

    سلام
    من یه برنامه نوشیتم البته تو سیمولینک که از کنترل کننده فازی هم استفاده کردم ول موقع ران ارور میده.
    ” invalid FIS file name ”
    برای رفع این خطا چکار کنم؟

    پاسخ
    1. 23.1

      ایران متلب

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

      پاسخ
  24. 24

    الهام

    سلام.
    میخواستم بدونم در دستور evalfis پارامتر ORR نشان دهنده چی هست؟
    میشه لطفا جواب را به ایمیلم بفرستید؟
    ممنون.

    پاسخ
    1. 24.1

      ایران متلب

      سلام
      خروجی ORR مقدار خروجی هر تابع عضویت membership function سیستم فازی شما می باشد. هر تعداد تابع عضویت در سیستمت داری به همون اندازه هم مقدار در ORR داری.
      اندازه آن numPts-by-numRules*L می باشد
      numPts همان تعداد نمونه ها در ورودی input دستور evalfis است.
      numRules تعداد قانونها rule
      L هم تعداد خروجی ها می باشد.
      برای توضیح بیشتر بسته جامع آموزش سیستم فازی را می تونید تهیه کنید.
      لینک بسته آموزش جامع فازی

      پاسخ
  25. 25

    سمیرا

    با سلام
    من یه برنامه بهینه سازی چند هدفه دارم که با الگوریتم ژنتیک چند هدفه میخوام ران کنم اما متاسفانه ران نمیشه با این ارور مواجه میشم
    Optimization running.
    Error running optimization.
    Not enough input arguments.
    لطفا راهنمایی کنید ممنون میشم

    پاسخ
    1. 25.1

      ایران متلب

      با سلام
      این خطا هنگامی صادر می شود که شما دارید یک تابعی را فراخوانی می کنید اما ورودی ها را درست ندادید.
      مثلا تابع باید 4 تا ورودی بگیره شما اومدی 2 تا ورودی دادی.
      Not enough input argument یعنی همین .
      برو روی خطی که داره میگه این تابع را ورودی کم دادی و نحوه فراخونیت را درست کن.

      پاسخ
      1. 25.1.1

        علی

        سلام
        من تا فردا باید فایل پروژه تحویل بدم نیاز به کمک خیلی سریع دارم خواهشا کسی میتونه کمکم کنه

        پاسخ
  26. 26

    mohamad

    با سلام

    قسمت برنامه های متلب app ، برنامه optimazation اجرا نمیشه اصلا و ارور جاوا میده . مشکلش کجاست؟

    پاسخ
    1. 26.1

      ایران متلب

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

      پاسخ
  27. 27

    علی

    سلام دوستان به شدت به کمک نیاز دارم
    دو روز به دفاع من مونده و نرم افزار موقع run پیغام خطا میده
    میتونم تلفنی از کسی کمک بگیرم
    لطفا

    پاسخ
    1. 27.1

      ایران متلب

      سلام
      دوست گرامی توضیح خطا را بنوسید تا راه حل برای شما نوشته شود.

      پاسخ
  28. 28

    فاطمه بهداد

    سلام من همون ابتدای برنامه ارور زیر رو دارم؟ میشه لطفا راهنمایی بفرمایید؟
    Error: File: bisct.m Line: 4 Column: 1
    Function definitions are not permitted in this context.

    برنامم هم اینه:
    clear
    clc
    c(i)=zeros(1,maxlter);
    function [cc(i),c(i)]= bisct(f,a,b,t,maxlter)
    fa=feval(f,a);fb=feval(f,b);e=eps;
    if fa*fb>0,
    disp(‘error’)
    end;
    n=0;
    for i=1:maxlter
    c(i)=(a+b)/2;fc=feval(f,c(i));
    if abs(fc)<t;
    break;
    elseif fa*fc<0
    b=c(i);fb=fc;
    else
    a=c(i);
    end
    n=n+1;
    end
    cc(i)=c(i);

    این پرانتزا و سمی کالونا تو فایل خودم درست ظاهر میشه

    پاسخ
    1. 28.1

      ایران متلب

      سلام
      دوست عزیز شما نمی توانید در یک script ، یک تابع را تعریف کنید.
      یا می توانید تابع را در یک m فایل ذخیره کنید و در script فراخوانی کنید.
      یا script خود را به یک تابع تبدیل کنید. در این حالت می توانید در یک تابع، چندین تابع تعریف کنید.
      من روش یک را پیشنهاد می کنم چون دو مزیت دارد اول اینکه اگر به این تابع در برنامه دیگری نیاز شد به راحتی فراخوانی می کنید. دوم اینگه تعداد m فایل هایی که نوشتید زیاد می شود و به خودتون میگید دارم برنامه نویس میشما 🙂

      پاسخ
  29. 29

    مهسا

    با سلام میخواستم ببینم ارور زیر در متلب به چه معناست:
    Attempt to reference field of non-structure array

    پاسخ
    1. 29.1

      ایران متلب

      سلام و تشکر از شما برای سوالتون
      ما در متلب متغییرهایی از نوع ساختاری یا structure داریم. که طریقه فراخوانی آنها به صورت زیر است

      A.score

      A یک متغییر ساختاری است
      score فیلد آن است.

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

      پاسخ
      1. 29.1.1

        مهسا

        ممنون از پاسخگویی شما
        ارور از خط زیر گرفته میشه :
        dim=eldat.compute
        که قبلاglobal eldat تعریف شده
        که با توجه به این ،توضیحات شما درسته حالا برای رفع ارور باید چیکار کنم؟

        پاسخ
        1. 29.1.1.1

          ایران متلب

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

          پاسخ

پاسخ دهید

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

طراحی شده توسط ایران متلب 1388-1395