صفحه 6 از 6 اولاول ... 456
نمایش نتایج 201 تا 235 از 235

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

  1. #201

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

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    با سلام خدمت دوستان.
    من یه جدولی دارم که 10 ستون اول مقادیر پارامترها و دو ستون آخر توابع هزینه هستن.
    میخوام توابع هزینه رو با نمودار Pareto رسم کنم. و بهترین تابع هزینه مشخص بشه.
    کسی هست بتونه راهنماییم کنه؟
    کسی نیست کمکم کنه ؟؟؟

  2. #202

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

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    با سلام خدمت دوستان.
    من یه جدولی دارم که 10 ستون اول مقادیر پارامترها و دو ستون آخر توابع هزینه هستن.
    میخوام توابع هزینه رو با نمودار Pareto رسم کنم. و بهترین تابع هزینه مشخص بشه.
    کسی هست بتونه راهنماییم کنه؟
    سلام
    مشکل در وارد کردن داده هاست؟ یا رسم نمودار؟
    pareto(V)

    با استفاده از کد بالا میشه یک بردار رو به صورت نمودار ستونی رسم کرد.
    البته با این تعداد زیاد ستونی که مورد نظر شما هست این نمودار، خیلی شلوغ و نامنظم رسم خواهد شد.

  3. #203

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

    نقل قول نوشته شده توسط mb1372 مشاهده تاپیک
    سلام
    مشکل در وارد کردن داده هاست؟ یا رسم نمودار؟
    pareto(V)

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

  4. #204

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

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    سلام.
    مشکل در رسم نمودار هست.
    من فقط با دو ستون آخر کار دارم و بقیه استفاده نمیشه.
    من نمودار بصورت ستونی نمیخوام. میخوام نقاطی رو توی نمودار نشون بده که کمترین تابع هزینه رو دارن.
    بصورت زیر
    :
    منظورتون رو از کمترین تابع هزینه، متوجه نشدم. مثلا اگه دو ستون آخر فایل پیوست به صورت زیر باشه:
    2   3
    15 9
    -2 12
    45 21

    باید چه نقاطی در نمودار رسم بشه؟

  5. #205

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

    نقل قول نوشته شده توسط mb1372 مشاهده تاپیک
    منظورتون رو از کمترین تابع هزینه، متوجه نشدم. مثلا اگه دو ستون آخر فایل پیوست به صورت زیر باشه:
    2   3
    15 9
    -2 12
    45 21

    باید چه نقاطی در نمودار رسم بشه؟
    مثلا اگه همچین ستونی داشته باشیم که 100 تا سطر داشته باشه و بخوایم ده تا از زوج مرتب هایی که کمترین مقدار رو دارند رو رسم کنیم ، (2,3) یکی از اونها خواهد بود.
    مثلا ستون اول را در محور x ها و ستون دوم را در محور y ها رسم کنید.
    اگه همون فایل اکسل رو پلات کنید تصویر پایین رو خواهید داشت. ولی من فقط نقاطی که خودم با خط مشکی به هم وصل کردم رو میخوام.
    در ضمن ، همه اعداد مثبت هستن.

  6. #206

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

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    مثلا اگه همچین ستونی داشته باشیم که 100 تا سطر داشته باشه و بخوایم ده تا از زوج مرتب هایی که کمترین مقدار رو دارند رو رسم کنیم ، (2,3) یکی از اونها خواهد بود.
    مثلا ستون اول را در محور x ها و ستون دوم را در محور y ها رسم کنید.
    اگه همون فایل اکسل رو پلات کنید تصویر پایین رو خواهید داشت. ولی من فقط نقاطی که خودم با خط مشکی به هم وصل کردم رو میخوام.
    در ضمن ، همه اعداد مثبت هستن.
    چه مسئله جالبی!
    نتیجه سعی من کدهای زیر شد. دقیقا اون چیزی که رسم کردید در نمیاد ولی امیدوارم کارتون رو راه بندازه.
    تو این کدها روش کار به این صورته که ابتدا داده ها بر حسب مقدار x شون، مرتب میشن. داده ی اول و آخر رسم میشه. همچنین داده ای که دارای کمترین تابع هزینه ست رسم میشه. تا اینجا سه نقطه رسم شدن. از ابتدای بازه تا نقطه ی مینیمم بررسی میشه که آیا سایر نقاط زیر این خط (خط عبور کرده از نقطه اول و مینیمم) قرار گرفتند یا نه؟ و در صورتی که زیر خط باشن رسم میشه. این کار تا پوشش دادن تمام بازه اعداد تکرار میشه.
    در قسمت بعدی این کار برای نقطه ی مینیمم تا انتهای بازه تکرار میشه.

    کد اصلی (اعداد خودتون رو جایگزین کنید):
    clc
    clear
    close
    global Data


    Data=[1 4
    1.6 45
    8 12
    1.7 2
    2.2 31
    4 12
    5.5 6
    9 15
    2.4 1];
    Data=sortrows(Data);
    plot(Data(1,1),Data(1,2),'ro','markersize',8) % plot first point
    hold on
    min_inx_g=find(Data(:,2)==min(Data(:,2)));
    plot(Data(min_inx_g,1),Data(min_inx_g,2),'ro','mar kersize',8) % plot min point
    min_inx=min_inx_g;
    while 1
    if min_inx~=length(Data)
    [k is_upper]=plot_min_point(1,min_inx);
    if is_upper==1 % there are no points above the line.
    break
    end
    min_inx=k;
    else
    break
    end
    end
    plot(Data(end,1),Data(end,2),'ro','markersize',8) % plot end point
    min_inx=min_inx_g;
    while 1
    if min_inx~=length(Data)
    [k is_upper]=plot_min_point(min_inx,length(Data));
    if is_upper==1 % there are no points above the line.
    break
    end
    min_inx=k;
    else
    break
    end
    end
    plot(Data(:,1),Data(:,2),'b*')

    تابع:
    function [k is_upper]=plot_min_point(i,j)global Data
    is_upper=[];
    for k=j-1:-1:i+1
    if ~(Data(k,2)>Data(i,2)+(Data(j,2)-Data(i,2))/(Data(j,1)-Data(i,1))*(Data(k,1)-Data(i,1)))
    plot(Data(k,1),Data(k,2),'ro','markersize',8)
    if k==2
    is_upper=0;
    end
    break;
    else
    if k==2
    is_upper=1;
    end
    end
    end
    end

    نمودار خروجی برای داده های خودتون:
    http://www.sharefile.ir/uploads/1497905283.jpg

  7. #207

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

    نقل قول نوشته شده توسط mb1372 مشاهده تاپیک
    چه مسئله جالبی!
    نتیجه سعی من کدهای زیر شد. دقیقا اون چیزی که رسم کردید در نمیاد ولی امیدوارم کارتون رو راه بندازه.
    تو این کدها روش کار به این صورته که ابتدا داده ها بر حسب مقدار x شون، مرتب میشن. داده ی اول و آخر رسم میشه. همچنین داده ای که دارای کمترین تابع هزینه ست رسم میشه. تا اینجا سه نقطه رسم شدن. از ابتدای بازه تا نقطه ی مینیمم بررسی میشه که آیا سایر نقاط زیر این خط (خط عبور کرده از نقطه اول و مینیمم) قرار گرفتند یا نه؟ و در صورتی که زیر خط باشن رسم میشه. این کار تا پوشش دادن تمام بازه اعداد تکرار میشه.
    در قسمت بعدی این کار برای نقطه ی مینیمم تا انتهای بازه تکرار میشه.

    کد اصلی (اعداد خودتون رو جایگزین کنید):
    clc
    clear
    close
    global Data


    Data=[1 4
    1.6 45
    8 12
    1.7 2
    2.2 31
    4 12
    5.5 6
    9 15
    2.4 1];
    Data=sortrows(Data);
    plot(Data(1,1),Data(1,2),'ro','markersize',8) % plot first point
    hold on
    min_inx_g=find(Data(:,2)==min(Data(:,2)));
    plot(Data(min_inx_g,1),Data(min_inx_g,2),'ro','mar kersize',8) % plot min point
    min_inx=min_inx_g;
    while 1
    if min_inx~=length(Data)
    [k is_upper]=plot_min_point(1,min_inx);
    if is_upper==1 % there are no points above the line.
    break
    end
    min_inx=k;
    else
    break
    end
    end
    plot(Data(end,1),Data(end,2),'ro','markersize',8) % plot end point
    min_inx=min_inx_g;
    while 1
    if min_inx~=length(Data)
    [k is_upper]=plot_min_point(min_inx,length(Data));
    if is_upper==1 % there are no points above the line.
    break
    end
    min_inx=k;
    else
    break
    end
    end
    plot(Data(:,1),Data(:,2),'b*')

    تابع:
    function [k is_upper]=plot_min_point(i,j)global Data
    is_upper=[];
    for k=j-1:-1:i+1
    if ~(Data(k,2)>Data(i,2)+(Data(j,2)-Data(i,2))/(Data(j,1)-Data(i,1))*(Data(k,1)-Data(i,1)))
    plot(Data(k,1),Data(k,2),'ro','markersize',8)
    if k==2
    is_upper=0;
    end
    break;
    else
    if k==2
    is_upper=1;
    end
    end
    end
    end

    نمودار خروجی برای داده های خودتون:
    http://www.sharefile.ir/uploads/1497905283.jpg
    سلام دوست عزیز
    خیلی عالیه!
    تقزیبا همینو میخواستم.
    حالا نمیشه بقیه نقاط که مورد نظرمون نیست رو حذف کرد؟؟؟

    عکس های ضمیمه عکس های ضمیمه
    آخرین ویرایش به وسیله coronaa : سه شنبه 30 خرداد 1396 در 00:27 صبح

  8. #208

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

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    سلام دوست عزیز
    خیلی عالیه!
    تقزیبا همینو میخواستم.
    حالا نمیشه بقیه نقاط که مورد نظرمون نیست رو حذف کرد؟؟؟
    سلام
    یه متغیر global تعریف کنید و کد رو تغییر بدید. اونجاهایی که نقاط رسم میشه، به جای رسم نمودار، نقطه رو به عنوان درایه ی جدید توی متغیر ذخیره کنید. اخرش هم اون نقطه هایی رو که نمی خواید با دستور زیر حذف کنید:
    var(3,:)=[];

    در انتها با استفاده از این متغیر نمودار رو رسم کنید.

  9. #209

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

    این نقاطی که رسم شدن، برای دو ستون آخر هستن؟ من رسم میکنم بصورت زیر میشه :

  10. #210

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

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    این نقاطی که رسم شدن، برای دو ستون آخر هستن؟ من رسم میکنم بصورت زیر میشه :
    عکس باز نشد. ولی میتونم حدس بزنم مشکل کجاست. اعداد خیلی بزرگی در بین داده های بود (10 به توان 20!). نموداری که گذاشتم بزرگنمایی یک قسمت کوچک بود تا عملکرد کد بهتر دیده بشه. در واقع نموداری رو که گذاشتم میتونید با استفاده از دستور زیر (بعد از اجرای کد یا در خط اخر کد اصلی) یا با زوم کردن تولید کنید.
    axis([0 5 0 3])


    پ.ن: هفت بیجار یعنی چی؟ این تاپیک مخصوص سوالای خودتونه؟

  11. #211

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

    نقل قول نوشته شده توسط mb1372 مشاهده تاپیک
    سلام
    یه متغیر global تعریف کنید و کد رو تغییر بدید. اونجاهایی که نقاط رسم میشه، به جای رسم نمودار، نقطه رو به عنوان درایه ی جدید توی متغیر ذخیره کنید. اخرش هم اون نقطه هایی رو که نمی خواید با دستور زیر حذف کنید:
    var(3,:)=[];

    در انتها با استفاده از این متغیر نمودار رو رسم کنید.
    مهندس ببخشید. هنوز این قسمت رو نتونستم انجام بدم!
    الآن var همون متغیر global هست؟

  12. #212

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

    نقل قول نوشته شده توسط mb1372 مشاهده تاپیک
    عکس باز نشد. ولی میتونم حدس بزنم مشکل کجاست. اعداد خیلی بزرگی در بین داده های بود (10 به توان 20!). نموداری که گذاشتم بزرگنمایی یک قسمت کوچک بود تا عملکرد کد بهتر دیده بشه. در واقع نموداری رو که گذاشتم میتونید با استفاده از دستور زیر (بعد از اجرای کد یا در خط اخر کد اصلی) یا با زوم کردن تولید کنید.
    axis([0 5 0 3])


    پ.ن: هفت بیجار یعنی چی؟ این تاپیک مخصوص سوالای خودتونه؟
    دقیقا همین منظورم بود. درست شد.

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

  13. #213

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

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    مهندس ببخشید. هنوز این قسمت رو نتونستم انجام بدم!
    الآن var همون متغیر global هست؟
    آره. برای اینکه متغیر سراسری تعریف کنید دستور زیر رو در کد اصلی و کد تابع قرار بدید (بهتره قبل از مقداردهیش باشه):
    global var

    البته چون چند تا متغیر سراسری داریم میشه این جوری هم نوشتش:
    global var Data




    بعدش به جای اینکه نقطه اول رو رسم کنید (یا در کنار رسم نقطه ی اول) کد زیر رو اضافه کنید:
    var(1,:)=Data(1,:)

    یا در خط پنجم تابع (و همچنین در کنار رسم نقطه ی آخر)، کد زیر رو اضافه کنید:
    var(end+1,:)=Data(k,:)

  14. #214

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

    نقل قول نوشته شده توسط mb1372 مشاهده تاپیک
    آره. برای اینکه متغیر سراسری تعریف کنید دستور زیر رو در کد اصلی و کد تابع قرار بدید (بهتره قبل از مقداردهیش باشه):
    global var

    البته چون چند تا متغیر سراسری داریم میشه این جوری هم نوشتش:
    global var Data





    بعدش به جای اینکه نقطه اول رو رسم کنید (یا در کنار رسم نقطه ی اول) کد زیر رو اضافه کنید:
    var(1,:)=Data(1,:)

    یا در خط پنجم تابع (و همچنین در کنار رسم نقطه ی آخر)، کد زیر رو اضافه کنید:
    var(end+1,:)=Data(k,:)
    مهندس انجام دادم. نشد!
    توی خط 31 اضافه کردم.

    clc ;
    clear ;
    close all ;


    % global Data
    global var Data


    Data = xlsread('C:\Users\User\Desktop\Pareto Front\2\natayej1.xlsx',1);
    % save Data.mat
    % load('Data.mat');
    Data=sortrows(Data);
    plot(Data(1,1),Data(1,2),'ro','markersize',8) % plot first point
    hold on
    min_inx_g=find(Data(:,2)==min(Data(:,2)));
    plot(Data(min_inx_g,1),Data(min_inx_g,2),'ro','mar kersize',8) % plot min point
    min_inx=min_inx_g;
    while 1
    if min_inx~=length(Data)
    [k is_upper]=plot_min_point(1,min_inx);
    if is_upper==1 % there are no points above the line.
    break
    end
    min_inx=k;
    else
    break
    end
    end
    plot(Data(end,1),Data(end,2),'ro','markersize',8) % plot end point
    var(1,:)=Data(1,:)
    min_inx=min_inx_g;
    while 1
    if min_inx~=length(Data)
    [k is_upper]=plot_min_point(min_inx,length(Data));
    if is_upper==1 % there are no points above the line.
    break
    end
    min_inx=k;
    else
    break
    end
    end
    plot(Data(:,1),Data(:,2),'b*')
    axis([0 5 0 3])

  15. #215

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

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    مهندس انجام دادم. نشد!
    توی خط 31 اضافه کردم.
    تابع هم باید تغییر کنه. اندیس ها رو فک کنم اشتباه گذاشتید. منظورم این طوری بود:
    کد اصلی:
    clc
    clear
    close
    global Data var
    Data=[1 4
    1.6 45
    8 12
    1.7 2
    2.2 31
    4 12
    5.5 6
    9 15
    2.4 1];
    Data=sortrows(Data);
    plot(Data(1,1),Data(1,2),'ro','markersize',8) % plot first point
    hold on
    var(1,:)=Data(1,:);
    min_inx_g=find(Data(:,2)==min(Data(:,2)));
    plot(Data(min_inx_g,1),Data(min_inx_g,2),'ro','mar kersize',8) % plot min point
    var(end+1,:)=Data(min_inx_g,:);
    min_inx=min_inx_g;
    while 1
    if min_inx~=length(Data)
    [k is_upper]=plot_min_point(1,min_inx);
    if is_upper==1 % there are no points above the line.
    break
    end
    min_inx=k;
    else
    break
    end
    end
    plot(Data(end,1),Data(end,2),'ro','markersize',8) % plot end point
    min_inx=min_inx_g;
    var(end+1,:)=Data(end,:);
    while 1
    if min_inx~=length(Data)
    [k is_upper]=plot_min_point(min_inx,length(Data));
    if is_upper==1 % there are no points above the line.
    break
    end
    min_inx=k;
    else
    break
    end
    end
    plot(Data(:,1),Data(:,2),'b*')
    var=sortrows(var);
    % axis([0 5 0 3])

    تابع:
    function [k is_upper]=plot_min_point(i,j)
    global Data var
    is_upper=[];
    for k=j-1:-1:i+1
    if ~(Data(k,2)>Data(i,2)+(Data(j,2)-Data(i,2))/(Data(j,1)-Data(i,1))*(Data(k,1)-Data(i,1)))
    plot(Data(k,1),Data(k,2),'ro','markersize',8)
    var(end+1,:)=Data(k,:);
    if k==2
    is_upper=0;
    end
    break;
    else
    if k==2
    is_upper=1;
    end
    end
    end
    end

    البته برای داده های خودتون باید تغییرش بدید.

  16. #216

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

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    سلام
    کسی هست بتونه این رابطه رو توی متلب کد بزنه یا حداقل معادلش رو توی زبانهای دیگه بگه چطوریه؟

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    خطای قبلی رو هم برطرف کردم و کد جدید بصورت زیر شد:


    clc;
    clear;
    close all;


    alpha = 0.5;
    a = 0;
    k = 1;
    t = 10;
    h = 0.1;


    upper_band = round((t-a)/h);
    expr = (1./(h.^alpha))*symsum(((-1).^(k))*nchoosek(alpha,k)*f(t-k*h), k , 0 ,upper_band);




    f(t) = limit(expr,h,0)


    و الآن خطای جدید روی f هست.


    Undefined function 'f' for input arguments of type 'double'.


    Error in letnikov (line 12)
    expr = (1./(h.^alpha))*symsum(((-1).^(k))*nchoosek(alpha,k)*f(t-k*h), k , 0
    ,upper_band);
    مهندس سلام.
    میشه روی این معادله هم یه راهنمایی بکنید؟

  17. #217

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

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    مهندس سلام.
    میشه روی این معادله هم یه راهنمایی بکنید؟
    سلام
    تابع زیر ظاهرا بدون مشکل کار میکنه. فقط باید دامنه و ثابت ها رو درست انتخاب کرده باشید.
    function y=fun_fun(t)
    alpha = 101;
    a = 0;
    k = 1;
    h = 0.1;
    y=0;
    f=@(x) sin(x)
    for k=0:round((t-a)/h)
    y=y+(1./(h.^alpha))*((-1).^(k))*nchoosek(alpha,k)*f(t-k*h);
    end
    end

  18. #218

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

    نقل قول نوشته شده توسط mb1372 مشاهده تاپیک
    سلام
    تابع زیر ظاهرا بدون مشکل کار میکنه. فقط باید دامنه و ثابت ها رو درست انتخاب کرده باشید.
    function y=fun_fun(t)
    alpha = 101;
    a = 0;
    k = 1;
    h = 0.1;
    y=0;
    f=@(x) sin(x)
    for k=0:round((t-a)/h)
    y=y+(1./(h.^alpha))*((-1).^(k))*nchoosek(alpha,k)*f(t-k*h);
    end
    end
    آلفا نمیشه اعشاری باشه؟
    این معادله برای مبحث مرتبه کسری هست و آلفا معمولا یک عدد کسری و بین 0 تا 2 انتخاب میشه.

  19. #219

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

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    آلفا نمیشه اعشاری باشه؟
    این معادله برای مبحث مرتبه کسری هست و آلفا معمولا یک عدد کسری و بین 0 تا 2 انتخاب میشه.
    در مورد ثابت های این تابع نمیدونم. اما میدونم که کد
    nchoosek(alpha,k)

    فقط زمانی جواب میده که k کوچکتر از آلفا باشه (طبق تعریف ترکیب). اون مقدار از آلفا رو صرفا برای رهایی از خطا انتخاب کردم.
    مقدار ثابت ها رو از یک مرجع پیدا کنید.

  20. #220

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

    نقل قول نوشته شده توسط mb1372 مشاهده تاپیک
    تابع هم باید تغییر کنه. اندیس ها رو فک کنم اشتباه گذاشتید. منظورم این طوری بود:
    کد اصلی:
    clc
    clear
    close
    global Data var
    Data=[1 4
    1.6 45
    8 12
    1.7 2
    2.2 31
    4 12
    5.5 6
    9 15
    2.4 1];
    Data=sortrows(Data);
    plot(Data(1,1),Data(1,2),'ro','markersize',8) % plot first point
    hold on
    var(1,:)=Data(1,:);
    min_inx_g=find(Data(:,2)==min(Data(:,2)));
    plot(Data(min_inx_g,1),Data(min_inx_g,2),'ro','mar kersize',8) % plot min point
    var(end+1,:)=Data(min_inx_g,:);
    min_inx=min_inx_g;
    while 1
    if min_inx~=length(Data)
    [k is_upper]=plot_min_point(1,min_inx);
    if is_upper==1 % there are no points above the line.
    break
    end
    min_inx=k;
    else
    break
    end
    end
    plot(Data(end,1),Data(end,2),'ro','markersize',8) % plot end point
    min_inx=min_inx_g;
    var(end+1,:)=Data(end,:);
    while 1
    if min_inx~=length(Data)
    [k is_upper]=plot_min_point(min_inx,length(Data));
    if is_upper==1 % there are no points above the line.
    break
    end
    min_inx=k;
    else
    break
    end
    end
    plot(Data(:,1),Data(:,2),'b*')
    var=sortrows(var);
    % axis([0 5 0 3])

    تابع:
    function [k is_upper]=plot_min_point(i,j)
    global Data var
    is_upper=[];
    for k=j-1:-1:i+1
    if ~(Data(k,2)>Data(i,2)+(Data(j,2)-Data(i,2))/(Data(j,1)-Data(i,1))*(Data(k,1)-Data(i,1)))
    plot(Data(k,1),Data(k,2),'ro','markersize',8)
    var(end+1,:)=Data(k,:);
    if k==2
    is_upper=0;
    end
    break;
    else
    if k==2
    is_upper=1;
    end
    end
    end
    end

    البته برای داده های خودتون باید تغییرش بدید.
    مهندس سلام.
    ببخشید این کد مگه نقاط دو ستون آخر رو پلات نمیکنه؟؟؟
    پس چرا اون نقاط مرزی که با قرمز مشخص شده توی دو ستون آخر نیست؟
    داده هام رو با دو فرمت mat و xlsx در لینک زیر قرار دادم:

  21. #221

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

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    مهندس سلام.
    ببخشید این کد مگه نقاط دو ستون آخر رو پلات نمیکنه؟؟؟
    پس چرا اون نقاط مرزی که با قرمز مشخص شده توی دو ستون آخر نیست؟
    داده هام رو با دو فرمت mat و xlsx در لینک زیر قرار دادم:
    سلام
    اون کد، مینیمم داده های زیر رو رسم میکنه:
    Data=[1 4    1.6 45   8 12
    1.7 2
    2.2 31
    4 12
    5.5 6
    9 15
    2.4 1];

    همون تغییراتی که توی کد اول اعمال کردید، روی این هم اعمال کنید تا داده های خودتون رو رسم کنه. مثلا این خط:
    Data = xlsread('C:\Users\User\Desktop\Pareto Front\2\natayej1.xlsx',1);

    ضمنامتوجه نشدم منظورتون از نقاط مرزی رو کدومه ...

  22. #222

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

    منظورم همون نقاطی بود که با دایره قرمز مشخص میشه!
    منم همینکار رو کردم. یعنی داده های خودم رو قرار دادم.
    به صورت زیر پلات شد ولی نقاطش توی ستون end‌ و end-1 وجود نداره!


  23. #223

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

    یه سوال دیگه هم دارم اینه که چطوری میتونم یه ماتریسی که با فایل dat ذخیره شده رو به اکسل تبدیل کنم؟

    من با دستور زیر انجام میدم ولی خطا میده :


    xlswrite('natayej.xlsx',matt)
    لینک داده :
    http://www.sharefile.ir/uploads/1498708715.rar

  24. #224

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

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    منظورم همون نقاطی بود که با دایره قرمز مشخص میشه!
    منم همینکار رو کردم. یعنی داده های خودم رو قرار دادم.
    به صورت زیر پلات شد ولی نقاطش توی ستون end‌ و end-1 وجود نداره!
    مگه میشه؟؟! برای رسم نمودار از نقطه های فایلی که دادید استفاده شده. امکان نداره که نقطه ی جدیدی رسم بشه. مطمئنید توی لیست اعداد نیست؟

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

    من با دستور زیر انجام میدم ولی خطا میده :


    xlswrite('natayej.xlsx',matt)
    لینک داده :
    http://www.sharefile.ir/uploads/1498708715.rar
    اگه داده هاتون با فرمت mat ذخیره شده، میتونید با کد زیر اونو باز کنید:
    x=open('C:\temp\data.mat');


    و با کد زیر ذخیره کنید:
    xlswrite('natayej.xlsx',x.matt)

  25. #225

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

    میشه همین داده هایی که گذاشتم رو شما خودتون پلات کنید؟
    من دقیقا کاری انجام دادم که شما گفتید.
    آدرس دیتا خودم رو دادم کد رو اجرا کردم.

  26. #226

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

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    میشه همین داده هایی که گذاشتم رو شما خودتون پلات کنید؟
    من دقیقا کاری انجام دادم که شما گفتید.
    آدرس دیتا خودم رو دادم کد رو اجرا کردم.
    به نظرم مشکل از تکراری بودن ستون آخر در بین داده ها بود. این کد رو امتحان کنید:
    clc
    clear
    close
    global Data var
    Data1=xlsread('C:\Users\Mohsen\Desktop\natayej1.xl sx',1);
    Data=Data1(:,end-1:end);
    Data=sortrows(Data);
    plot(Data(1,1),Data(1,2),'ro','markersize',8) % plot first point
    hold on
    var=zeros(1,2);
    var(1,:)=Data(1,:);
    min_inx_g=max(find(Data(:,2)==min(Data(:,2))));
    plot(Data(min_inx_g,1),Data(min_inx_g,2),'ro','mar kersize',8) % plot min point
    var(end+1,:)=Data(min_inx_g,:);
    min_inx=min_inx_g;
    while 1
    if min_inx~=length(Data)
    [k is_upper]=plot_min_point(1,min_inx);
    if is_upper==1 % there are no points above the line.
    break
    end
    min_inx=k;
    else
    break
    end
    end
    plot(Data(end,1),Data(end,2),'ro','markersize',8) % plot end point
    min_inx=min_inx_g;
    var(end+1,:)=Data(end,:);
    while 1
    if min_inx~=length(Data)
    [k is_upper]=plot_min_point(min_inx,length(Data));
    if is_upper==1 % there are no points above the line.
    break
    end
    min_inx=k;
    else
    break
    end
    end
    plot(Data(:,1),Data(:,2),'b*')
    var=sortrows(var);
    % axis([0 5 0 3])

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

  27. #227

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

    سلام دوستان.
    ببخشید من یه ماتریس 10 در 10 دارم که میخوام اینو بین 0 تا 1 نرمالیزه کنم و بعد از انجام کارم دوباره اون رو به اعداد اصلی برگردونم.
    به چه صورتی باید کد زد؟

  28. #228

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

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    سلام دوستان.
    ببخشید من یه ماتریس 10 در 10 دارم که میخوام اینو بین 0 تا 1 نرمالیزه کنم و بعد از انجام کارم دوباره اون رو به اعداد اصلی برگردونم.
    به چه صورتی باید کد زد؟
    حل شد :)
    -------------------

  29. #229

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

    سلام دوست عزیز
    نمیدونم درست متوجه شدم یا نه؟ این کد رو ببینید:
    clc
    clear
    a=100*rand(10,10)
    m=max(max(a));
    a=a/m % normalized
    a=a*m % anormalized!


    پ.ن: حالا دیدم که حل شد :)

  30. #230

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

    نقل قول نوشته شده توسط mb1372 مشاهده تاپیک
    سلام دوست عزیز
    نمیدونم درست متوجه شدم یا نه؟ این کد رو ببینید:
    clc
    clear
    a=100*rand(10,10)
    m=max(max(a));
    a=a/m % normalized
    a=a*m % anormalized!


    پ.ن: حالا دیدم که حل شد :)
    سلام بر شما . بله درسته.
    منم از جای دیگه کد زیر رو گرفتم و استفاده کردم :


    a=100*rand(10,10)
    Ypred=a;
    NormRows = sqrt(sum(Ypred.*Ypred,2));
    Ynorm = bsxfun(@rdivide,abs(Ypred),NormRows);
    a=Ynorm;

  31. #231

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

    سلام.
    میخوام با متلب به وبکم دوربین دسترسی داشته باشم و در هر 10 ثانیه برای مدت یک دقیقه یه عکس بگیره و اون عکس رو به چهار قسمت (4 برش) تبدیل کنه.
    کسی هست کمکم کنه؟

  32. #232

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

    نقل قول نوشته شده توسط coronaa مشاهده تاپیک
    سلام.
    میخوام با متلب به وبکم دوربین دسترسی داشته باشم و در هر 10 ثانیه برای مدت یک دقیقه یه عکس بگیره و اون عکس رو به چهار قسمت (4 برش) تبدیل کنه.
    کسی هست کمکم کنه؟
    کسی نیست کمک کنه؟؟؟

  33. #233

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

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



    کدش رو بصورت زیر نوشتم ولی خطا میده!


    clc
    syms T(t)
    syms R
    syms U
    M=1 ; Cp=2 ; I=3 ; h=4 ; A=5; Tinf=25 ;


    % dsolve('DT=(1/M.Cp).*((I^2*R+I*T*U)-(h*A(T-Tinf)))','t')


    o = diff(T) == (1/(M.Cp)).*(((I.^2*R)+(I*T*U))-(h*A(T-Tinf)));
    T(t) = dsolve(o,'T(0)=1')


    خطا :

    Dot indexing is not supported for variables of this type.


    Error in diffffff (line 11)
    o = diff(T) == (1/(M.Cp)).*(((I.^2*R)+(I*T*U))-(h*A(T-Tinf)));

  34. #234

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

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



    کدش رو بصورت زیر نوشتم ولی خطا میده!


    clc
    syms T(t)
    syms R
    syms U
    M=1 ; Cp=2 ; I=3 ; h=4 ; A=5; Tinf=25 ;


    % dsolve('DT=(1/M.Cp).*((I^2*R+I*T*U)-(h*A(T-Tinf)))','t')


    o = diff(T) == (1/(M.Cp)).*(((I.^2*R)+(I*T*U))-(h*A(T-Tinf)));
    T(t) = dsolve(o,'T(0)=1')


    خطا :
    سلام

    ببینید جواب درست میده؟

    clc
    syms T(t)
    syms R
    syms U
    M=1 ; Cp=2 ; I=3 ; h=4 ; A=5; Tinf=25 ;

    % dsolve('DT=(1/M.Cp).*((I^2*R+I*T*U)-(h*A(T-Tinf)))','t')

    o = diff(T) == (1/(M.*Cp)).*(((I.^2*R)+(I*T*U))-(h*A.*(T-Tinf)));
    T(t) = dsolve(o,'T(0)=1')

  35. #235

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

    نقل قول نوشته شده توسط mb1372 مشاهده تاپیک
    سلام

    ببینید جواب درست میده؟

    clc
    syms T(t)
    syms R
    syms U
    M=1 ; Cp=2 ; I=3 ; h=4 ; A=5; Tinf=25 ;

    % dsolve('DT=(1/M.Cp).*((I^2*R+I*T*U)-(h*A(T-Tinf)))','t')

    o = diff(T) == (1/(M.*Cp)).*(((I.^2*R)+(I*T*U))-(h*A.*(T-Tinf)));
    T(t) = dsolve(o,'T(0)=1')
    سلام.
    بله جواب داد :)
    تشکر

صفحه 6 از 6 اولاول ... 456

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

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