صفحه 4 از 6 اولاول ... 23456 آخرآخر
نمایش نتایج 121 تا 160 از 235

نام تاپیک: هفتِ بیجار

  1. #121

    نقل قول: هفتِ بیجار

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

    Kp =linspace(0,60,50)';
    Ki =linspace(0,200,50)';
    Kd =linspace(0,1000,50)';
    % -----------------

    NODES = [Kp Ki Kd];
    try
    plotSlices(NODES,(-1:1))
    catch
    end


    شما داده ها رو یکدفعه تولید کردین ولی من جدا جدا داشتم و پیش هم گذاشتم. چه فرقی میکنه؟
    من تصویر اصلی رو هم از اینجا گرفتم.


  2. #122

    نقل قول: هفتِ بیجار

    مگه نگفتید یکی از پارامترها به این صورته؟
    https://barnamenevis.org/attachment.p...2&d=1430328678
    یه کم دارم گیج می شم

  3. #123

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    مگه نگفتید یکی از پارامترها به این صورته؟
    https://barnamenevis.org/attachment.p...2&d=1430328678
    یه کم دارم گیج می شم
    درسته ولی من فکر کنم مقاله اومد فقط رنج پارامترها رو بصورت نموداری نشون داد. دیگه نیومد نقطه به نقطه رو پلات کنه!
    همون قسمتی که های لایت کردم. منم میخوام بگم رنج این سه تا پارامتر در این محدوده هست و پلات بشه. مگه اون نمودار اصلی اینو نشون نمیده؟

  4. #124

    نقل قول: هفتِ بیجار

    شما بالاخره تونستید پلات را به صورت سه بعدی بچرخونید؟
    چرا این که میگم انجام نمیدید؟ لطفا با try اون سه تا پارامتر را با تابع plotSlices که سطوح اون 10:10:90 باشه پلات کنید. خواهشا
    با drawMesh هم پلات کنید و بچرخونید و تصویر سه بعدی را اینجا بذارید

  5. #125

    نقل قول: هفتِ بیجار

    منظورت کدوم پارامترها بود؟
    من با این داده ها انجام دادم :
    clc; clear; close all;

    Kp =linspace(0,60,50)';
    Ki =linspace(0,200,50)';
    Kd =linspace(0,1000,50)';

    NODES = [Kp Ki Kd];

    try
    plotSlices(NODES, (10:10:90))
    catch
    end
    % -------------------------------
    figure
    FACES = minConvexHull(NODES);
    try
    drawMesh(NODES,FACES)
    catch
    end


    خطای زیر رو داد :
    ??? Error using ==> qhullmx
    qhull precision error: initial facet 3 is coplanar with the interior point

    ERRONEOUS FACET:


    While executing: | qhull Qt

    Options selected for Qhull 2003.1 2003/12/30:
    Qtriangulate _pre-merge _zero-centrum _max-width 1e+003
    Error-roundoff 1.1e-012 _one-merge 7.5e-012 _near-inside 3.7e-011
    Visible-distance 2.1e-012 U-coplanar-distance 2.1e-012
    Width-outside 4.3e-012 _wide-facet 1.3e-011


    The input to qhull appears to be less than 3 dimensional, or a
    computation has overflowed.

    Qhull could not construct a clearly convex simplex from points:


    The center point is coplanar with a facet, or a vertex is coplanar
    with a neighboring facet. The maximum round off error for
    computing distances is 1.1e-012. The center point, facets and distances
    to the center point are as follows:




    facet
    p42
    p49
    p0
    distance= -7.1e-015

    facet
    p9
    p49
    p0
    distance= -7.1e-015

    facet
    p9
    p42
    p0
    distance= 0

    facet
    p9
    p42
    p49
    distance= -1.4e-014


    These points either have a maximum or minimum x-coordinate, or
    they maximize the determinant for k coordinates. Trial points
    are first selected from points that maximize a coordinate.


    The min and max coordinates for each dimension are:

    0: 0 60 difference= 60

    1: 0 200 difference= 200

    2: 0 1000 difference= 1000


    If the input should be full dimensional, you have several options that
    may determine an initial simplex:
    - use 'QJ' to joggle the input and make it full dimensional
    - use 'QbB' to scale the points to the unit cube
    - use 'QR0' to randomly rotate the input for different maximum points
    - use 'Qs' to search all points for the initial simplex
    - use 'En' to specify a maximum roundoff error less than 1.1e-012.
    - trace execution with 'T3' to see the determinant for each point.

    If the input is lower dimensional:
    - use 'QJ' to joggle the input and make it full dimensional
    - use 'Qbk:0Bk:0' to delete coordinate k from the input. You should
    pick the coordinate with the least range. The hull will have the
    correct topology.
    - determine the flat containing the points, rotate the points
    into a coordinate plane, and delete the other coordinates.
    - add one or more points to make the input full dimensional.



    Error in ==> convhulln at 71
    [k,vv] = qhullmx(x', opt);

    Error in ==> minConvexHull at 44
    hull = convhulln(nodes);

    Error in ==> plot4 at 15
    FACES = minConvexHull(NODES);

  6. #126

    نقل قول: هفتِ بیجار

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

    clc; clear; close all;

    NODES = randn(50,3);

    try
    plotSlices(NODES, (10:10:90))
    catch
    end
    % -------------------------------
    figure
    FACES = minConvexHull(NODES);
    try
    drawMesh(NODES,FACES)
    catch
    end


    که دستور اولی رو پلات نکرد (خطایی هم نداد) و دستور دومی رو بصورت زیر پلات کرد :


  7. #127

    نقل قول: هفتِ بیجار

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

    clc; clear; close all;

    NODES = randn(50,3);

    plotSlices(NODES, (-1:1))
    % -------------------------------
    figure
    FACES = minConvexHull(NODES);
    try
    drawMesh(NODES,FACES)
    catch
    end


    هر دو رو پلات کرد ولی level اون چیزی که خواستین نیست. با اون level خطا میده که توی پست قبلی انجام دادم.


  8. #128

    نقل قول: هفتِ بیجار

    من میخوام با این رنج های زیر نموداری مثل مقاله رسم بشه :

    Kp =linspace(0,60,50)';
    Ki =linspace(0,200,50)';
    Kd =linspace(0,1000,50)';


    میشه؟؟؟

    level رو میشه هر طوری انتخاب کرد؟

  9. #129

    نقل قول: هفتِ بیجار

    همه چیز را ترسیم کردید به جز اون چیزی که باید ترسیم کنید :)
    از linspace استفاده نکنید
    سه تا بردار دارید که یکی از اونها به این شکل هست:
    https://barnamenevis.org/attachment.p...2&d=1430328678
    اون سه تا را به عنوان سه ستون NODES در نظر بگیرید و با plotSlices و drawMesh ترسیم کنید و بچرخونید و حتما از try هم استفاده کنید

  10. #130

    نقل قول: هفتِ بیجار

    مگه توی اون تصویر اصلی نیومد فقط رنج پارامترها رو نشون بده؟ فکر نکنم اومده باشه که نقاط بین این دو رنج رو هم پلات کرده باشه!
    به هر حال من همون چیزی که گفتید رو قرار دادم.
    clc; clear; close all

    load Data_Conventional

    Kp =kd1co;
    Ki =kp1co;
    Kd =ki1co;
    % -----------------

    NODES = [Kp Ki Kd];
    try
    plotSlices(NODES,(-1:1))
    catch
    end

    figure
    FACES = minConvexHull(NODES);
    try
    drawMesh(NODES,FACES)
    catch
    end


    قسمت اولی رو پلات نمیکنه ولی قسمت دومی بصورت زیر شد :


  11. #131

    نقل قول: هفتِ بیجار

    مهندس ببخشید من هنوز نتونستم کامپایلر رو نصب کنم. یعنی sdk که گفته بودی رو هم دانلود کردم ولی وسط راه یه پیغامی میده به این صورت :
    ضاهراً یه فایل وجود نداره. درسته؟

    آخرین ویرایش به وسیله coronaa : جمعه 18 اردیبهشت 1394 در 15:28 عصر

  12. #132

    نقل قول: هفتِ بیجار

    اون -1:1 برای اون مثال دیگه بود واسه داده های خودتون اینجور بذارید

    plotSlices(NODES,(5:5:50))

    واسه نصب هم گزینه دوم را انتخاب کنیدو مسیر فولدر sdk را معرفی کنید

  13. #133

    نقل قول: هفتِ بیجار

    اون -1:1 برای اون مثال دیگه بود واسه داده های خودتون اینجور بذارید
    2	plotSlices(NODES,(5:5:50))
    انجام دادم. اتفاق خاصی نیوفتاد!
    من داده ها رو توی اکسل ذخیره کنم و اینجا آپ کنم میتونید خودتون با اکتاو بررسی کنید؟

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

  14. #134

    نقل قول: هفتِ بیجار

    ظاهرا دانلود نکردید لینکش داخل همون فایل
    Win8.1SDKFiles.txt هست
    http://download.microsoft.com/downlo....29750/Windows Software Development Kit-x86_en-us.msp

  15. #135

    نقل قول: هفتِ بیجار

    داده ها را بفرستید

  16. #136

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    داده ها را بفرستید
    http://www.sharefile.ir/uploads/1431184856.xlsx

    تشکر

  17. #137

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    شما level را به صورت 22:3:47 وارد کنید نشون میده

  18. #138

    نقل قول: هفتِ بیجار

    درست شد.
    ولی خب دلیلش چیه که level رو این اعداد انتخاب کردین و بر چه اساسی؟
    دوم اینکه از روی نمودار حالا چطوری میشه فهمید که Kp به سمت چه عددی میل کرد؟


  19. #139

    نقل قول: هفتِ بیجار

    گفتم که از min و max استفاده کنید تا محدوده متغیر ها را متوجه بشید از روی نمودار mesh یا نمودار نقطه ای هم میشد فهمید محدوده اونها چه قدره
    اینکه kp به سمت چه عددی میل کرده نمیدونم از روی نمودار که مشخصه

  20. #140

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    گفتم که از min و max استفاده کنید تا محدوده متغیر ها را متوجه بشید از روی نمودار mesh یا نمودار نقطه ای هم میشد فهمید محدوده اونها چه قدره
    اینکه kp به سمت چه عددی میل کرده نمیدونم از روی نمودار که مشخصه
    ممنونم.
    من منظورم چیز دیگه ای بود. فرص کنید کدی در دسترس نیست و خواننده میواد از روی نمدار متوجه بشه که رنجشون چیه!
    مثل همون چیزی که توی مقاله هست. پس اصلن واسه چی این نمودار رو رسم کرده بود؟
    بازم دستتون درد نکنه. خیلی زحمت کشیدین.

  21. #141

    نقل قول: هفتِ بیجار

    سلام
    مهندس ببخشید. اون لینکی که واسه sdk گذاشته بودین رو دانلود کردم و توی فولدر مربوطه قرار دادم ولی همچنان همون خطا رو میده!
    من فایلهایی که دانلود کردم به صورت زیره :
    فایلی که شما گفتید، شماره 1 هست و چیزی که ظاهرن موقع نصب میخواد فراخونی کنه شماره 2 هست. فایله وجود داره ولی خطا میده.
    نمیشه کامپایلر دیگه ای نصب کرد؟

  22. #142

    نقل قول: هفتِ بیجار

    نمیدونم مشکل کجاست. اگه بتونید توی تنظیمات folder option در ویندوز گزینه نشون دادن extension ها رافعال کنید تا مشخص بشه پسوند فایل exe هست یا msu
    من خودم تا به حال این را نصب نکردم توی اون سایت لینکش را دیدم گفتم شاید به درد شما بخوره حالا اگه تو نصبش مشکل دارید فکر کنم بهتره یه عدد dvd ویژوال استادیو کامل البته همون نسخه ای که می خواهید فکر کنم 2012 بود را یه جا پیدا کنید که این سی دی ها همه جا ریخته و فراوان هست

  23. #143

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    نمیدونم مشکل کجاست. اگه بتونید توی تنظیمات folder option در ویندوز گزینه نشون دادن extension ها رافعال کنید تا مشخص بشه پسوند فایل exe هست یا msu
    من خودم تا به حال این را نصب نکردم توی اون سایت لینکش را دیدم گفتم شاید به درد شما بخوره حالا اگه تو نصبش مشکل دارید فکر کنم بهتره یه عدد dvd ویژوال استادیو کامل البته همون نسخه ای که می خواهید فکر کنم 2012 بود را یه جا پیدا کنید که این سی دی ها همه جا ریخته و فراوان هست
    سلام مهندس عزیز
    بالاخره پس از روزها تلاش و کوشش تونستم بر طرف کنم. یه ++c دیگه پیدا کردم و نصب کردم که جواب داد خدا رو شکر.
    دست شما هم درد نکنه
    :)

  24. #144

    نقل قول: هفتِ بیجار

    سلام آقای مهندس. وقت شما بخیر.
    ببخشید یه مشکل دیگه داشتم. من فرمول زیر رو میخوام کد بزنم و پلات کنم :

    بصورت زیر نوشتم ولی توی لحظه ی صفر خطا میگیره :
    clc; close all;

    tic
    Time=linspace(1,10,250000);
    P=rand(1,250000);
    soc=zeros(1,250000);
    soc(0)=100;
    for i=1:length(Time)
    soc(i)=(soc(i-1)+(P(i)*(Time(i)-Time(i-1))))/100;
    end
    socc=soc';
    plot(Time,socc);
    toc


    خطا :
    ??? Attempted to access soc(0); index must be a positive integer or
    logical.

    Error in ==> Soc at 7
    soc(0)=100;

  25. #145

    نقل قول: هفتِ بیجار

    سلام
    این را امتحان کنید

    soc(2:end) = (soc(1:(end -1)) + P(2:end) .*deta(2:end)) * 0.01;
    soc = cumsum(soc);

  26. #146

    نقل قول: هفتِ بیجار

    deta الآن چیه؟
    البته من از لحظه ی اول میخوام. وگرنه از لحظه ی دوم رو بدست میارم. وقتی که بصورت زیر باشه :

    soc(1)=100;
    for i=2:length(Time)
    soc(i)=(soc(i-1)+(P(i)*(Time(i)-Time(i-1))))/100;
    end

  27. #147

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    deta الآن چیه؟
    تو همون فرمول دلتا داریم دیگه بر اساس همون عکس فرمول که گذاشتید من نوشتم

  28. #148

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    تو همون فرمول دلتا داریم دیگه بر اساس همون عکس فرمول که گذاشتید من نوشتم
    درسته ولی دلتا رو که شما تعریف نکردین!
    مگه متلب این عبارت رو میشناسه؟

  29. #149

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    سلام
    این را امتحان کنید

    soc(2:end) = (soc(1:(end -1)) + P(2:end) .*deta(2:end)) * 0.01;
    soc = cumsum(soc);
    من اصلن متوجه نشدم که شما سمت چپ معادله رو چرا برداری نوشتین؟؟ ما که از همون اول مقادیر soc رو نداریم!
    این رابطه بازگشتیه و باید با مقدار فبل خودش حساب بشه.

  30. #150

    نقل قول: هفتِ بیجار

    این را امتحان کنید

    P = rand(1,250000);
    soc=zeros(1,250000);
    soc(1) = 100;
    delta = diff(1:250000);
    soc(2:end) = (soc(1:(end -1)) + P(2:end) .* delta) * 0.01;
    soc = cumsum(soc);

  31. #151

    نقل قول: هفتِ بیجار

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    این را امتحان کنید

    P = rand(1,250000);
    soc=zeros(1,250000);
    soc(1) = 100;
    delta = diff(1:250000);
    soc(2:end) = (soc(1:(end -1)) + P(2:end) .* delta) * 0.01;
    soc = cumsum(soc);
    مرسی. همونی شد که توی پست 146 گذاشتم.

  32. #152

    نقل قول: هفتِ بیجار

    سلام مهندس
    وقتت بخیر.
    ببخشید من یه حلقه دارم که هفت بار اجرا میشه و در هر مرحله (سطر) تعداد ستون های متفاوتی داره. بصورت تصویر زیر.
    من چطوری باید سلولش رو تعریف کنم؟ باید یه سلول 7 در 3 بشه. چون نهایتن تعداد ستونها به 3 میرسه.
    البته جای اون حروفها اعداد قرار میگیره.

  33. #153

    نقل قول: هفتِ بیجار

    سلام
    درست متوجه نشدم ولی مثلا در این مثال x چیزی هست که قراره در هر سطر جا داده بشه

    jadval = {};
    for i = 1 : 7
    jadval{i} = x;
    end

  34. #154

    نقل قول: هفتِ بیجار

    برنامه ی من 7 بار با حلقه for اجرا میشه.
    در حلقه اول، یه مقدار وجود داره که در سطر اول و ستون اول قرار میگیره. یعنی در سلول a
    در حلقه دوم و سوم هم همینطور جای b و c قرار میگیرن.
    در حلقه چهارم، دو مقدار بدست میاد که در سطر چهارم و ستونهای اول و سوم قرار میگیرن. یعنی جای d , e
    ...
    درحلقه هفتم، برای x سه مقدار داریم. یعنی یک بردار سه 1 در سه هست، که در سطر 7 و ستون یک تا سه قرار میگیره.
    اینو چطوری باید توی یک سلول و یا آرایه ذخیره کنم؟
    آرایه باشه بهتره. منظورم بصورت ماتریسی هست.

  35. #155

    نقل قول: هفتِ بیجار

    خب یک آرایه خالی به همین ابعاد 7 در 3 ایجاد کنید و در حلقه مقدار دهی کنید . الان من درست متوجه نمیشم

  36. #156

    نقل قول: هفتِ بیجار

    میخوام مقدار offer توی یک آرایه قرار بگیره. مثل شکلی که قرار دادم :

    alpha0=[.4,.52,.6];
    beta0=[1.2 1.2 1.2];
    lambda=1;
    D0=[5.3,3.6,1.3];
    m0=[1,1,1];
    k=.38;

    % % -----------------------------
    n=[1 2 3];
    for i=1:numel(n)
    S{i}=nchoosek(n,i);
    end
    % % -----------------------------
    Coalition=1;
    profit=[];
    jadval = zeros(7,3);
    for i=1:numel(S)
    for j=1:size(S{i},1)
    alpha=[];
    beta=[];

    for kk=1:size(S{i},2)
    alpha=[alpha ones(1,m0(S{i}(j,kk))).*alpha0(S{i}(j,kk))];
    end
    for kk=1:size(S{i},2)
    beta=[beta ones(1,m0(S{i}(j,kk))).*beta0(S{i}(j,kk))];
    end
    m=sum(m0(S{i}(j,:)));
    D=sum(D0(S{i}(j,:)));
    fun_MG0 = @(q,alpha,beta,k,D) -sum((2*alpha.*q+beta + k .*(D-sum(q))).*q -alpha.*(q).^2-beta.*q);
    fun_MG = @(q) fun_MG0(q,alpha,beta,k,D) ;
    lb=zeros(1,m); % LowerBound
    ub=ones(1,m); % UpperBound
    [x1, fx1]=fmincon(fun_MG,ones(1,m)*.99,[],[],[],[],lb,ub);
    profit(Coalition)=(-fx1);
    Coalition = Coalition + 1;
    fprintf('\n Emount of Energy :\n');
    disp(x1);
    fprintf('\n---------------------------------------\n');
    fprintf('\nOffer Without Saticfiction Function :\n');
    disp(2*alpha.*x1+ beta);
    fprintf('\n---------------------------------------\n');
    fprintf('\nOffer With Saticfiction Function :\n');
    offerr=2*alpha.*x1+ beta + k .*(D- sum(x1));
    disp(2*alpha.*x1+ beta + k .*(D- sum(x1)));
    fprintf('\n---------------------------------------\n');

    end
    end

  37. #157

    نقل قول: هفتِ بیجار

    فکر کنم اینجور بذارید درست می شه
    offer{i}(j) = 2*alpha.*x1+ beta + k .*(D- sum(x1));

  38. #158

    نقل قول: هفتِ بیجار

    ??? Subscripted assignment dimension mismatch.

    Error in ==> bbbbbbbb at 46
    offer{i}(j) = 2*alpha.*x1+ beta + k .*(D- sum(x1));

  39. #159

    نقل قول: هفتِ بیجار

    این یکی

    alpha0=[.4,.52,.6];
    beta0=[1.2 1.2 1.2];
    lambda=1;
    D0=[5.3,3.6,1.3];
    m0=[1,1,1];
    k=.38;

    % % -----------------------------
    n=[1 2 3];
    for i=1:numel(n)
    S{i}=nchoosek(n,i);
    end
    % % -----------------------------
    Coalition=1;
    profit=[];
    jadval = zeros(7,3);
    offer={};
    for i=1:numel(S)
    offerr_array=[];
    for j=1:size(S{i},1)
    alpha=[];
    beta=[];

    for kk=1:size(S{i},2)
    alpha=[alpha ones(1,m0(S{i}(j,kk))).*alpha0(S{i}(j,kk))];
    end
    for kk=1:size(S{i},2)
    beta=[beta ones(1,m0(S{i}(j,kk))).*beta0(S{i}(j,kk))];
    end
    m=sum(m0(S{i}(j,:)));
    D=sum(D0(S{i}(j,:)));
    fun_MG0 = @(q,alpha,beta,k,D) -sum((2*alpha.*q+beta + k .*(D-sum(q))).*q -alpha.*(q).^2-beta.*q);
    fun_MG = @(q) fun_MG0(q,alpha,beta,k,D) ;
    lb=zeros(1,m); % LowerBound
    ub=ones(1,m); % UpperBound
    [x1, fx1]=fmincon(fun_MG,ones(1,m)*.99,[],[],[],[],lb,ub);
    profit(Coalition)=(-fx1);
    Coalition = Coalition + 1;
    fprintf('\n Emount of Energy :\n');
    disp(x1);
    fprintf('\n---------------------------------------\n');
    fprintf('\nOffer Without Saticfiction Function :\n');
    disp(2*alpha.*x1+ beta);
    fprintf('\n---------------------------------------\n');
    fprintf('\nOffer With Saticfiction Function :\n');
    offerr_array(j)=2*alpha.*x1+ beta + k .*(D- sum(x1));
    disp(2*alpha.*x1+ beta + k .*(D- sum(x1)));
    fprintf('\n---------------------------------------\n');

    end
    offer{i} = offerr_array;
    end

  40. #160

    نقل قول: هفتِ بیجار

    ???  In an assignment  A(I) = B, the number of elements in B and
    I must be the same.

    Error in ==> aaaaaaaaaaaaa at 46
    offerr_array(j)=2*alpha.*x1+ beta + k .*(D- sum(x1));

صفحه 4 از 6 اولاول ... 23456 آخرآخر

قوانین ایجاد تاپیک در تالار

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